Lines Matching refs:bridge
93 struct vme_bridge *bridge; in vme_alloc_consistent() local
100 bridge = find_bridge(resource); in vme_alloc_consistent()
101 if (!bridge) { in vme_alloc_consistent()
106 if (!bridge->parent) { in vme_alloc_consistent()
107 printk(KERN_ERR "Dev entry NULL for bridge %s\n", bridge->name); in vme_alloc_consistent()
111 if (!bridge->alloc_consistent) { in vme_alloc_consistent()
113 bridge->name); in vme_alloc_consistent()
117 return bridge->alloc_consistent(bridge->parent, size, dma); in vme_alloc_consistent()
133 struct vme_bridge *bridge; in vme_free_consistent() local
140 bridge = find_bridge(resource); in vme_free_consistent()
141 if (!bridge) { in vme_free_consistent()
146 if (!bridge->parent) { in vme_free_consistent()
147 printk(KERN_ERR "Dev entry NULL for bridge %s\n", bridge->name); in vme_free_consistent()
151 if (!bridge->free_consistent) { in vme_free_consistent()
153 bridge->name); in vme_free_consistent()
157 bridge->free_consistent(bridge->parent, size, vaddr, dma); in vme_free_consistent()
297 struct vme_bridge *bridge; in vme_slave_request() local
303 bridge = vdev->bridge; in vme_slave_request()
304 if (!bridge) { in vme_slave_request()
310 list_for_each(slave_pos, &bridge->slave_resources) { in vme_slave_request()
378 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_set() local
389 if (!bridge->slave_set) { in vme_slave_set()
404 return bridge->slave_set(image, enabled, vme_base, size, buf_base, in vme_slave_set()
428 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_get() local
438 if (!bridge->slave_get) { in vme_slave_get()
443 return bridge->slave_get(image, enabled, vme_base, size, buf_base, in vme_slave_get()
498 struct vme_bridge *bridge; in vme_master_request() local
504 bridge = vdev->bridge; in vme_master_request()
505 if (!bridge) { in vme_master_request()
511 list_for_each(master_pos, &bridge->master_resources) { in vme_master_request()
582 struct vme_bridge *bridge = find_bridge(resource); in vme_master_set() local
593 if (!bridge->master_set) { in vme_master_set()
609 return bridge->master_set(image, enabled, vme_base, size, aspace, in vme_master_set()
633 struct vme_bridge *bridge = find_bridge(resource); in vme_master_get() local
643 if (!bridge->master_get) { in vme_master_get()
648 return bridge->master_get(image, enabled, vme_base, size, aspace, in vme_master_get()
671 struct vme_bridge *bridge = find_bridge(resource); in vme_master_read() local
675 if (!bridge->master_read) { in vme_master_read()
697 return bridge->master_read(image, buf, count, offset); in vme_master_read()
720 struct vme_bridge *bridge = find_bridge(resource); in vme_master_write() local
724 if (!bridge->master_write) { in vme_master_write()
746 return bridge->master_write(image, buf, count, offset); in vme_master_write()
772 struct vme_bridge *bridge = find_bridge(resource); in vme_master_rmw() local
775 if (!bridge->master_rmw) { in vme_master_rmw()
787 return bridge->master_rmw(image, mask, compare, swap, offset); in vme_master_rmw()
875 struct vme_bridge *bridge; in vme_dma_request() local
884 bridge = vdev->bridge; in vme_dma_request()
885 if (!bridge) { in vme_dma_request()
891 list_for_each(dma_pos, &bridge->dma_resources) { in vme_dma_request()
1125 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_add() local
1128 if (!bridge->dma_list_add) { in vme_dma_list_add()
1138 retval = bridge->dma_list_add(list, src, dest, count); in vme_dma_list_add()
1158 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_exec() local
1161 if (!bridge->dma_list_exec) { in vme_dma_list_exec()
1168 retval = bridge->dma_list_exec(list); in vme_dma_list_exec()
1187 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_free() local
1190 if (!bridge->dma_list_empty) { in vme_dma_list_free()
1204 retval = bridge->dma_list_empty(list); in vme_dma_list_free()
1258 void vme_bus_error_handler(struct vme_bridge *bridge, in vme_bus_error_handler() argument
1266 list_for_each(handler_pos, &bridge->vme_error_handlers) { in vme_bus_error_handler()
1281 dev_err(bridge->parent, in vme_bus_error_handler()
1288 struct vme_bridge *bridge, u32 aspace, in vme_register_error_handler() argument
1302 list_add_tail(&handler->list, &bridge->vme_error_handlers); in vme_register_error_handler()
1315 void vme_irq_handler(struct vme_bridge *bridge, int level, int statid) in vme_irq_handler() argument
1320 call = bridge->irq[level - 1].callback[statid].func; in vme_irq_handler()
1321 priv_data = bridge->irq[level - 1].callback[statid].priv_data; in vme_irq_handler()
1350 struct vme_bridge *bridge; in vme_irq_request() local
1352 bridge = vdev->bridge; in vme_irq_request()
1353 if (!bridge) { in vme_irq_request()
1363 if (!bridge->irq_set) { in vme_irq_request()
1368 mutex_lock(&bridge->irq_mtx); in vme_irq_request()
1370 if (bridge->irq[level - 1].callback[statid].func) { in vme_irq_request()
1371 mutex_unlock(&bridge->irq_mtx); in vme_irq_request()
1376 bridge->irq[level - 1].count++; in vme_irq_request()
1377 bridge->irq[level - 1].callback[statid].priv_data = priv_data; in vme_irq_request()
1378 bridge->irq[level - 1].callback[statid].func = callback; in vme_irq_request()
1381 bridge->irq_set(bridge, level, 1, 1); in vme_irq_request()
1383 mutex_unlock(&bridge->irq_mtx); in vme_irq_request()
1399 struct vme_bridge *bridge; in vme_irq_free() local
1401 bridge = vdev->bridge; in vme_irq_free()
1402 if (!bridge) { in vme_irq_free()
1412 if (!bridge->irq_set) { in vme_irq_free()
1417 mutex_lock(&bridge->irq_mtx); in vme_irq_free()
1419 bridge->irq[level - 1].count--; in vme_irq_free()
1422 if (bridge->irq[level - 1].count == 0) in vme_irq_free()
1423 bridge->irq_set(bridge, level, 0, 1); in vme_irq_free()
1425 bridge->irq[level - 1].callback[statid].func = NULL; in vme_irq_free()
1426 bridge->irq[level - 1].callback[statid].priv_data = NULL; in vme_irq_free()
1428 mutex_unlock(&bridge->irq_mtx); in vme_irq_free()
1446 struct vme_bridge *bridge; in vme_irq_generate() local
1448 bridge = vdev->bridge; in vme_irq_generate()
1449 if (!bridge) { in vme_irq_generate()
1459 if (!bridge->irq_generate) { in vme_irq_generate()
1464 return bridge->irq_generate(bridge, level, statid); in vme_irq_generate()
1480 struct vme_bridge *bridge; in vme_lm_request() local
1486 bridge = vdev->bridge; in vme_lm_request()
1487 if (!bridge) { in vme_lm_request()
1493 list_for_each(lm_pos, &bridge->lm_resources) { in vme_lm_request()
1579 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_set() local
1589 if (!bridge->lm_set) { in vme_lm_set()
1594 return bridge->lm_set(lm, lm_base, aspace, cycle); in vme_lm_set()
1615 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_get() local
1625 if (!bridge->lm_get) { in vme_lm_get()
1630 return bridge->lm_get(lm, lm_base, aspace, cycle); in vme_lm_get()
1652 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_attach() local
1662 if (!bridge->lm_attach) { in vme_lm_attach()
1667 return bridge->lm_attach(lm, monitor, callback, data); in vme_lm_attach()
1685 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_detach() local
1695 if (!bridge->lm_detach) { in vme_lm_detach()
1700 return bridge->lm_detach(lm, monitor); in vme_lm_detach()
1754 struct vme_bridge *bridge; in vme_slot_num() local
1756 bridge = vdev->bridge; in vme_slot_num()
1757 if (!bridge) { in vme_slot_num()
1762 if (!bridge->slot_get) { in vme_slot_num()
1767 return bridge->slot_get(bridge); in vme_slot_num()
1782 struct vme_bridge *bridge; in vme_bus_num() local
1784 bridge = vdev->bridge; in vme_bus_num()
1785 if (!bridge) { in vme_bus_num()
1790 return bridge->num; in vme_bus_num()
1802 struct vme_bridge *vme_init_bridge(struct vme_bridge *bridge) in vme_init_bridge() argument
1804 INIT_LIST_HEAD(&bridge->vme_error_handlers); in vme_init_bridge()
1805 INIT_LIST_HEAD(&bridge->master_resources); in vme_init_bridge()
1806 INIT_LIST_HEAD(&bridge->slave_resources); in vme_init_bridge()
1807 INIT_LIST_HEAD(&bridge->dma_resources); in vme_init_bridge()
1808 INIT_LIST_HEAD(&bridge->lm_resources); in vme_init_bridge()
1809 mutex_init(&bridge->irq_mtx); in vme_init_bridge()
1811 return bridge; in vme_init_bridge()
1815 int vme_register_bridge(struct vme_bridge *bridge) in vme_register_bridge() argument
1824 bridge->num = i; in vme_register_bridge()
1825 INIT_LIST_HEAD(&bridge->devices); in vme_register_bridge()
1826 list_add_tail(&bridge->bus_list, &vme_bus_list); in vme_register_bridge()
1837 void vme_unregister_bridge(struct vme_bridge *bridge) in vme_unregister_bridge() argument
1843 vme_bus_numbers &= ~(1 << bridge->num); in vme_unregister_bridge()
1844 list_for_each_entry_safe(vdev, tmp, &bridge->devices, bridge_list) { in vme_unregister_bridge()
1849 list_del(&bridge->bus_list); in vme_unregister_bridge()
1857 struct vme_bridge *bridge, unsigned int ndevs) in __vme_register_driver_bus() argument
1871 vdev->bridge = bridge; in __vme_register_driver_bus()
1874 vdev->dev.parent = bridge->parent; in __vme_register_driver_bus()
1876 dev_set_name(&vdev->dev, "%s.%u-%u", drv->name, bridge->num, in __vme_register_driver_bus()
1885 list_add_tail(&vdev->bridge_list, &bridge->devices); in __vme_register_driver_bus()
1905 struct vme_bridge *bridge; in __vme_register_driver() local
1909 list_for_each_entry(bridge, &vme_bus_list, bus_list) { in __vme_register_driver()
1917 err = __vme_register_driver_bus(drv, bridge, ndevs); in __vme_register_driver()