Lines Matching refs:mport

107 int rio_request_inb_mbox(struct rio_mport *mport,  in rio_request_inb_mbox()  argument
111 void (*minb) (struct rio_mport * mport, void *dev_id, int mbox, in rio_request_inb_mbox()
117 if (mport->ops->open_inb_mbox == NULL) in rio_request_inb_mbox()
127 request_resource(&mport->riores[RIO_INB_MBOX_RESOURCE], in rio_request_inb_mbox()
133 mport->inb_msg[mbox].res = res; in rio_request_inb_mbox()
136 mport->inb_msg[mbox].mcback = minb; in rio_request_inb_mbox()
138 rc = mport->ops->open_inb_mbox(mport, dev_id, mbox, entries); in rio_request_inb_mbox()
154 int rio_release_inb_mbox(struct rio_mport *mport, int mbox) in rio_release_inb_mbox() argument
156 if (mport->ops->close_inb_mbox) { in rio_release_inb_mbox()
157 mport->ops->close_inb_mbox(mport, mbox); in rio_release_inb_mbox()
160 return release_resource(mport->inb_msg[mbox].res); in rio_release_inb_mbox()
176 int rio_request_outb_mbox(struct rio_mport *mport, in rio_request_outb_mbox() argument
180 void (*moutb) (struct rio_mport * mport, void *dev_id, int mbox, int slot)) in rio_request_outb_mbox()
185 if (mport->ops->open_outb_mbox == NULL) in rio_request_outb_mbox()
195 request_resource(&mport->riores[RIO_OUTB_MBOX_RESOURCE], in rio_request_outb_mbox()
201 mport->outb_msg[mbox].res = res; in rio_request_outb_mbox()
204 mport->outb_msg[mbox].mcback = moutb; in rio_request_outb_mbox()
206 rc = mport->ops->open_outb_mbox(mport, dev_id, mbox, entries); in rio_request_outb_mbox()
222 int rio_release_outb_mbox(struct rio_mport *mport, int mbox) in rio_release_outb_mbox() argument
224 if (mport->ops->close_outb_mbox) { in rio_release_outb_mbox()
225 mport->ops->close_outb_mbox(mport, mbox); in rio_release_outb_mbox()
228 return release_resource(mport->outb_msg[mbox].res); in rio_release_outb_mbox()
245 rio_setup_inb_dbell(struct rio_mport *mport, void *dev_id, struct resource *res, in rio_setup_inb_dbell() argument
246 void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, u16 dst, in rio_setup_inb_dbell()
261 list_add_tail(&dbell->node, &mport->dbells); in rio_setup_inb_dbell()
279 int rio_request_inb_dbell(struct rio_mport *mport, in rio_request_inb_dbell() argument
283 void (*dinb) (struct rio_mport * mport, void *dev_id, u16 src, in rio_request_inb_dbell()
295 request_resource(&mport->riores[RIO_DOORBELL_RESOURCE], in rio_request_inb_dbell()
302 rc = rio_setup_inb_dbell(mport, dev_id, res, dinb); in rio_request_inb_dbell()
320 int rio_release_inb_dbell(struct rio_mport *mport, u16 start, u16 end) in rio_release_inb_dbell() argument
325 list_for_each_entry(dbell, &mport->dbells, node) { in rio_release_inb_dbell()
454 int rio_map_inb_region(struct rio_mport *mport, dma_addr_t local, in rio_map_inb_region() argument
460 if (!mport->ops->map_inb) in rio_map_inb_region()
463 rc = mport->ops->map_inb(mport, local, rbase, size, rflags); in rio_map_inb_region()
474 void rio_unmap_inb_region(struct rio_mport *mport, dma_addr_t lstart) in rio_unmap_inb_region() argument
477 if (!mport->ops->unmap_inb) in rio_unmap_inb_region()
480 mport->ops->unmap_inb(mport, lstart); in rio_unmap_inb_region()
704 rio_mport_chk_dev_access(struct rio_mport *mport, u16 destid, u8 hopcount) in rio_mport_chk_dev_access() argument
709 while (rio_mport_read_config_32(mport, destid, hopcount, in rio_mport_chk_dev_access()
1184 rio_std_route_add_entry(struct rio_mport *mport, u16 destid, u8 hopcount, in rio_std_route_add_entry() argument
1188 rio_mport_write_config_32(mport, destid, hopcount, in rio_std_route_add_entry()
1191 rio_mport_write_config_32(mport, destid, hopcount, in rio_std_route_add_entry()
1212 rio_std_route_get_entry(struct rio_mport *mport, u16 destid, u8 hopcount, in rio_std_route_get_entry() argument
1218 rio_mport_write_config_32(mport, destid, hopcount, in rio_std_route_get_entry()
1220 rio_mport_read_config_32(mport, destid, hopcount, in rio_std_route_get_entry()
1238 rio_std_route_clr_table(struct rio_mport *mport, u16 destid, u8 hopcount, in rio_std_route_clr_table() argument
1246 rio_mport_read_config_32(mport, destid, hopcount, in rio_std_route_clr_table()
1249 if (mport->sys_size) { in rio_std_route_clr_table()
1250 rio_mport_read_config_32(mport, destid, hopcount, in rio_std_route_clr_table()
1266 rio_mport_write_config_32(mport, destid, hopcount, in rio_std_route_clr_table()
1269 rio_mport_write_config_32(mport, destid, hopcount, in rio_std_route_clr_table()
1512 struct rio_mport *mport = arg; in rio_chan_filter() local
1515 return mport == container_of(chan->device, struct rio_mport, dma); in rio_chan_filter()
1525 struct dma_chan *rio_request_mport_dma(struct rio_mport *mport) in rio_request_mport_dma() argument
1531 return dma_request_channel(mask, rio_chan_filter, mport); in rio_request_mport_dma()
1816 struct rio_mport *mport; member
1825 work->mport->id, work->mport->name); in disc_work_handler()
1826 if (try_module_get(work->mport->nscan->owner)) { in disc_work_handler()
1827 work->mport->nscan->discover(work->mport, 0); in disc_work_handler()
1828 module_put(work->mport->nscan->owner); in disc_work_handler()
1885 work[n].mport = port; in rio_init_mports()