Lines Matching refs:bridge

87 	struct vme_bridge *bridge;  in vme_alloc_consistent()  local
94 bridge = find_bridge(resource); in vme_alloc_consistent()
95 if (bridge == NULL) { in vme_alloc_consistent()
100 if (bridge->parent == NULL) { in vme_alloc_consistent()
101 printk(KERN_ERR "Dev entry NULL for bridge %s\n", bridge->name); in vme_alloc_consistent()
105 if (bridge->alloc_consistent == NULL) { in vme_alloc_consistent()
107 bridge->name); in vme_alloc_consistent()
111 return bridge->alloc_consistent(bridge->parent, size, dma); in vme_alloc_consistent()
121 struct vme_bridge *bridge; in vme_free_consistent() local
128 bridge = find_bridge(resource); in vme_free_consistent()
129 if (bridge == NULL) { in vme_free_consistent()
134 if (bridge->parent == NULL) { in vme_free_consistent()
135 printk(KERN_ERR "Dev entry NULL for bridge %s\n", bridge->name); in vme_free_consistent()
139 if (bridge->free_consistent == NULL) { in vme_free_consistent()
141 bridge->name); in vme_free_consistent()
145 bridge->free_consistent(bridge->parent, size, vaddr, dma); in vme_free_consistent()
266 struct vme_bridge *bridge; in vme_slave_request() local
272 bridge = vdev->bridge; in vme_slave_request()
273 if (bridge == NULL) { in vme_slave_request()
279 list_for_each(slave_pos, &bridge->slave_resources) { in vme_slave_request()
331 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_set() local
342 if (bridge->slave_set == NULL) { in vme_slave_set()
357 return bridge->slave_set(image, enabled, vme_base, size, buf_base, in vme_slave_set()
366 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_get() local
376 if (bridge->slave_get == NULL) { in vme_slave_get()
381 return bridge->slave_get(image, enabled, vme_base, size, buf_base, in vme_slave_get()
422 struct vme_bridge *bridge; in vme_master_request() local
428 bridge = vdev->bridge; in vme_master_request()
429 if (bridge == NULL) { in vme_master_request()
435 list_for_each(master_pos, &bridge->master_resources) { in vme_master_request()
490 struct vme_bridge *bridge = find_bridge(resource); in vme_master_set() local
501 if (bridge->master_set == NULL) { in vme_master_set()
517 return bridge->master_set(image, enabled, vme_base, size, aspace, in vme_master_set()
526 struct vme_bridge *bridge = find_bridge(resource); in vme_master_get() local
536 if (bridge->master_get == NULL) { in vme_master_get()
541 return bridge->master_get(image, enabled, vme_base, size, aspace, in vme_master_get()
552 struct vme_bridge *bridge = find_bridge(resource); in vme_master_read() local
556 if (bridge->master_read == NULL) { in vme_master_read()
578 return bridge->master_read(image, buf, count, offset); in vme_master_read()
589 struct vme_bridge *bridge = find_bridge(resource); in vme_master_write() local
593 if (bridge->master_write == NULL) { in vme_master_write()
615 return bridge->master_write(image, buf, count, offset); in vme_master_write()
625 struct vme_bridge *bridge = find_bridge(resource); in vme_master_rmw() local
628 if (bridge->master_rmw == NULL) { in vme_master_rmw()
640 return bridge->master_rmw(image, mask, compare, swap, offset); in vme_master_rmw()
705 struct vme_bridge *bridge; in vme_dma_request() local
714 bridge = vdev->bridge; in vme_dma_request()
715 if (bridge == NULL) { in vme_dma_request()
721 list_for_each(dma_pos, &bridge->dma_resources) { in vme_dma_request()
921 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_add() local
924 if (bridge->dma_list_add == NULL) { in vme_dma_list_add()
934 retval = bridge->dma_list_add(list, src, dest, count); in vme_dma_list_add()
944 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_exec() local
947 if (bridge->dma_list_exec == NULL) { in vme_dma_list_exec()
954 retval = bridge->dma_list_exec(list); in vme_dma_list_exec()
964 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_free() local
967 if (bridge->dma_list_empty == NULL) { in vme_dma_list_free()
981 retval = bridge->dma_list_empty(list); in vme_dma_list_free()
1026 void vme_bus_error_handler(struct vme_bridge *bridge, in vme_bus_error_handler() argument
1034 list_for_each(handler_pos, &bridge->vme_error_handlers) { in vme_bus_error_handler()
1049 dev_err(bridge->parent, in vme_bus_error_handler()
1056 struct vme_bridge *bridge, u32 aspace, in vme_register_error_handler() argument
1070 list_add_tail(&handler->list, &bridge->vme_error_handlers); in vme_register_error_handler()
1083 void vme_irq_handler(struct vme_bridge *bridge, int level, int statid) in vme_irq_handler() argument
1088 call = bridge->irq[level - 1].callback[statid].func; in vme_irq_handler()
1089 priv_data = bridge->irq[level - 1].callback[statid].priv_data; in vme_irq_handler()
1103 struct vme_bridge *bridge; in vme_irq_request() local
1105 bridge = vdev->bridge; in vme_irq_request()
1106 if (bridge == NULL) { in vme_irq_request()
1116 if (bridge->irq_set == NULL) { in vme_irq_request()
1121 mutex_lock(&bridge->irq_mtx); in vme_irq_request()
1123 if (bridge->irq[level - 1].callback[statid].func) { in vme_irq_request()
1124 mutex_unlock(&bridge->irq_mtx); in vme_irq_request()
1129 bridge->irq[level - 1].count++; in vme_irq_request()
1130 bridge->irq[level - 1].callback[statid].priv_data = priv_data; in vme_irq_request()
1131 bridge->irq[level - 1].callback[statid].func = callback; in vme_irq_request()
1134 bridge->irq_set(bridge, level, 1, 1); in vme_irq_request()
1136 mutex_unlock(&bridge->irq_mtx); in vme_irq_request()
1144 struct vme_bridge *bridge; in vme_irq_free() local
1146 bridge = vdev->bridge; in vme_irq_free()
1147 if (bridge == NULL) { in vme_irq_free()
1157 if (bridge->irq_set == NULL) { in vme_irq_free()
1162 mutex_lock(&bridge->irq_mtx); in vme_irq_free()
1164 bridge->irq[level - 1].count--; in vme_irq_free()
1167 if (bridge->irq[level - 1].count == 0) in vme_irq_free()
1168 bridge->irq_set(bridge, level, 0, 1); in vme_irq_free()
1170 bridge->irq[level - 1].callback[statid].func = NULL; in vme_irq_free()
1171 bridge->irq[level - 1].callback[statid].priv_data = NULL; in vme_irq_free()
1173 mutex_unlock(&bridge->irq_mtx); in vme_irq_free()
1179 struct vme_bridge *bridge; in vme_irq_generate() local
1181 bridge = vdev->bridge; in vme_irq_generate()
1182 if (bridge == NULL) { in vme_irq_generate()
1192 if (bridge->irq_generate == NULL) { in vme_irq_generate()
1197 return bridge->irq_generate(bridge, level, statid); in vme_irq_generate()
1206 struct vme_bridge *bridge; in vme_lm_request() local
1212 bridge = vdev->bridge; in vme_lm_request()
1213 if (bridge == NULL) { in vme_lm_request()
1219 list_for_each(lm_pos, &bridge->lm_resources) { in vme_lm_request()
1282 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_set() local
1292 if (bridge->lm_set == NULL) { in vme_lm_set()
1297 return bridge->lm_set(lm, lm_base, aspace, cycle); in vme_lm_set()
1304 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_get() local
1314 if (bridge->lm_get == NULL) { in vme_lm_get()
1319 return bridge->lm_get(lm, lm_base, aspace, cycle); in vme_lm_get()
1326 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_attach() local
1336 if (bridge->lm_attach == NULL) { in vme_lm_attach()
1341 return bridge->lm_attach(lm, monitor, callback); in vme_lm_attach()
1347 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_detach() local
1357 if (bridge->lm_detach == NULL) { in vme_lm_detach()
1362 return bridge->lm_detach(lm, monitor); in vme_lm_detach()
1394 struct vme_bridge *bridge; in vme_slot_num() local
1396 bridge = vdev->bridge; in vme_slot_num()
1397 if (bridge == NULL) { in vme_slot_num()
1402 if (bridge->slot_get == NULL) { in vme_slot_num()
1407 return bridge->slot_get(bridge); in vme_slot_num()
1413 struct vme_bridge *bridge; in vme_bus_num() local
1415 bridge = vdev->bridge; in vme_bus_num()
1416 if (bridge == NULL) { in vme_bus_num()
1421 return bridge->num; in vme_bus_num()
1432 int vme_register_bridge(struct vme_bridge *bridge) in vme_register_bridge() argument
1441 bridge->num = i; in vme_register_bridge()
1442 INIT_LIST_HEAD(&bridge->devices); in vme_register_bridge()
1443 list_add_tail(&bridge->bus_list, &vme_bus_list); in vme_register_bridge()
1454 void vme_unregister_bridge(struct vme_bridge *bridge) in vme_unregister_bridge() argument
1460 vme_bus_numbers &= ~(1 << bridge->num); in vme_unregister_bridge()
1461 list_for_each_entry_safe(vdev, tmp, &bridge->devices, bridge_list) { in vme_unregister_bridge()
1466 list_del(&bridge->bus_list); in vme_unregister_bridge()
1474 struct vme_bridge *bridge, unsigned int ndevs) in __vme_register_driver_bus() argument
1488 vdev->bridge = bridge; in __vme_register_driver_bus()
1491 vdev->dev.parent = bridge->parent; in __vme_register_driver_bus()
1493 dev_set_name(&vdev->dev, "%s.%u-%u", drv->name, bridge->num, in __vme_register_driver_bus()
1502 list_add_tail(&vdev->bridge_list, &bridge->devices); in __vme_register_driver_bus()
1522 struct vme_bridge *bridge; in __vme_register_driver() local
1526 list_for_each_entry(bridge, &vme_bus_list, bus_list) { in __vme_register_driver()
1534 err = __vme_register_driver_bus(drv, bridge, ndevs); in __vme_register_driver()