Lines Matching refs:bridge

51  * Find the bridge that the resource is associated with.
87 struct vme_bridge *bridge;
94 bridge = find_bridge(resource);
95 if (bridge == NULL) {
96 printk(KERN_ERR "Can't find bridge\n");
100 if (bridge->parent == NULL) {
101 printk(KERN_ERR "Dev entry NULL for bridge %s\n", bridge->name);
105 if (bridge->alloc_consistent == NULL) {
106 printk(KERN_ERR "alloc_consistent not supported by bridge %s\n",
107 bridge->name);
111 return bridge->alloc_consistent(bridge->parent, size, dma);
121 struct vme_bridge *bridge;
128 bridge = find_bridge(resource);
129 if (bridge == NULL) {
130 printk(KERN_ERR "Can't find bridge\n");
134 if (bridge->parent == NULL) {
135 printk(KERN_ERR "Dev entry NULL for bridge %s\n", bridge->name);
139 if (bridge->free_consistent == NULL) {
140 printk(KERN_ERR "free_consistent not supported by bridge %s\n",
141 bridge->name);
145 bridge->free_consistent(bridge->parent, size, vaddr, dma);
234 struct vme_bridge *bridge;
240 bridge = vdev->bridge;
241 if (bridge == NULL) {
247 list_for_each(slave_pos, &bridge->slave_resources) {
299 struct vme_bridge *bridge = find_bridge(resource);
310 if (bridge->slave_set == NULL) {
325 return bridge->slave_set(image, enabled, vme_base, size, buf_base,
334 struct vme_bridge *bridge = find_bridge(resource);
344 if (bridge->slave_get == NULL) {
349 return bridge->slave_get(image, enabled, vme_base, size, buf_base,
390 struct vme_bridge *bridge;
396 bridge = vdev->bridge;
397 if (bridge == NULL) {
403 list_for_each(master_pos, &bridge->master_resources) {
458 struct vme_bridge *bridge = find_bridge(resource);
469 if (bridge->master_set == NULL) {
485 return bridge->master_set(image, enabled, vme_base, size, aspace,
494 struct vme_bridge *bridge = find_bridge(resource);
504 if (bridge->master_get == NULL) {
509 return bridge->master_get(image, enabled, vme_base, size, aspace,
520 struct vme_bridge *bridge = find_bridge(resource);
524 if (bridge->master_read == NULL) {
546 return bridge->master_read(image, buf, count, offset);
557 struct vme_bridge *bridge = find_bridge(resource);
561 if (bridge->master_write == NULL) {
583 return bridge->master_write(image, buf, count, offset);
593 struct vme_bridge *bridge = find_bridge(resource);
596 if (bridge->master_rmw == NULL) {
608 return bridge->master_rmw(image, mask, compare, swap, offset);
647 struct vme_bridge *bridge;
656 bridge = vdev->bridge;
657 if (bridge == NULL) {
663 list_for_each(dma_pos, &bridge->dma_resources) {
863 struct vme_bridge *bridge = list->parent->parent;
866 if (bridge->dma_list_add == NULL) {
876 retval = bridge->dma_list_add(list, src, dest, count);
886 struct vme_bridge *bridge = list->parent->parent;
889 if (bridge->dma_list_exec == NULL) {
896 retval = bridge->dma_list_exec(list);
906 struct vme_bridge *bridge = list->parent->parent;
909 if (bridge->dma_list_empty == NULL) {
923 retval = bridge->dma_list_empty(list);
968 void vme_irq_handler(struct vme_bridge *bridge, int level, int statid)
973 call = bridge->irq[level - 1].callback[statid].func;
974 priv_data = bridge->irq[level - 1].callback[statid].priv_data;
988 struct vme_bridge *bridge;
990 bridge = vdev->bridge;
991 if (bridge == NULL) {
1001 if (bridge->irq_set == NULL) {
1006 mutex_lock(&bridge->irq_mtx);
1008 if (bridge->irq[level - 1].callback[statid].func) {
1009 mutex_unlock(&bridge->irq_mtx);
1014 bridge->irq[level - 1].count++;
1015 bridge->irq[level - 1].callback[statid].priv_data = priv_data;
1016 bridge->irq[level - 1].callback[statid].func = callback;
1019 bridge->irq_set(bridge, level, 1, 1);
1021 mutex_unlock(&bridge->irq_mtx);
1029 struct vme_bridge *bridge;
1031 bridge = vdev->bridge;
1032 if (bridge == NULL) {
1042 if (bridge->irq_set == NULL) {
1047 mutex_lock(&bridge->irq_mtx);
1049 bridge->irq[level - 1].count--;
1052 if (bridge->irq[level - 1].count == 0)
1053 bridge->irq_set(bridge, level, 0, 1);
1055 bridge->irq[level - 1].callback[statid].func = NULL;
1056 bridge->irq[level - 1].callback[statid].priv_data = NULL;
1058 mutex_unlock(&bridge->irq_mtx);
1064 struct vme_bridge *bridge;
1066 bridge = vdev->bridge;
1067 if (bridge == NULL) {
1077 if (bridge->irq_generate == NULL) {
1082 return bridge->irq_generate(bridge, level, statid);
1091 struct vme_bridge *bridge;
1097 bridge = vdev->bridge;
1098 if (bridge == NULL) {
1104 list_for_each(lm_pos, &bridge->lm_resources) {
1167 struct vme_bridge *bridge = find_bridge(resource);
1177 if (bridge->lm_set == NULL) {
1182 return bridge->lm_set(lm, lm_base, aspace, cycle);
1189 struct vme_bridge *bridge = find_bridge(resource);
1199 if (bridge->lm_get == NULL) {
1204 return bridge->lm_get(lm, lm_base, aspace, cycle);
1211 struct vme_bridge *bridge = find_bridge(resource);
1221 if (bridge->lm_attach == NULL) {
1226 return bridge->lm_attach(lm, monitor, callback);
1232 struct vme_bridge *bridge = find_bridge(resource);
1242 if (bridge->lm_detach == NULL) {
1247 return bridge->lm_detach(lm, monitor);
1279 struct vme_bridge *bridge;
1281 bridge = vdev->bridge;
1282 if (bridge == NULL) {
1287 if (bridge->slot_get == NULL) {
1292 return bridge->slot_get(bridge);
1298 struct vme_bridge *bridge;
1300 bridge = vdev->bridge;
1301 if (bridge == NULL) {
1306 return bridge->num;
1317 int vme_register_bridge(struct vme_bridge *bridge)
1326 bridge->num = i;
1327 INIT_LIST_HEAD(&bridge->devices);
1328 list_add_tail(&bridge->bus_list, &vme_bus_list);
1339 void vme_unregister_bridge(struct vme_bridge *bridge)
1345 vme_bus_numbers &= ~(1 << bridge->num);
1346 list_for_each_entry_safe(vdev, tmp, &bridge->devices, bridge_list) {
1351 list_del(&bridge->bus_list);
1359 struct vme_bridge *bridge, unsigned int ndevs)
1373 vdev->bridge = bridge;
1376 vdev->dev.parent = bridge->parent;
1378 dev_set_name(&vdev->dev, "%s.%u-%u", drv->name, bridge->num,
1387 list_add_tail(&vdev->bridge_list, &bridge->devices);
1407 struct vme_bridge *bridge;
1411 list_for_each_entry(bridge, &vme_bus_list, bus_list) {
1414 * and if the bridge is removed, it will have to go through
1416 * the bridge which in turn tries to acquire vme_buses_lock and
1419 err = __vme_register_driver_bus(drv, bridge, ndevs);