Lines Matching defs:mport

3  * RapidIO mport character device
54 DBG_MPORT = BIT(2), /* mport add/remove */
86 MODULE_DESCRIPTION("RapidIO mport character device driver");
145 * mport_dev driver-specific structure that represents mport device
146 * @active mport device status flag
150 * @mport associated subsystem's master port device object
153 * @file_list - list of open files on given mport
154 * @properties properties of this mport
167 struct rio_mport *mport;
220 * md_node node in mport device's list
263 struct rio_mport *mport = priv->md->mport;
286 ret = __rio_local_read_config_32(mport,
289 ret = rio_mport_read_config_32(mport, maint_io.rioid,
308 struct rio_mport *mport = priv->md->mport;
339 ret = __rio_local_write_config_32(mport,
342 ret = rio_mport_write_config_32(mport, maint_io.rioid,
365 struct rio_mport *mport = md->mport;
375 ret = rio_map_outb_region(mport, rioid, raddr, size, 0, paddr);
468 if (!md->mport->ops->unmap_outb)
505 md->mport->host_deviceid = hdid;
507 rio_local_set_device_id(md->mport, hdid);
527 rio_local_write_config_32(md->mport, RIO_COMPONENT_TAG_CSR, comptag);
648 /* Request DMA channel associated with this mport device.
650 * mport. If a new DMA channel is not available use default channel
651 * which is the first DMA channel opened on mport device.
657 priv->dmach = rio_request_mport_dma(priv->md->mport);
1097 map->virt_addr = dma_alloc_coherent(md->mport->dev.parent, size,
1205 struct rio_mport *mport = md->mport;
1217 map->virt_addr = dma_alloc_coherent(mport->dev.parent, size,
1226 ret = rio_map_inb_region(mport, map->phys_addr, raddr, (u32)size, 0);
1243 dma_free_coherent(mport->dev.parent, size,
1293 if (!md->mport->ops->map_inb)
1336 if (!md->mport->ops->unmap_inb)
1358 * maint_port_idx_get() - Get the port index of the mport instance
1365 u32 port_idx = md->mport->index;
1399 static void rio_mport_doorbell_handler(struct rio_mport *mport, void *dev_id,
1447 ret = rio_request_inb_dbell(md->mport, md, filter.low, filter.high,
1457 rio_release_inb_dbell(md->mport, filter.low, filter.high);
1505 rio_release_inb_dbell(priv->md->mport, filter.low, filter.high);
1519 static int rio_mport_pw_handler(struct rio_mport *mport, void *context,
1544 ": mport%d received spurious PW from 0x%08x\n",
1545 mport->id, msg->em.comptag);
1579 ret = rio_add_mport_pw_handler(md->mport, md,
1587 rio_pw_enable(md->mport, 1);
1635 rio_del_mport_pw_handler(md->mport, priv->md,
1637 rio_pw_enable(md->mport, 0);
1685 struct rio_mport *mport;
1709 mport = md->mport;
1713 if (rio_mport_read_config_32(mport, destid, hopcount,
1718 rio_mport_read_config_32(mport, destid, hopcount,
1727 if (mport->net == NULL) {
1730 net = rio_alloc_net(mport);
1737 net->id = mport->id;
1738 net->hport = mport;
1740 net->dev.parent = &mport->dev;
1750 rdev->net = mport->net;
1753 rio_mport_read_config_32(mport, destid, hopcount,
1757 rio_mport_read_config_32(mport, destid, hopcount, RIO_DEV_INFO_CAR,
1759 rio_mport_read_config_32(mport, destid, hopcount, RIO_ASM_ID_CAR,
1763 rio_mport_read_config_32(mport, destid, hopcount, RIO_ASM_INFO_CAR,
1769 rdev->phys_efptr = rio_mport_get_physefb(mport, 0, destid,
1772 rdev->em_efptr = rio_mport_get_feature(mport, 0, destid,
1776 rio_mport_read_config_32(mport, destid, hopcount, RIO_SRC_OPS_CAR,
1778 rio_mport_read_config_32(mport, destid, hopcount, RIO_DST_OPS_CAR,
1794 dev_set_name(&rdev->dev, "%02x:s:%04x", mport->id,
1797 dev_set_name(&rdev->dev, "%02x:e:%04x", mport->id,
1801 rdev->dev.parent = &mport->net->dev;
1827 struct rio_mport *mport;
1834 mport = priv->md->mport;
1845 if (rdev && rdev->dev.parent == &mport->net->dev &&
1866 mport->net = NULL;
1877 * mport_cdev_open() - Open character device (mport)
2094 md->properties.hdid = md->mport->host_deviceid;
2152 struct rio_mport *mport = map->md->mport;
2156 &map->phys_addr, mport->name);
2162 rio_unmap_inb_region(mport, map->phys_addr);
2165 dma_free_coherent(mport->dev.parent, map->size,
2169 rio_unmap_outb_region(mport, map->rioid, map->rio_addr);
2236 ret = dma_mmap_coherent(md->mport->dev.parent, vma,
2305 struct rio_mport *mport = priv->md->mport;
2323 ret = rio_mport_send_doorbell(mport,
2363 * @mport: RapidIO master port
2365 static struct mport_dev *mport_cdev_add(struct rio_mport *mport)
2377 md->mport = mport;
2383 md->dev.devt = MKDEV(MAJOR(dev_number), mport->id);
2385 md->dev.parent = &mport->dev;
2387 dev_set_name(&md->dev, DEV_NAME "%d", mport->id);
2399 md->properties.id = mport->id;
2400 md->properties.sys_size = mport->sys_size;
2401 md->properties.hdid = mport->host_deviceid;
2402 md->properties.index = mport->index;
2404 /* The transfer_mode property will be returned through mport query
2415 rmcd_error("Failed to register mport %d (err=%d)",
2416 mport->id, ret);
2419 ret = rio_query_mport(mport, &attr);
2432 mport->name, MAJOR(dev_number), mport->id);
2439 mport->name, MAJOR(dev_number), mport->id);
2497 * mport_cdev_remove() - Remove mport character device
2504 rmcd_debug(EXIT, "Remove %s cdev", md->mport->name);
2507 rio_del_mport_pw_handler(md->mport, md, rio_mport_pw_handler);
2516 * Release DMA buffers allocated for the mport device.
2527 md->mport->name);
2529 rio_release_inb_dbell(md->mport, 0, 0x0fff);
2544 struct rio_mport *mport = NULL;
2547 mport = to_rio_mport(dev);
2548 if (!mport)
2551 chdev = mport_cdev_add(mport);
2564 struct rio_mport *mport = NULL;
2568 mport = to_rio_mport(dev);
2569 rmcd_debug(EXIT, "Remove %s", mport->name);
2573 if (chdev->mport->id == mport->id) {
2586 /* the rio_mport_interface is used to handle local mport devices */