From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Jakub Kicinski <kuba@kernel.org>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
Aleksander Morgado <aleksander@aleksander.es>,
Loic Poulain <loic.poulain@linaro.org>,
Greg KH <gregkh@linuxfoundation.org>,
David Miller <davem@davemloft.net>,
linux-arm-msm <linux-arm-msm@vger.kernel.org>,
open list <linux-kernel@vger.kernel.org>,
Jeffrey Hugo <jhugo@codeaurora.org>,
Bhaumik Bhatt <bbhatt@codeaurora.org>,
Network Development <netdev@vger.kernel.org>
Subject: Re: [RESEND PATCH v18 0/3] userspace MHI client interface driver
Date: Wed, 10 Feb 2021 16:08:39 -0600 [thread overview]
Message-ID: <YCRZZyHO/QkCT9sa@builder.lan> (raw)
In-Reply-To: <20210210104128.2166e506@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
On Wed 10 Feb 12:41 CST 2021, Jakub Kicinski wrote:
> On Wed, 10 Feb 2021 11:55:31 +0530 Manivannan Sadhasivam wrote:
> > On Tue, Feb 09, 2021 at 08:17:44AM -0800, Jakub Kicinski wrote:
> > > On Tue, 9 Feb 2021 10:20:30 +0100 Aleksander Morgado wrote:
> > > > This may be a stupid suggestion, but would the integration look less a
> > > > backdoor if it would have been named "mhi_wwan" and it exposed already
> > > > all the AT+DIAG+QMI+MBIM+NMEA possible channels as chardevs, not just
> > > > QMI?
> > >
> > > What's DIAG? Who's going to remember that this is a backdoor driver
> > > a year from now when Qualcomm sends a one liner patches which just
> > > adds a single ID to open another channel?
> >
> > I really appreciate your feedback on this driver eventhough I'm not
> > inclined with you calling this driver a "backdoor interface". But can
> > you please propose a solution on how to make this driver a good one as
> > per your thoughts?
> >
> > I really don't know what bothers you even if the userspace tools making
> > use of these chardevs are available openly (you can do the audit and see
> > if anything wrong we are doing).
>
> What bothers me is maintaining shim drivers which just shuttle opaque
> messages between user space and firmware. One of which definitely is,
> and the other may well be, proprietary. This is an open source project,
> users are supposed to be able to meaningfully change the behavior of
> the system.
>
You're absolutely right in that we in general don't like shim drivers
and there are several examples of proper MHI drivers - for e.g.
networking, WiFi
Technically we could fork/reimplement
https://github.com/freedesktop/libqmi, https://github.com/andersson/diag
and https://github.com/andersson/qdl in the kernel as "proper drivers" -
each one exposing their own userspace ABI.
But to leave these in userspace and rely on something that looks exactly
like USBDEVFS seems like a much better strategy.
> What bothers me is that we have 3 WWAN vendors all doing their own
> thing and no common Linux API for WWAN. It may have been fine 10 years
> ago, but WWAN is increasingly complex and important.
>
We had a deep discussion and a few prototypes for a WWAN framework going
around 1-1.5 years ago. Unfortunately, what did fit Intel's view of what
a WWAN device is didn't fit at all with what's run and exposed by the
"modem" DSP in a Qualcomm platform. After trying to find various
contrived ways to model this we gave up.
> > And exposing the raw access to the
> > hardware is not a new thing in kernel. There are several existing
> > subsystems/drivers does this as pointed out by Bjorn. Moreover we don't
> > have in-kernel APIs for the functionalities exposed by this driver and
> > creating one is not feasible as explained by many.
> >
> > So please let us know the path forward on this series. We are open to
> > any suggestions but you haven't provided one till now.
>
> Well. You sure know how to aggravate people. I said clearly that you
> can move forward on purpose build drivers (e.g. for WWAN). There is no
> way forward on this common shim driver as far as I'm concerned.
But what is a WWAN device? What features does it have? What kind of APIs
does it expose?
Note that in this sense "QMI" really is a "binary equivalent" of AT
commands, the data flows over a DMA engine, which is not part of the
"WWAN device" and other services, such as GPS, already has specific
transports available upstream.
Regards,
Bjorn
next prev parent reply other threads:[~2021-02-10 22:09 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-06 18:44 [RESEND PATCH v18 0/3] userspace MHI client interface driver Hemant Kumar
2021-01-06 18:44 ` [RESEND PATCH v18 1/3] bus: mhi: core: Move MHI_MAX_MTU to external header file Hemant Kumar
2021-01-06 18:44 ` [RESEND PATCH v18 2/3] docs: Add documentation for userspace client interface Hemant Kumar
2021-01-06 18:44 ` [RESEND PATCH v18 3/3] bus: mhi: Add userspace client interface driver Hemant Kumar
2021-01-13 15:26 ` [RESEND PATCH v18 0/3] userspace MHI " Manivannan Sadhasivam
2021-01-19 9:42 ` Manivannan Sadhasivam
2021-01-19 10:28 ` Greg KH
2021-01-27 15:15 ` Greg KH
2021-01-27 16:24 ` Bjorn Andersson
2021-02-01 10:55 ` Manivannan Sadhasivam
2021-02-01 11:15 ` Greg KH
2021-02-01 12:13 ` Manivannan Sadhasivam
2021-02-02 4:22 ` Manivannan Sadhasivam
2021-02-03 4:10 ` Jakub Kicinski
2021-02-03 4:15 ` Manivannan Sadhasivam
2021-02-03 18:05 ` Jakub Kicinski
2021-02-03 18:28 ` Loic Poulain
2021-02-03 18:40 ` Jakub Kicinski
2021-02-04 4:07 ` Manivannan Sadhasivam
2021-02-04 5:53 ` Bjorn Andersson
2021-02-09 9:20 ` Aleksander Morgado
2021-02-09 16:17 ` Jakub Kicinski
2021-02-09 16:49 ` Aleksander Morgado
2021-02-10 6:25 ` Manivannan Sadhasivam
2021-02-10 18:41 ` Jakub Kicinski
2021-02-10 19:18 ` Jeffrey Hugo
2021-02-10 22:08 ` Bjorn Andersson [this message]
2021-02-11 9:26 ` Aleksander Morgado
2021-02-28 14:12 ` Aleksander Morgado
2021-02-28 15:52 ` Manivannan Sadhasivam
2021-02-03 18:34 ` Bjorn Andersson
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=YCRZZyHO/QkCT9sa@builder.lan \
--to=bjorn.andersson@linaro.org \
--cc=aleksander@aleksander.es \
--cc=bbhatt@codeaurora.org \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=jhugo@codeaurora.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=loic.poulain@linaro.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=netdev@vger.kernel.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.