Lines Matching refs:image
555 static int tsi148_slave_set(struct vme_slave_resource *image, int enabled, in tsi148_slave_set() argument
568 tsi148_bridge = image->parent; in tsi148_slave_set()
571 i = image->number; in tsi148_slave_set()
700 static int tsi148_slave_get(struct vme_slave_resource *image, int *enabled, in tsi148_slave_get() argument
711 bridge = image->parent->driver_priv; in tsi148_slave_get()
713 i = image->number; in tsi148_slave_get()
800 static int tsi148_alloc_resource(struct vme_master_resource *image, in tsi148_alloc_resource() argument
808 tsi148_bridge = image->parent; in tsi148_alloc_resource()
812 existing_size = (unsigned long long)(image->bus_resource.end - in tsi148_alloc_resource()
813 image->bus_resource.start); in tsi148_alloc_resource()
820 iounmap(image->kern_base); in tsi148_alloc_resource()
821 image->kern_base = NULL; in tsi148_alloc_resource()
822 kfree(image->bus_resource.name); in tsi148_alloc_resource()
823 release_resource(&image->bus_resource); in tsi148_alloc_resource()
824 memset(&image->bus_resource, 0, sizeof(struct resource)); in tsi148_alloc_resource()
831 if (image->bus_resource.name == NULL) { in tsi148_alloc_resource()
832 image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_ATOMIC); in tsi148_alloc_resource()
833 if (image->bus_resource.name == NULL) { in tsi148_alloc_resource()
841 sprintf((char *)image->bus_resource.name, "%s.%d", tsi148_bridge->name, in tsi148_alloc_resource()
842 image->number); in tsi148_alloc_resource()
844 image->bus_resource.start = 0; in tsi148_alloc_resource()
845 image->bus_resource.end = (unsigned long)size; in tsi148_alloc_resource()
846 image->bus_resource.flags = IORESOURCE_MEM; in tsi148_alloc_resource()
849 &image->bus_resource, size, size, PCIBIOS_MIN_MEM, in tsi148_alloc_resource()
854 image->number, (unsigned long)size, in tsi148_alloc_resource()
855 (unsigned long)image->bus_resource.start); in tsi148_alloc_resource()
859 image->kern_base = ioremap_nocache( in tsi148_alloc_resource()
860 image->bus_resource.start, size); in tsi148_alloc_resource()
861 if (image->kern_base == NULL) { in tsi148_alloc_resource()
870 release_resource(&image->bus_resource); in tsi148_alloc_resource()
872 kfree(image->bus_resource.name); in tsi148_alloc_resource()
873 memset(&image->bus_resource, 0, sizeof(struct resource)); in tsi148_alloc_resource()
881 static void tsi148_free_resource(struct vme_master_resource *image) in tsi148_free_resource() argument
883 iounmap(image->kern_base); in tsi148_free_resource()
884 image->kern_base = NULL; in tsi148_free_resource()
885 release_resource(&image->bus_resource); in tsi148_free_resource()
886 kfree(image->bus_resource.name); in tsi148_free_resource()
887 memset(&image->bus_resource, 0, sizeof(struct resource)); in tsi148_free_resource()
893 static int tsi148_master_set(struct vme_master_resource *image, int enabled, in tsi148_master_set() argument
909 tsi148_bridge = image->parent; in tsi148_master_set()
930 spin_lock(&image->lock); in tsi148_master_set()
936 retval = tsi148_alloc_resource(image, size); in tsi148_master_set()
938 spin_unlock(&image->lock); in tsi148_master_set()
950 &image->bus_resource); in tsi148_master_set()
967 spin_unlock(&image->lock); in tsi148_master_set()
973 spin_unlock(&image->lock); in tsi148_master_set()
979 spin_unlock(&image->lock); in tsi148_master_set()
986 i = image->number; in tsi148_master_set()
1043 spin_unlock(&image->lock); in tsi148_master_set()
1080 spin_unlock(&image->lock); in tsi148_master_set()
1117 spin_unlock(&image->lock); in tsi148_master_set()
1123 tsi148_free_resource(image); in tsi148_master_set()
1135 static int __tsi148_master_get(struct vme_master_resource *image, int *enabled, in __tsi148_master_get() argument
1147 bridge = image->parent->driver_priv; in __tsi148_master_get()
1149 i = image->number; in __tsi148_master_get()
1245 static int tsi148_master_get(struct vme_master_resource *image, int *enabled, in tsi148_master_get() argument
1251 spin_lock(&image->lock); in tsi148_master_get()
1253 retval = __tsi148_master_get(image, enabled, vme_base, size, aspace, in tsi148_master_get()
1256 spin_unlock(&image->lock); in tsi148_master_get()
1261 static ssize_t tsi148_master_read(struct vme_master_resource *image, void *buf, in tsi148_master_read() argument
1269 void __iomem *addr = image->kern_base + offset; in tsi148_master_read()
1273 tsi148_bridge = image->parent; in tsi148_master_read()
1275 spin_lock(&image->lock); in tsi148_master_read()
1323 __tsi148_master_get(image, &enabled, &vme_base, &size, &aspace, &cycle, in tsi148_master_read()
1329 dev_err(image->parent->parent, "First VME read error detected " in tsi148_master_read()
1338 spin_unlock(&image->lock); in tsi148_master_read()
1344 static ssize_t tsi148_master_write(struct vme_master_resource *image, void *buf, in tsi148_master_write() argument
1350 void __iomem *addr = image->kern_base + offset; in tsi148_master_write()
1358 tsi148_bridge = image->parent; in tsi148_master_write()
1362 spin_lock(&image->lock); in tsi148_master_write()
1420 __tsi148_master_get(image, &enabled, &vme_base, &size, &aspace, &cycle, in tsi148_master_write()
1437 spin_unlock(&image->lock); in tsi148_master_write()
1447 static unsigned int tsi148_master_rmw(struct vme_master_resource *image, in tsi148_master_rmw() argument
1457 bridge = image->parent->driver_priv; in tsi148_master_rmw()
1460 i = image->number; in tsi148_master_rmw()
1466 spin_lock(&image->lock); in tsi148_master_rmw()
1489 result = ioread32be(image->kern_base + offset); in tsi148_master_rmw()
1496 spin_unlock(&image->lock); in tsi148_master_rmw()