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()
234 struct vme_bridge *bridge; in vme_slave_request() local
240 bridge = vdev->bridge; in vme_slave_request()
241 if (bridge == NULL) { in vme_slave_request()
247 list_for_each(slave_pos, &bridge->slave_resources) { in vme_slave_request()
299 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_set() local
310 if (bridge->slave_set == NULL) { in vme_slave_set()
325 return bridge->slave_set(image, enabled, vme_base, size, buf_base, in vme_slave_set()
334 struct vme_bridge *bridge = find_bridge(resource); in vme_slave_get() local
344 if (bridge->slave_get == NULL) { in vme_slave_get()
349 return bridge->slave_get(image, enabled, vme_base, size, buf_base, in vme_slave_get()
390 struct vme_bridge *bridge; in vme_master_request() local
396 bridge = vdev->bridge; in vme_master_request()
397 if (bridge == NULL) { in vme_master_request()
403 list_for_each(master_pos, &bridge->master_resources) { in vme_master_request()
458 struct vme_bridge *bridge = find_bridge(resource); in vme_master_set() local
469 if (bridge->master_set == NULL) { in vme_master_set()
485 return bridge->master_set(image, enabled, vme_base, size, aspace, in vme_master_set()
494 struct vme_bridge *bridge = find_bridge(resource); in vme_master_get() local
504 if (bridge->master_get == NULL) { in vme_master_get()
509 return bridge->master_get(image, enabled, vme_base, size, aspace, in vme_master_get()
520 struct vme_bridge *bridge = find_bridge(resource); in vme_master_read() local
524 if (bridge->master_read == NULL) { in vme_master_read()
546 return bridge->master_read(image, buf, count, offset); in vme_master_read()
557 struct vme_bridge *bridge = find_bridge(resource); in vme_master_write() local
561 if (bridge->master_write == NULL) { in vme_master_write()
583 return bridge->master_write(image, buf, count, offset); in vme_master_write()
593 struct vme_bridge *bridge = find_bridge(resource); in vme_master_rmw() local
596 if (bridge->master_rmw == NULL) { in vme_master_rmw()
608 return bridge->master_rmw(image, mask, compare, swap, offset); in vme_master_rmw()
673 struct vme_bridge *bridge; in vme_dma_request() local
682 bridge = vdev->bridge; in vme_dma_request()
683 if (bridge == NULL) { in vme_dma_request()
689 list_for_each(dma_pos, &bridge->dma_resources) { in vme_dma_request()
889 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_add() local
892 if (bridge->dma_list_add == NULL) { in vme_dma_list_add()
902 retval = bridge->dma_list_add(list, src, dest, count); in vme_dma_list_add()
912 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_exec() local
915 if (bridge->dma_list_exec == NULL) { in vme_dma_list_exec()
922 retval = bridge->dma_list_exec(list); in vme_dma_list_exec()
932 struct vme_bridge *bridge = list->parent->parent; in vme_dma_list_free() local
935 if (bridge->dma_list_empty == NULL) { in vme_dma_list_free()
949 retval = bridge->dma_list_empty(list); in vme_dma_list_free()
994 void vme_irq_handler(struct vme_bridge *bridge, int level, int statid) in vme_irq_handler() argument
999 call = bridge->irq[level - 1].callback[statid].func; in vme_irq_handler()
1000 priv_data = bridge->irq[level - 1].callback[statid].priv_data; in vme_irq_handler()
1014 struct vme_bridge *bridge; in vme_irq_request() local
1016 bridge = vdev->bridge; in vme_irq_request()
1017 if (bridge == NULL) { in vme_irq_request()
1027 if (bridge->irq_set == NULL) { in vme_irq_request()
1032 mutex_lock(&bridge->irq_mtx); in vme_irq_request()
1034 if (bridge->irq[level - 1].callback[statid].func) { in vme_irq_request()
1035 mutex_unlock(&bridge->irq_mtx); in vme_irq_request()
1040 bridge->irq[level - 1].count++; in vme_irq_request()
1041 bridge->irq[level - 1].callback[statid].priv_data = priv_data; in vme_irq_request()
1042 bridge->irq[level - 1].callback[statid].func = callback; in vme_irq_request()
1045 bridge->irq_set(bridge, level, 1, 1); in vme_irq_request()
1047 mutex_unlock(&bridge->irq_mtx); in vme_irq_request()
1055 struct vme_bridge *bridge; in vme_irq_free() local
1057 bridge = vdev->bridge; in vme_irq_free()
1058 if (bridge == NULL) { in vme_irq_free()
1068 if (bridge->irq_set == NULL) { in vme_irq_free()
1073 mutex_lock(&bridge->irq_mtx); in vme_irq_free()
1075 bridge->irq[level - 1].count--; in vme_irq_free()
1078 if (bridge->irq[level - 1].count == 0) in vme_irq_free()
1079 bridge->irq_set(bridge, level, 0, 1); in vme_irq_free()
1081 bridge->irq[level - 1].callback[statid].func = NULL; in vme_irq_free()
1082 bridge->irq[level - 1].callback[statid].priv_data = NULL; in vme_irq_free()
1084 mutex_unlock(&bridge->irq_mtx); in vme_irq_free()
1090 struct vme_bridge *bridge; in vme_irq_generate() local
1092 bridge = vdev->bridge; in vme_irq_generate()
1093 if (bridge == NULL) { in vme_irq_generate()
1103 if (bridge->irq_generate == NULL) { in vme_irq_generate()
1108 return bridge->irq_generate(bridge, level, statid); in vme_irq_generate()
1117 struct vme_bridge *bridge; in vme_lm_request() local
1123 bridge = vdev->bridge; in vme_lm_request()
1124 if (bridge == NULL) { in vme_lm_request()
1130 list_for_each(lm_pos, &bridge->lm_resources) { in vme_lm_request()
1193 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_set() local
1203 if (bridge->lm_set == NULL) { in vme_lm_set()
1208 return bridge->lm_set(lm, lm_base, aspace, cycle); in vme_lm_set()
1215 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_get() local
1225 if (bridge->lm_get == NULL) { in vme_lm_get()
1230 return bridge->lm_get(lm, lm_base, aspace, cycle); in vme_lm_get()
1237 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_attach() local
1247 if (bridge->lm_attach == NULL) { in vme_lm_attach()
1252 return bridge->lm_attach(lm, monitor, callback); in vme_lm_attach()
1258 struct vme_bridge *bridge = find_bridge(resource); in vme_lm_detach() local
1268 if (bridge->lm_detach == NULL) { in vme_lm_detach()
1273 return bridge->lm_detach(lm, monitor); in vme_lm_detach()
1305 struct vme_bridge *bridge; in vme_slot_num() local
1307 bridge = vdev->bridge; in vme_slot_num()
1308 if (bridge == NULL) { in vme_slot_num()
1313 if (bridge->slot_get == NULL) { in vme_slot_num()
1318 return bridge->slot_get(bridge); in vme_slot_num()
1324 struct vme_bridge *bridge; in vme_bus_num() local
1326 bridge = vdev->bridge; in vme_bus_num()
1327 if (bridge == NULL) { in vme_bus_num()
1332 return bridge->num; in vme_bus_num()
1343 int vme_register_bridge(struct vme_bridge *bridge) in vme_register_bridge() argument
1352 bridge->num = i; in vme_register_bridge()
1353 INIT_LIST_HEAD(&bridge->devices); in vme_register_bridge()
1354 list_add_tail(&bridge->bus_list, &vme_bus_list); in vme_register_bridge()
1365 void vme_unregister_bridge(struct vme_bridge *bridge) in vme_unregister_bridge() argument
1371 vme_bus_numbers &= ~(1 << bridge->num); in vme_unregister_bridge()
1372 list_for_each_entry_safe(vdev, tmp, &bridge->devices, bridge_list) { in vme_unregister_bridge()
1377 list_del(&bridge->bus_list); in vme_unregister_bridge()
1385 struct vme_bridge *bridge, unsigned int ndevs) in __vme_register_driver_bus() argument
1399 vdev->bridge = bridge; in __vme_register_driver_bus()
1402 vdev->dev.parent = bridge->parent; in __vme_register_driver_bus()
1404 dev_set_name(&vdev->dev, "%s.%u-%u", drv->name, bridge->num, in __vme_register_driver_bus()
1413 list_add_tail(&vdev->bridge_list, &bridge->devices); in __vme_register_driver_bus()
1433 struct vme_bridge *bridge; in __vme_register_driver() local
1437 list_for_each_entry(bridge, &vme_bus_list, bus_list) { in __vme_register_driver()
1445 err = __vme_register_driver_bus(drv, bridge, ndevs); in __vme_register_driver()