Lines Matching refs:mport
147 struct rio_mport *mport; member
243 struct rio_mport *mport = priv->md->mport; in rio_mport_maint_rd() local
266 ret = __rio_local_read_config_32(mport, in rio_mport_maint_rd()
269 ret = rio_mport_read_config_32(mport, maint_io.rioid, in rio_mport_maint_rd()
288 struct rio_mport *mport = priv->md->mport; in rio_mport_maint_wr() local
319 ret = __rio_local_write_config_32(mport, in rio_mport_maint_wr()
322 ret = rio_mport_write_config_32(mport, maint_io.rioid, in rio_mport_maint_wr()
345 struct rio_mport *mport = md->mport; in rio_mport_create_outbound_mapping() local
355 ret = rio_map_outb_region(mport, rioid, raddr, size, 0, paddr); in rio_mport_create_outbound_mapping()
448 if (!md->mport->ops->unmap_outb) in rio_mport_obw_free()
485 md->mport->host_deviceid = hdid; in maint_hdid_set()
487 rio_local_set_device_id(md->mport, hdid); in maint_hdid_set()
507 rio_local_write_config_32(md->mport, RIO_COMPONENT_TAG_CSR, comptag); in maint_comptag_set()
637 priv->dmach = rio_request_mport_dma(priv->md->mport); in get_dma_channel()
1077 map->virt_addr = dma_alloc_coherent(md->mport->dev.parent, size, in rio_mport_create_dma_mapping()
1185 struct rio_mport *mport = md->mport; in rio_mport_create_inbound_mapping() local
1197 map->virt_addr = dma_alloc_coherent(mport->dev.parent, size, in rio_mport_create_inbound_mapping()
1206 ret = rio_map_inb_region(mport, map->phys_addr, raddr, (u32)size, 0); in rio_mport_create_inbound_mapping()
1223 dma_free_coherent(mport->dev.parent, size, in rio_mport_create_inbound_mapping()
1273 if (!md->mport->ops->map_inb) in rio_mport_map_inbound()
1316 if (!md->mport->ops->unmap_inb) in rio_mport_inbound_free()
1345 u32 port_idx = md->mport->index; in maint_port_idx_get()
1379 static void rio_mport_doorbell_handler(struct rio_mport *mport, void *dev_id, in rio_mport_doorbell_handler() argument
1427 ret = rio_request_inb_dbell(md->mport, md, filter.low, filter.high, in rio_mport_add_db_filter()
1437 rio_release_inb_dbell(md->mport, filter.low, filter.high); in rio_mport_add_db_filter()
1485 rio_release_inb_dbell(priv->md->mport, filter.low, filter.high); in rio_mport_remove_db_filter()
1499 static int rio_mport_pw_handler(struct rio_mport *mport, void *context, in rio_mport_pw_handler() argument
1525 mport->id, msg->em.comptag); in rio_mport_pw_handler()
1559 ret = rio_add_mport_pw_handler(md->mport, md, in rio_mport_add_pw_filter()
1567 rio_pw_enable(md->mport, 1); in rio_mport_add_pw_filter()
1615 rio_del_mport_pw_handler(md->mport, priv->md, in rio_mport_remove_pw_filter()
1617 rio_pw_enable(md->mport, 0); in rio_mport_remove_pw_filter()
1665 struct rio_mport *mport; in rio_mport_add_riodev() local
1689 mport = md->mport; in rio_mport_add_riodev()
1693 if (rio_mport_read_config_32(mport, destid, hopcount, in rio_mport_add_riodev()
1698 rio_mport_read_config_32(mport, destid, hopcount, in rio_mport_add_riodev()
1707 if (mport->net == NULL) { in rio_mport_add_riodev()
1710 net = rio_alloc_net(mport); in rio_mport_add_riodev()
1717 net->id = mport->id; in rio_mport_add_riodev()
1718 net->hport = mport; in rio_mport_add_riodev()
1720 net->dev.parent = &mport->dev; in rio_mport_add_riodev()
1726 mport->net = NULL; in rio_mport_add_riodev()
1731 rdev->net = mport->net; in rio_mport_add_riodev()
1734 rio_mport_read_config_32(mport, destid, hopcount, in rio_mport_add_riodev()
1738 rio_mport_read_config_32(mport, destid, hopcount, RIO_DEV_INFO_CAR, in rio_mport_add_riodev()
1740 rio_mport_read_config_32(mport, destid, hopcount, RIO_ASM_ID_CAR, in rio_mport_add_riodev()
1744 rio_mport_read_config_32(mport, destid, hopcount, RIO_ASM_INFO_CAR, in rio_mport_add_riodev()
1750 rdev->phys_efptr = rio_mport_get_physefb(mport, 0, destid, in rio_mport_add_riodev()
1753 rdev->em_efptr = rio_mport_get_feature(mport, 0, destid, in rio_mport_add_riodev()
1757 rio_mport_read_config_32(mport, destid, hopcount, RIO_SRC_OPS_CAR, in rio_mport_add_riodev()
1759 rio_mport_read_config_32(mport, destid, hopcount, RIO_DST_OPS_CAR, in rio_mport_add_riodev()
1775 dev_set_name(&rdev->dev, "%02x:s:%04x", mport->id, in rio_mport_add_riodev()
1778 dev_set_name(&rdev->dev, "%02x:e:%04x", mport->id, in rio_mport_add_riodev()
1782 rdev->dev.parent = &mport->net->dev; in rio_mport_add_riodev()
1808 struct rio_mport *mport; in rio_mport_del_riodev() local
1815 mport = priv->md->mport; in rio_mport_del_riodev()
1826 if (rdev && rdev->dev.parent == &mport->net->dev && in rio_mport_del_riodev()
1847 mport->net = NULL; in rio_mport_del_riodev()
2075 md->properties.hdid = md->mport->host_deviceid; in mport_cdev_ioctl()
2133 struct rio_mport *mport = map->md->mport; in mport_release_mapping() local
2137 &map->phys_addr, mport->name); in mport_release_mapping()
2143 rio_unmap_inb_region(mport, map->phys_addr); in mport_release_mapping()
2146 dma_free_coherent(mport->dev.parent, map->size, in mport_release_mapping()
2150 rio_unmap_outb_region(mport, map->rioid, map->rio_addr); in mport_release_mapping()
2217 ret = dma_mmap_coherent(md->mport->dev.parent, vma, in mport_cdev_mmap()
2286 struct rio_mport *mport = priv->md->mport; in mport_write() local
2304 ret = rio_mport_send_doorbell(mport, in mport_write()
2346 static struct mport_dev *mport_cdev_add(struct rio_mport *mport) in mport_cdev_add() argument
2358 md->mport = mport; in mport_cdev_add()
2364 md->dev.devt = MKDEV(MAJOR(dev_number), mport->id); in mport_cdev_add()
2366 md->dev.parent = &mport->dev; in mport_cdev_add()
2368 dev_set_name(&md->dev, DEV_NAME "%d", mport->id); in mport_cdev_add()
2380 md->properties.id = mport->id; in mport_cdev_add()
2381 md->properties.sys_size = mport->sys_size; in mport_cdev_add()
2382 md->properties.hdid = mport->host_deviceid; in mport_cdev_add()
2383 md->properties.index = mport->index; in mport_cdev_add()
2397 mport->id, ret); in mport_cdev_add()
2400 ret = rio_query_mport(mport, &attr); in mport_cdev_add()
2413 mport->name, MAJOR(dev_number), mport->id); in mport_cdev_add()
2420 mport->name, MAJOR(dev_number), mport->id); in mport_cdev_add()
2485 rmcd_debug(EXIT, "Remove %s cdev", md->mport->name); in mport_cdev_remove()
2488 rio_del_mport_pw_handler(md->mport, md, rio_mport_pw_handler); in mport_cdev_remove()
2508 md->mport->name); in mport_cdev_remove()
2510 rio_release_inb_dbell(md->mport, 0, 0x0fff); in mport_cdev_remove()
2525 struct rio_mport *mport = NULL; in mport_add_mport() local
2528 mport = to_rio_mport(dev); in mport_add_mport()
2529 if (!mport) in mport_add_mport()
2532 chdev = mport_cdev_add(mport); in mport_add_mport()
2545 struct rio_mport *mport = NULL; in mport_remove_mport() local
2549 mport = to_rio_mport(dev); in mport_remove_mport()
2550 rmcd_debug(EXIT, "Remove %s", mport->name); in mport_remove_mport()
2554 if (chdev->mport->id == mport->id) { in mport_remove_mport()