Messages in this thread | | | From | "Winkler, Tomas" <> | Subject | RE: [PATCH] mei: me: Add itouch device IDs for SPT / ICP | Date | Mon, 1 Jun 2020 21:25:25 +0000 |
| |
> > > > > > These device IDs can be found on Microsoft Surface devices. > > > > > > Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.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?
Just the iTouch.
> > 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).
Nice work.
> 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.
Yes, I'm fully aware of that code base.
> Since the driver is otherwise pretty much standalone, You do depend on i915, that's the hard part. > 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.
Agree.
> 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 -
Yes, I'm working on that just now.
> I don't expect you to support the entire IPTS technology.
Yep, unfortunately it's not going to be funded by my wife.
> > > --- > > > 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 > > > > > > >
| |