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) {
102 " bridge %s\n", bridge->name);
106 if (bridge->alloc_consistent == NULL) {
108 " bridge %s\n", bridge->name);
112 return bridge->alloc_consistent(bridge->parent, size, dma);
122 struct vme_bridge *bridge;
129 bridge = find_bridge(resource);
130 if (bridge == NULL) {
131 printk(KERN_ERR "Can't find bridge\n");
135 if (bridge->parent == NULL) {
137 " bridge %s\n", bridge->name);
141 if (bridge->free_consistent == NULL) {
143 " bridge %s\n", bridge->name);
147 bridge->free_consistent(bridge->parent, size, vaddr, dma);
236 struct vme_bridge *bridge;
242 bridge = vdev->bridge;
243 if (bridge == NULL) {
249 list_for_each(slave_pos, &bridge->slave_resources) {
301 struct vme_bridge *bridge = find_bridge(resource);
312 if (bridge->slave_set == NULL) {
327 return bridge->slave_set(image, enabled, vme_base, size, buf_base,
336 struct vme_bridge *bridge = find_bridge(resource);
346 if (bridge->slave_get == NULL) {
351 return bridge->slave_get(image, enabled, vme_base, size, buf_base,
392 struct vme_bridge *bridge;
398 bridge = vdev->bridge;
399 if (bridge == NULL) {
405 list_for_each(master_pos, &bridge->master_resources) {
460 struct vme_bridge *bridge = find_bridge(resource);
471 if (bridge->master_set == NULL) {
487 return bridge->master_set(image, enabled, vme_base, size, aspace,
496 struct vme_bridge *bridge = find_bridge(resource);
506 if (bridge->master_get == NULL) {
511 return bridge->master_get(image, enabled, vme_base, size, aspace,
522 struct vme_bridge *bridge = find_bridge(resource);
526 if (bridge->master_read == NULL) {
548 return bridge->master_read(image, buf, count, offset);
559 struct vme_bridge *bridge = find_bridge(resource);
563 if (bridge->master_write == NULL) {
585 return bridge->master_write(image, buf, count, offset);
595 struct vme_bridge *bridge = find_bridge(resource);
598 if (bridge->master_rmw == NULL) {
610 return bridge->master_rmw(image, mask, compare, swap, offset);
649 struct vme_bridge *bridge;
658 bridge = vdev->bridge;
659 if (bridge == NULL) {
665 list_for_each(dma_pos, &bridge->dma_resources) {
871 struct vme_bridge *bridge = list->parent->parent;
874 if (bridge->dma_list_add == NULL) {
884 retval = bridge->dma_list_add(list, src, dest, count);
894 struct vme_bridge *bridge = list->parent->parent;
897 if (bridge->dma_list_exec == NULL) {
904 retval = bridge->dma_list_exec(list);
914 struct vme_bridge *bridge = list->parent->parent;
917 if (bridge->dma_list_empty == NULL) {
931 retval = bridge->dma_list_empty(list);
974 void vme_irq_handler(struct vme_bridge *bridge, int level, int statid)
979 call = bridge->irq[level - 1].callback[statid].func;
980 priv_data = bridge->irq[level - 1].callback[statid].priv_data;
994 struct vme_bridge *bridge;
996 bridge = vdev->bridge;
997 if (bridge == NULL) {
1007 if (bridge->irq_set == NULL) {
1012 mutex_lock(&bridge->irq_mtx);
1014 if (bridge->irq[level - 1].callback[statid].func) {
1015 mutex_unlock(&bridge->irq_mtx);
1020 bridge->irq[level - 1].count++;
1021 bridge->irq[level - 1].callback[statid].priv_data = priv_data;
1022 bridge->irq[level - 1].callback[statid].func = callback;
1025 bridge->irq_set(bridge, level, 1, 1);
1027 mutex_unlock(&bridge->irq_mtx);
1035 struct vme_bridge *bridge;
1037 bridge = vdev->bridge;
1038 if (bridge == NULL) {
1048 if (bridge->irq_set == NULL) {
1053 mutex_lock(&bridge->irq_mtx);
1055 bridge->irq[level - 1].count--;
1058 if (bridge->irq[level - 1].count == 0)
1059 bridge->irq_set(bridge, level, 0, 1);
1061 bridge->irq[level - 1].callback[statid].func = NULL;
1062 bridge->irq[level - 1].callback[statid].priv_data = NULL;
1064 mutex_unlock(&bridge->irq_mtx);
1070 struct vme_bridge *bridge;
1072 bridge = vdev->bridge;
1073 if (bridge == NULL) {
1083 if (bridge->irq_generate == NULL) {
1088 return bridge->irq_generate(bridge, level, statid);
1097 struct vme_bridge *bridge;
1103 bridge = vdev->bridge;
1104 if (bridge == NULL) {
1110 list_for_each(lm_pos, &bridge->lm_resources) {
1174 struct vme_bridge *bridge = find_bridge(resource);
1184 if (bridge->lm_set == NULL) {
1189 return bridge->lm_set(lm, lm_base, aspace, cycle);
1196 struct vme_bridge *bridge = find_bridge(resource);
1206 if (bridge->lm_get == NULL) {
1211 return bridge->lm_get(lm, lm_base, aspace, cycle);
1218 struct vme_bridge *bridge = find_bridge(resource);
1228 if (bridge->lm_attach == NULL) {
1233 return bridge->lm_attach(lm, monitor, callback);
1239 struct vme_bridge *bridge = find_bridge(resource);
1249 if (bridge->lm_detach == NULL) {
1254 return bridge->lm_detach(lm, monitor);
1286 struct vme_bridge *bridge;
1288 bridge = vdev->bridge;
1289 if (bridge == NULL) {
1294 if (bridge->slot_get == NULL) {
1299 return bridge->slot_get(bridge);
1311 int vme_register_bridge(struct vme_bridge *bridge)
1320 bridge->num = i;
1321 INIT_LIST_HEAD(&bridge->devices);
1322 list_add_tail(&bridge->bus_list, &vme_bus_list);
1333 void vme_unregister_bridge(struct vme_bridge *bridge)
1339 vme_bus_numbers &= ~(1 << bridge->num);
1340 list_for_each_entry_safe(vdev, tmp, &bridge->devices, bridge_list) {
1345 list_del(&bridge->bus_list);
1353 struct vme_bridge *bridge, unsigned int ndevs)
1367 vdev->bridge = bridge;
1370 vdev->dev.parent = bridge->parent;
1372 dev_set_name(&vdev->dev, "%s.%u-%u", drv->name, bridge->num,
1381 list_add_tail(&vdev->bridge_list, &bridge->devices);
1400 struct vme_bridge *bridge;
1404 list_for_each_entry(bridge, &vme_bus_list, bus_list) {
1407 * and if the bridge is removed, it will have to go through
1409 * the bridge which in turn tries to acquire vme_buses_lock and
1412 err = __vme_register_driver_bus(drv, bridge, ndevs);
1521 MODULE_DESCRIPTION("VME bridge driver framework");