diff mbox series

[v6,7/8] bus: mhi: Improve documentation on channel transfer setup APIs

Message ID 1612470486-10440-8-git-send-email-bbhatt@codeaurora.org
State Superseded
Headers show
Series Updates to MHI channel handling | expand

Commit Message

Bhaumik Bhatt Feb. 4, 2021, 8:28 p.m. UTC
The mhi_prepare_for_transfer() and mhi_unprepare_from_transfer()
APIs could use better explanation. Add details on what MHI does
when these APIs are used.

Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org>
---
 include/linux/mhi.h | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

Comments

Manivannan Sadhasivam Feb. 24, 2021, 10:08 a.m. UTC | #1
On Thu, Feb 04, 2021 at 12:28:05PM -0800, Bhaumik Bhatt wrote:
> The mhi_prepare_for_transfer() and mhi_unprepare_from_transfer()

> APIs could use better explanation. Add details on what MHI does

> when these APIs are used.

> 

> Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>

> Reviewed-by: Hemant Kumar <hemantk@codeaurora.org>


Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>


Thanks,
Mani

> ---

>  include/linux/mhi.h | 18 ++++++++++++++++--

>  1 file changed, 16 insertions(+), 2 deletions(-)

> 

> diff --git a/include/linux/mhi.h b/include/linux/mhi.h

> index d26acc8..56c4c52 100644

> --- a/include/linux/mhi.h

> +++ b/include/linux/mhi.h

> @@ -712,13 +712,27 @@ int mhi_device_get_sync(struct mhi_device *mhi_dev);

>  void mhi_device_put(struct mhi_device *mhi_dev);

>  

>  /**

> - * mhi_prepare_for_transfer - Setup channel for data transfer

> + * mhi_prepare_for_transfer - Setup UL and DL channels for data transfer.

> + *                            Allocate and initialize the channel context and

> + *                            also issue the START channel command to both

> + *                            channels. Channels can be started only if both

> + *                            host and device execution environments match and

> + *                            channels are in a DISABLED state.

>   * @mhi_dev: Device associated with the channels

>   */

>  int mhi_prepare_for_transfer(struct mhi_device *mhi_dev);

>  

>  /**

> - * mhi_unprepare_from_transfer - Unprepare the channels

> + * mhi_unprepare_from_transfer - Reset UL and DL channels for data transfer.

> + *                               Issue the RESET channel command and let the

> + *                               device clean-up the context so no incoming

> + *                               transfers are seen on the host. Free memory

> + *                               associated with the context on host. If device

> + *                               is unresponsive, only perform a host side

> + *                               clean-up. Channels can be reset only if both

> + *                               host and device execution environments match

> + *                               and channels are in an ENABLED, STOPPED or

> + *                               SUSPENDED state.

>   * @mhi_dev: Device associated with the channels

>   */

>  void mhi_unprepare_from_transfer(struct mhi_device *mhi_dev);

> -- 

> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,

> a Linux Foundation Collaborative Project

>
diff mbox series

Patch

diff --git a/include/linux/mhi.h b/include/linux/mhi.h
index d26acc8..56c4c52 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
@@ -712,13 +712,27 @@  int mhi_device_get_sync(struct mhi_device *mhi_dev);
 void mhi_device_put(struct mhi_device *mhi_dev);
 
 /**
- * mhi_prepare_for_transfer - Setup channel for data transfer
+ * mhi_prepare_for_transfer - Setup UL and DL channels for data transfer.
+ *                            Allocate and initialize the channel context and
+ *                            also issue the START channel command to both
+ *                            channels. Channels can be started only if both
+ *                            host and device execution environments match and
+ *                            channels are in a DISABLED state.
  * @mhi_dev: Device associated with the channels
  */
 int mhi_prepare_for_transfer(struct mhi_device *mhi_dev);
 
 /**
- * mhi_unprepare_from_transfer - Unprepare the channels
+ * mhi_unprepare_from_transfer - Reset UL and DL channels for data transfer.
+ *                               Issue the RESET channel command and let the
+ *                               device clean-up the context so no incoming
+ *                               transfers are seen on the host. Free memory
+ *                               associated with the context on host. If device
+ *                               is unresponsive, only perform a host side
+ *                               clean-up. Channels can be reset only if both
+ *                               host and device execution environments match
+ *                               and channels are in an ENABLED, STOPPED or
+ *                               SUSPENDED state.
  * @mhi_dev: Device associated with the channels
  */
 void mhi_unprepare_from_transfer(struct mhi_device *mhi_dev);