Message ID | 20210420161310.16189-1-m.chetan.kumar@intel.com |
---|---|
Headers | show |
Series | net: iosm: PCIe Driver for Intel M.2 Modem | expand |
Hey, On Tue, Apr 20, 2021 at 6:14 PM M Chetan Kumar <m.chetan.kumar@intel.com> wrote: > > The IOSM (IPC over Shared Memory) driver is a PCIe host driver implemented > for linux or chrome platform for data exchange over PCIe interface between > Host platform & Intel M.2 Modem. The driver exposes interface conforming to > the MBIM protocol. Any front end application ( eg: Modem Manager) could > easily manage the MBIM interface to enable data communication towards WWAN. > > Intel M.2 modem uses 2 BAR regions. The first region is dedicated to Doorbell > register for IRQs and the second region is used as scratchpad area for book > keeping modem execution stage details along with host system shared memory > region context details. The upper edge of the driver exposes the control and > data channels for user space application interaction. At lower edge these data > and control channels are associated to pipes. The pipes are lowest level > interfaces used over PCIe as a logical channel for message exchange. A single > channel maps to UL and DL pipe and are initialized on device open. > > On UL path, driver copies application sent data to SKBs associate it with > transfer descriptor and puts it on to ring buffer for DMA transfer. Once > information has been updated in shared memory region, host gives a Doorbell > to modem to perform DMA and modem uses MSI to communicate back to host. > For receiving data in DL path, SKBs are pre-allocated during pipe open and > transfer descriptors are given to modem for DMA transfer. > > The driver exposes two types of ports, namely "wwanctrl", a char device node > which is used for MBIM control operation and "INMx",(x = 0,1,2..7) network > interfaces for IP data communication. Is there any plan to integrate this driver in the new "wwan" subsystem so that the character device for MBIM control is exposed in the same format (i.e. same name rules and such) as with the MHI driver? -- Aleksander https://aleksander.es
Hi Chetan, On Tue, 20 Apr 2021 at 18:14, M Chetan Kumar <m.chetan.kumar@intel.com> wrote: > > Implements a char device for MBIM protocol communication & > provides a simple IOCTL for max transfer buffer size > configuration. > > Signed-off-by: M Chetan Kumar <m.chetan.kumar@intel.com> Now that the initial wwan framework support landed, could you migrate to it for creating the MBIM 'WWAN port' instead of creating yet another char driver? I see you introduced an IOCTL for packet size, I see no objection to add that in the wwan core. Regards, Loic
On Thu, 2021-05-06 at 10:44 +0000, Kumar, M Chetan wrote: > Hi Loic, > > > > > > > Implements a char device for MBIM protocol communication & > > > provides a > > > simple IOCTL for max transfer buffer size configuration. > > > > > > Signed-off-by: M Chetan Kumar <m.chetan.kumar@intel.com> > > > > Now that the initial wwan framework support landed, could you > > migrate to it > > for creating the MBIM 'WWAN port' instead of creating yet another > > char > > driver? I see you introduced an IOCTL for packet size, I see no > > objection to > > add that in the wwan core. > > > > Sure, we have started the migration to MBIM 'WWAN port'. The next > version of patch > would contain these adaptations. > > If wwan core supports IOCTL for packet size, then we shall remove > that piece of > implementation in driver code. There has got to be a better way to do that than an ioctl. ioctls are not looked on favorably these days. Usually it's sysfs files or netlink config instead. Dan