Message ID | 1605122473-12179-7-git-send-email-bbhatt@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Updates to MHI channel handling | expand |
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@codeaurora.org> > --- > 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 >
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. * @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 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@codeaurora.org> --- include/linux/mhi.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-)