Lines Matching +full:host +full:- +full:controller

1 /* SPDX-License-Identifier: GPL-2.0 */
9 #include <linux/dma-direction.h>
15 * struct mhi_ep_channel_config - Channel configuration structure for controller
29 * struct mhi_ep_cntrl_config - MHI Endpoint controller configuration
30 * @mhi_version: MHI spec version supported by the controller
43 * struct mhi_ep_db_info - MHI Endpoint doorbell info
53 * struct mhi_ep_cntrl - MHI Endpoint controller structure
55 * Endpoint controller
56 * @mhi_dev: MHI Endpoint device instance for the controller
62 * @ch_ctx_cache: Cache of host channel context data structure
63 * @ev_ctx_cache: Cache of host event context data structure
64 * @cmd_ctx_cache: Cache of host command context data structure
65 * @ch_ctx_host_pa: Physical address of host channel context data structure
66 * @ev_ctx_host_pa: Physical address of host event context data structure
67 * @cmd_ctx_host_pa: Physical address of host command context data structure
68 * @ch_ctx_cache_phys: Physical address of the host channel context cache
69 * @ev_ctx_cache_phys: Physical address of the host event context cache
70 * @cmd_ctx_cache_phys: Physical address of the host command context cache
82 * @raise_irq: CB function for raising IRQ to the host
83 * @alloc_map: CB function for allocating memory in endpoint for storing host context and mapping it
84 …* @unmap_free: CB function to unmap and free the allocated memory in endpoint for storing host con…
85 * @read_from_host: CB function for reading from host memory from endpoint
86 * @write_to_host: CB function for writing to host memory from endpoint
88 * @max_chan: Maximum channels supported by the endpoint controller
89 * @mru: MRU (Maximum Receive Unit) value of the endpoint controller
90 * @event_rings: Number of event rings supported by the endpoint controller
91 * @hw_event_rings: Number of hardware event rings supported by the endpoint controller
92 * @chdb_offset: Channel doorbell offset set by the host
93 * @erdb_offset: Event ring doorbell offset set by the host
94 * @index: MHI Endpoint controller index
95 * @irq: IRQ used by the endpoint controller
96 * @enabled: Check if the endpoint controller is enabled or not
154 * struct mhi_ep_device - Structure representing an MHI Endpoint device that binds
157 * @mhi_cntrl: Controller the device belongs to
160 * @ul_chan: UL (from host to endpoint) channel for the device
161 * @dl_chan: DL (from endpoint to host) channel for the device
175 * struct mhi_ep_driver - Structure representing a MHI Endpoint client driver
180 * @ul_xfer_cb: CB function for UL (from host to endpoint) data transfer
181 * @dl_xfer_cb: CB function for DL (from endpoint to host) data transfer
199 * module_mhi_ep_driver() - Helper macro for drivers that don't do
215 * __mhi_ep_driver_register - Register a driver with MHI Endpoint bus
224 * mhi_ep_driver_unregister - Unregister a driver from MHI Endpoint bus
230 * mhi_ep_register_controller - Register MHI Endpoint controller
231 * @mhi_cntrl: MHI Endpoint controller to register
232 * @config: Configuration to use for the controller
234 * Return: 0 if controller registrations succeeds, a negative error code otherwise.
240 * mhi_ep_unregister_controller - Unregister MHI Endpoint controller
241 * @mhi_cntrl: MHI Endpoint controller to unregister
246 * mhi_ep_power_up - Power up the MHI endpoint stack
247 * @mhi_cntrl: MHI Endpoint controller
254 * mhi_ep_power_down - Power down the MHI endpoint stack
255 * @mhi_cntrl: MHI controller
260 * mhi_ep_queue_is_empty - Determine whether the transfer queue is empty
269 * mhi_ep_queue_skb - Send SKBs to host over MHI Endpoint