Re: [PATCH v2 6/6] bus: mhi: Improve documentation on channel transfer setup APIs
From: Manivannan Sadhasivam
Date: Mon Nov 16 2020 - 07:50:56 EST
On Wed, Nov 11, 2020 at 11:21:13AM -0800, Bhaumik Bhatt wrote:
> The mhi_prepare_for_transfer() and mhi_unprepare_from_transfer()
> APIs could use better explanation, especially with the addition
> of two new APIs to start and stop the transfers on channels. Add
> better set of information for those APIs to avoid confusion going
> forward.
>
> Signed-off-by: Bhaumik Bhatt <bbhatt@xxxxxxxxxxxxxx>
> ---
> 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 aee8494..ee9537f 100644
> --- a/include/linux/mhi.h
> +++ b/include/linux/mhi.h
> @@ -690,13 +690,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.
It'd be good if you can add a note about how this API differs from
mhi_start_transfer() API. The content says the difference but an explicit
comparision would be good.
Thanks,
Mani
> * @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
>