Lines Matching refs:image
477 static int tsi148_slave_set(struct vme_slave_resource *image, int enabled, in tsi148_slave_set() argument
490 tsi148_bridge = image->parent; in tsi148_slave_set()
493 i = image->number; in tsi148_slave_set()
622 static int tsi148_slave_get(struct vme_slave_resource *image, int *enabled, in tsi148_slave_get() argument
633 bridge = image->parent->driver_priv; in tsi148_slave_get()
635 i = image->number; in tsi148_slave_get()
722 static int tsi148_alloc_resource(struct vme_master_resource *image, in tsi148_alloc_resource() argument
730 tsi148_bridge = image->parent; in tsi148_alloc_resource()
734 existing_size = (unsigned long long)(image->bus_resource.end - in tsi148_alloc_resource()
735 image->bus_resource.start); in tsi148_alloc_resource()
742 iounmap(image->kern_base); in tsi148_alloc_resource()
743 image->kern_base = NULL; in tsi148_alloc_resource()
744 kfree(image->bus_resource.name); in tsi148_alloc_resource()
745 release_resource(&image->bus_resource); in tsi148_alloc_resource()
746 memset(&image->bus_resource, 0, sizeof(struct resource)); in tsi148_alloc_resource()
753 if (image->bus_resource.name == NULL) { in tsi148_alloc_resource()
754 image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_ATOMIC); in tsi148_alloc_resource()
755 if (image->bus_resource.name == NULL) { in tsi148_alloc_resource()
763 sprintf((char *)image->bus_resource.name, "%s.%d", tsi148_bridge->name, in tsi148_alloc_resource()
764 image->number); in tsi148_alloc_resource()
766 image->bus_resource.start = 0; in tsi148_alloc_resource()
767 image->bus_resource.end = (unsigned long)size; in tsi148_alloc_resource()
768 image->bus_resource.flags = IORESOURCE_MEM; in tsi148_alloc_resource()
771 &image->bus_resource, size, 0x10000, PCIBIOS_MIN_MEM, in tsi148_alloc_resource()
776 image->number, (unsigned long)size, in tsi148_alloc_resource()
777 (unsigned long)image->bus_resource.start); in tsi148_alloc_resource()
781 image->kern_base = ioremap_nocache( in tsi148_alloc_resource()
782 image->bus_resource.start, size); in tsi148_alloc_resource()
783 if (image->kern_base == NULL) { in tsi148_alloc_resource()
792 release_resource(&image->bus_resource); in tsi148_alloc_resource()
794 kfree(image->bus_resource.name); in tsi148_alloc_resource()
795 memset(&image->bus_resource, 0, sizeof(struct resource)); in tsi148_alloc_resource()
803 static void tsi148_free_resource(struct vme_master_resource *image) in tsi148_free_resource() argument
805 iounmap(image->kern_base); in tsi148_free_resource()
806 image->kern_base = NULL; in tsi148_free_resource()
807 release_resource(&image->bus_resource); in tsi148_free_resource()
808 kfree(image->bus_resource.name); in tsi148_free_resource()
809 memset(&image->bus_resource, 0, sizeof(struct resource)); in tsi148_free_resource()
815 static int tsi148_master_set(struct vme_master_resource *image, int enabled, in tsi148_master_set() argument
831 tsi148_bridge = image->parent; in tsi148_master_set()
852 spin_lock(&image->lock); in tsi148_master_set()
858 retval = tsi148_alloc_resource(image, size); in tsi148_master_set()
860 spin_unlock(&image->lock); in tsi148_master_set()
872 &image->bus_resource); in tsi148_master_set()
889 spin_unlock(&image->lock); in tsi148_master_set()
895 spin_unlock(&image->lock); in tsi148_master_set()
901 spin_unlock(&image->lock); in tsi148_master_set()
908 i = image->number; in tsi148_master_set()
965 spin_unlock(&image->lock); in tsi148_master_set()
1002 spin_unlock(&image->lock); in tsi148_master_set()
1039 spin_unlock(&image->lock); in tsi148_master_set()
1045 tsi148_free_resource(image); in tsi148_master_set()
1057 static int __tsi148_master_get(struct vme_master_resource *image, int *enabled, in __tsi148_master_get() argument
1069 bridge = image->parent->driver_priv; in __tsi148_master_get()
1071 i = image->number; in __tsi148_master_get()
1167 static int tsi148_master_get(struct vme_master_resource *image, int *enabled, in tsi148_master_get() argument
1173 spin_lock(&image->lock); in tsi148_master_get()
1175 retval = __tsi148_master_get(image, enabled, vme_base, size, aspace, in tsi148_master_get()
1178 spin_unlock(&image->lock); in tsi148_master_get()
1183 static ssize_t tsi148_master_read(struct vme_master_resource *image, void *buf, in tsi148_master_read() argument
1191 void __iomem *addr = image->kern_base + offset; in tsi148_master_read()
1195 tsi148_bridge = image->parent; in tsi148_master_read()
1197 spin_lock(&image->lock); in tsi148_master_read()
1200 __tsi148_master_get(image, &enabled, &vme_base, &size, &aspace, in tsi148_master_read()
1205 spin_unlock(&image->lock); in tsi148_master_read()
1255 dev_err(image->parent->parent, in tsi148_master_read()
1263 spin_unlock(&image->lock); in tsi148_master_read()
1269 static ssize_t tsi148_master_write(struct vme_master_resource *image, void *buf, in tsi148_master_write() argument
1275 void __iomem *addr = image->kern_base + offset; in tsi148_master_write()
1283 tsi148_bridge = image->parent; in tsi148_master_write()
1287 spin_lock(&image->lock); in tsi148_master_write()
1290 __tsi148_master_get(image, &enabled, &vme_base, &size, &aspace, in tsi148_master_write()
1295 spin_unlock(&image->lock); in tsi148_master_write()
1361 spin_unlock(&image->lock); in tsi148_master_write()
1371 static unsigned int tsi148_master_rmw(struct vme_master_resource *image, in tsi148_master_rmw() argument
1381 bridge = image->parent->driver_priv; in tsi148_master_rmw()
1384 i = image->number; in tsi148_master_rmw()
1390 spin_lock(&image->lock); in tsi148_master_rmw()
1413 result = ioread32be(image->kern_base + offset); in tsi148_master_rmw()
1420 spin_unlock(&image->lock); in tsi148_master_rmw()