lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 01 Jun 2020 19:24:13 +0200
From:   Dorian Stoll <dorian.stoll@...p.io>
To:     Arnd Bergmann <arnd@...db.de>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        "Winkler, Tomas" <tomas.winkler@...el.com>
Cc:     "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mei: me: Add itouch device IDs for SPT / ICP

> 
> > These device IDs can be found on Microsoft Surface devices.
> > 
> > Signed-off-by: Dorian Stoll <dorian.stoll@...p.io>
> 
> This need to be done differently because of the server platforms conflict.
> I have patches for that I will post short, though we are not officially supporting those devices under Linux, 
> It will be hard to maintain,  as currently on the MS surface enables it as far as I know.
> 

Thank you for your response!

If you don't mind, could you elaborate on these devices not being supported
under Linux? Is it just that the functionality they provide
(Intel Precise Touch & Stylus / iTouch / IPTS) won't be supported? Because
that I already know, and it is not the intent of this patch. Or do you mean
that the entire MEI interface won't be supported for these devices?

Some context on this patch: I am part of a small team of volunteers who try
to make the MS Surface devices usable under linux, including the touchscreen
(which uses IPTS as of the Surface Pro 4).

The IPTS driver connects to the device over the MEI bus, but the MEI device
is provided by the iTouch devices. Currently we build our own kernels with
this patch applied to allow the driver to work. All of this is loosely based
on a driver that Intel published a few years ago.

Since the driver is otherwise pretty much standalone, my hope was that adding
these IDs would make it easier to develop / install our driver without having
to recompile the entire kernel (i.e. using DKMS). At least until the driver
has matured enough and is ready for upstream submission itself. Especially
since other iTouch devices have their device IDs added already.

That this would cause conflicts is unfortunate. Judging purely by your words
- without having any deeper knowledge about the MEI bus - it seems that it
might be possible to fix these conflicts? If thats true, I hope it would also
be possible to add these IDs, so that just the MEI interface to IPTS becomes
supported - I don't expect you to support the entire IPTS technology.

> > ---
> >  drivers/misc/mei/hw-me-regs.h | 2 ++
> >  drivers/misc/mei/pci-me.c     | 2 ++
> >  2 files changed, 4 insertions(+)
> > 
> > diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-
> > regs.h index 9392934e3a06..90e7d3020fa5 100644
> > --- a/drivers/misc/mei/hw-me-regs.h
> > +++ b/drivers/misc/mei/hw-me-regs.h
> > @@ -59,6 +59,7 @@
> > 
> >  #define MEI_DEV_ID_SPT        0x9D3A  /* Sunrise Point */
> >  #define MEI_DEV_ID_SPT_2      0x9D3B  /* Sunrise Point 2 */
> > +#define MEI_DEV_ID_SPT_4      0x9D3E  /* Sunrise Point 4 (iTouch) */
> >  #define MEI_DEV_ID_SPT_H      0xA13A  /* Sunrise Point H */
> >  #define MEI_DEV_ID_SPT_H_2    0xA13B  /* Sunrise Point H 2 */
> > 
> > @@ -90,6 +91,7 @@
> >  #define MEI_DEV_ID_CDF        0x18D3  /* Cedar Fork */
> > 
> >  #define MEI_DEV_ID_ICP_LP     0x34E0  /* Ice Lake Point LP */
> > +#define MEI_DEV_ID_ICP_LP_4   0x34E4  /* Ice Lake Point LP 4 (iTouch) */
> > 
> >  #define MEI_DEV_ID_JSP_N      0x4DE0  /* Jasper Lake Point N */
> > 
> > diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c index
> > a1ed375fed37..5e621e90d8d4 100644
> > --- a/drivers/misc/mei/pci-me.c
> > +++ b/drivers/misc/mei/pci-me.c
> > @@ -68,6 +68,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
> > 
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT, MEI_ME_PCH8_CFG)},
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_2, MEI_ME_PCH8_CFG)},
> > +	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_4, MEI_ME_PCH8_CFG)},
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H, MEI_ME_PCH8_SPS_CFG)},
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H_2, MEI_ME_PCH8_SPS_CFG)},
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_SPS_CFG)},
> > @@ -94,6 +95,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_H_3, MEI_ME_PCH8_CFG)},
> > 
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP, MEI_ME_PCH12_CFG)},
> > +	{MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP_4, MEI_ME_PCH12_CFG)},
> > 
> >  	{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
> > 
> > --
> > 2.26.2
> > 
> 
> 


Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ