Lines Matching +full:transfer +full:- +full:function
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
10 #include <linux/dma-direction.h>
27 * enum mhi_callback - MHI callback
51 * enum mhi_flags - Transfer flags
52 * @MHI_EOB: End of buffer for bulk transfer
53 * @MHI_EOT: End of transfer
54 * @MHI_CHAIN: Linked transfer
63 * enum mhi_device_type - Device types
64 * @MHI_DEVICE_XFER: Handles data transfer
73 * enum mhi_ch_type - Channel types
89 * struct image_info - Firmware and RDDM table
102 * struct mhi_link_info - BW requirement
103 * target_link_speed - Link speed as defined by TLS bits in LinkControl reg
104 * target_link_width - Link width as defined by NLW bits in LinkStatus reg
112 * enum mhi_ee_type - Execution environment types
138 * enum mhi_state - MHI states
163 * enum mhi_ch_ee_mask - Execution environment mask for channel
183 * enum mhi_er_data_type - Event ring data types
193 * enum mhi_db_brst_mode - Doorbell mode
203 * struct mhi_channel_config - Channel configuration structure for controller
219 * @wake-capable: Channel capable of waking up the system
240 * struct mhi_event_config - Event ring configuration structure for controller
244 * @channel: Dedicated channel number. U32_MAX indicates a non-dedicated ring
266 * struct mhi_controller_config - Root MHI controller configuration
292 * struct mhi_controller - Master MHI controller structure
346 * @status_cb: CB function to notify power states of the device (required)
347 * @wake_get: CB function to assert device wake (optional)
348 * @wake_put: CB function to de-assert device wake (optional)
349 * @wake_toggle: CB function to assert and de-assert device wake (optional)
350 * @runtime_get: CB function to controller runtime resume (required)
351 * @runtime_put: CB function to decrement pm usage (required)
352 * @map_single: CB function to create TRE buffer
353 * @unmap_single: CB function to destroy TRE buffer
356 * @reset: Controller specific reset function (optional)
357 * @edl_trigger: CB function to trigger EDL mode (optional)
361 * @fbc_download: MHI host needs to do complete image transfer (optional)
453 * struct mhi_device - Structure representing an MHI device which binds
462 * @ul_chan_id: MHI channel id for UL transfer
463 * @dl_chan_id: MHI channel id for DL transfer
480 * struct mhi_result - Completed buffer information
494 * struct mhi_buf - MHI Buffer description
497 * ECA - Event context array data
498 * CCA - Channel context array data
510 * struct mhi_driver - Structure representing a MHI client driver
511 * @probe: CB function for client driver probe function
512 * @remove: CB function for client driver remove function
513 * @ul_xfer_cb: CB function for UL data transfer
514 * @dl_xfer_cb: CB function for DL data transfer
535 * mhi_alloc_controller - Allocate the MHI Controller structure
541 * mhi_free_controller - Free the MHI Controller structure
547 * mhi_register_controller - Register MHI controller
555 * mhi_unregister_controller - Unregister MHI controller
561 * module_mhi_driver() - Helper macro for drivers that don't do
577 * __mhi_driver_register - Register driver with MHI framework
584 * mhi_driver_unregister - Unregister a driver for mhi_devices
590 * mhi_set_mhi_state - Set MHI device state
598 * mhi_notify - Notify the MHI client driver about client device status
605 * mhi_get_free_desc_count - Get transfer ring length
614 * mhi_prepare_for_power_up - Do pre-initialization before power up.
624 * mhi_async_power_up - Start MHI power up sequence
630 * mhi_sync_power_up - Start MHI power up sequence and wait till the device
637 * mhi_power_down - Power down the MHI device and also destroy the
648 * mhi_power_down_keep_dev - Power down the MHI device but keep the 'struct
660 * mhi_unprepare_after_power_down - Free any allocated memory after power down
666 * mhi_pm_suspend - Move MHI into a suspended state
672 * mhi_pm_resume - Resume MHI from suspended state
678 * mhi_pm_resume_force - Force resume MHI from suspended state
691 * mhi_download_rddm_image - Download ramdump image from device for
699 * mhi_force_rddm_mode - Force device into rddm mode
705 * mhi_get_exec_env - Get BHI execution environment of the device
711 * mhi_get_mhi_state - Get MHI state of the device
717 * mhi_soc_reset - Trigger a device reset. This can be used as a last resort
724 * mhi_device_get - Disable device low power mode
730 * mhi_device_get_sync - Disable device low power mode. Synchronously
737 * mhi_device_put - Re-enable device low power mode
743 * mhi_prepare_for_transfer - Setup UL and DL channels for data transfer.
753 * mhi_prepare_for_transfer_autoqueue - Setup UL and DL channels with auto queue
765 * mhi_unprepare_from_transfer - Reset UL and DL channels for data transfer.
767 * device clean-up the context so no incoming
771 * clean-up. Channels can be reset only if both
780 * mhi_queue_dma - Send or receive DMA mapped buffers from client device
786 * @mflags: MHI transfer flags used for the transfer
792 * mhi_queue_buf - Send or receive raw buffers from client device over MHI
798 * @mflags: MHI transfer flags used for the transfer
804 * mhi_queue_skb - Send or receive SKBs from client device over MHI channel
809 * @mflags: MHI transfer flags used for the transfer
815 * mhi_queue_is_full - Determine whether queueing new elements is possible
822 * mhi_get_channel_doorbell_offset - Get the channel doorbell offset