Thread (6 messages) 6 messages, 3 authors, 2020-12-16

Re: [PATCH v18 0/3] userspace MHI client interface driver

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2020-12-16 09:42:13
Also in: linux-arm-msm, lkml

On Wed, Dec 16, 2020 at 10:17:30AM +0100, Loic Poulain wrote:
Hi Folks,

On Fri, 11 Dec 2020 at 20:45, Hemant Kumar [off-list ref] wrote:
quoted
This patch series adds support for UCI driver. UCI driver enables userspace
clients to communicate to external MHI devices like modem. UCI driver probe
creates standard character device file nodes for userspace clients to
perform open, read, write, poll and release file operations. These file
operations call MHI core layer APIs to perform data transfer using MHI bus
to communicate with MHI device.

This interface allows exposing modem control channel(s) such as QMI, MBIM,
or AT commands to userspace which can be used to configure the modem using
tools such as libqmi, ModemManager, minicom (for AT), etc over MHI. This is
required as there are no kernel APIs to access modem control path for device
configuration. Data path transporting the network payload (IP), however, is
routed to the Linux network via the mhi-net driver. Currently driver supports
QMI channel. libqmi is userspace MHI client which communicates to a QMI
service using QMI channel. Please refer to
https://www.freedesktop.org/wiki/Software/libqmi/ for additional information
on libqmi.

Patch is tested using arm64 and x86 based platform.
Are there any blockers or unadressed comments remaining on this
series? As far as I understand, the original blocker was the net/WiFi
mention in the commit message, that caused a legitimate concern from
network maintainer. It has been clarified now that this driver is not
for exposing any channel that could be otherwise handled properly by
an existing Linux subsystem/interface. It will be especially used as a
pipe for modem QMI channel (or AT commands) in the same way as the USB
CDC-WDM driver is doing (keeping userspace compatibility). Other MHI
channels, such as network data, QRTR, etc are not exposed and
correctly bound to the corresponding Linux subsystems.

The correlated worry was that it could be a userspace channel facility
for 'everything qualcomm', but we could say the same for other
existing busses with userspace shunt (/dev/bus/usb, /dev/i2c,
/dev/spidev, PCI UIO, UART...). Moreover, it is mitigated by the fact
that not all MHI channels are exposed by default, but only the allowed
ones (QMI in the initial version). For sure, special care must be
given to any further channel addition.
It's the middle of the merge window, we can't do anything with new
patches at all until 5.11-rc1 is out, so please be patient.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help