All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bhaumik Bhatt <bbhatt@codeaurora.org>
To: manivannan.sadhasivam@linaro.org
Cc: linux-arm-msm@vger.kernel.org, hemantk@codeaurora.org,
	jhugo@codeaurora.org, linux-kernel@vger.kernel.org,
	loic.poulain@linaro.org, Bhaumik Bhatt <bbhatt@codeaurora.org>
Subject: [PATCH v5 8/9] bus: mhi: Improve documentation on channel transfer setup APIs
Date: Fri,  8 Jan 2021 12:54:56 -0800	[thread overview]
Message-ID: <1610139297-36435-9-git-send-email-bbhatt@codeaurora.org> (raw)
In-Reply-To: <1610139297-36435-1-git-send-email-bbhatt@codeaurora.org>

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.

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

diff --git a/include/linux/mhi.h b/include/linux/mhi.h
index b5e11ba..94c5075 100644
--- a/include/linux/mhi.h
+++ b/include/linux/mhi.h
@@ -703,13 +703,35 @@ 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. Calling the
+ *                            mhi_start_transfer() function is not required
+ *                            afterwards as channels are already started. This
+ *                            function also initializes the channel context
+ *                            whereas mhi_start_transfer() can only be used to
+ *                            issue the start channel command once the context
+ *                            is setup.
  * @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. Calling mhi_stop_transfer() is
+ *                               not required before calling this function as it
+ *                               will only stop transfers, not reset channels.
  * @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


  parent reply	other threads:[~2021-01-08 20:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-08 20:54 [PATCH v5 0/9] Updates to MHI channel handling Bhaumik Bhatt
2021-01-08 20:54 ` [PATCH v5 1/9] bus: mhi: core: Allow sending the STOP channel command Bhaumik Bhatt
2021-01-21 11:25   ` Manivannan Sadhasivam
2021-01-08 20:54 ` [PATCH v5 2/9] bus: mhi: core: Allow channel to be disabled from stopped state Bhaumik Bhatt
2021-01-21 11:35   ` Manivannan Sadhasivam
2021-01-08 20:54 ` [PATCH v5 3/9] bus: mhi: core: Improvements to the channel handling state machine Bhaumik Bhatt
2021-01-21 14:43   ` Manivannan Sadhasivam
2021-01-08 20:54 ` [PATCH v5 4/9] bus: mhi: core: Clear configuration from channel context during reset Bhaumik Bhatt
2021-01-21 14:47   ` Manivannan Sadhasivam
2021-01-08 20:54 ` [PATCH v5 5/9] bus: mhi: core: Add support to stop or start channel data transfers Bhaumik Bhatt
2021-01-21 14:50   ` Manivannan Sadhasivam
2021-02-04 20:25     ` Bhaumik Bhatt
2021-01-08 20:54 ` [PATCH v5 6/9] bus: mhi: core: Check channel execution environment before issuing reset Bhaumik Bhatt
2021-01-21 15:12   ` Manivannan Sadhasivam
2021-02-04 20:23     ` Bhaumik Bhatt
2021-01-08 20:54 ` [PATCH v5 7/9] bus: mhi: core: Remove __ prefix for MHI channel unprepare function Bhaumik Bhatt
2021-01-08 20:54 ` Bhaumik Bhatt [this message]
2021-01-08 20:54 ` [PATCH v5 9/9] bus: mhi: core: Do not clear channel context more than once Bhaumik Bhatt
2021-01-09  4:39   ` Hemant Kumar
2021-01-21 15:15   ` Manivannan Sadhasivam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1610139297-36435-9-git-send-email-bbhatt@codeaurora.org \
    --to=bbhatt@codeaurora.org \
    --cc=hemantk@codeaurora.org \
    --cc=jhugo@codeaurora.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=loic.poulain@linaro.org \
    --cc=manivannan.sadhasivam@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.