On 1/8/21 7:30 AM, Manivannan Sadhasivam wrote:
On Fri, Jan 08, 2021 at 03:01:59PM +0100, Loic Poulain wrote:
Hi Mani,
On Fri, 8 Jan 2021 at 14:44, Manivannan Sadhasivam <
manivannan.sadhasivam@xxxxxxxxxx> wrote:
On Wed, Jan 06, 2021 at 02:43:43PM +0100, Loic Poulain wrote:
Currently, the MHI controller driver defines which channels should
have their inbound buffers allocated and queued. But ideally, this is
something that should be decided by the MHI device driver instead,
We call them, "MHI client drivers"
I'll fix that.
which actually deals with that buffers.
Add a flag parameter to mhi_prepare_for_transfer allowing to specify
if buffers have to be allocated and queued by the MHI stack.
Keep auto_queue flag for now, but should be removed at some point.
Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx>
---
drivers/bus/mhi/core/internal.h | 2 +-
drivers/bus/mhi/core/main.c | 11 ++++++++---
drivers/net/mhi_net.c | 2 +-
include/linux/mhi.h | 12 +++++++++++-
net/qrtr/mhi.c | 2 +-
5 files changed, 22 insertions(+), 7 deletions(-)
[...]
diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c
index fa41d8c..b7f7f2e 100644
--- a/drivers/net/mhi_net.c
+++ b/drivers/net/mhi_net.c
@@ -265,7 +265,7 @@ static int mhi_net_probe(struct mhi_device *mhi_dev,
u64_stats_init(&mhi_netdev->stats.tx_syncp);
/* Start MHI channels */
- err = mhi_prepare_for_transfer(mhi_dev);
+ err = mhi_prepare_for_transfer(mhi_dev, 0);
Eventhough I'd like Hemant to comment on this patch, AFAIU this looks to
me a controller dependent behaviour. The controller should have the
information whether a particular channel can auto queue or not then the
client driver can be agnostic.
I am fine with his change, and agree that MHI client driver should be
able to make the decision.
Having said that, can we merge this on top of UCI :).
[..]
Thanks,
Hemant
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project