Message ID | 20250308-synaptics-rmi4-v3-0-215d3e7289a2@ixit.cz (mailing list archive) |
---|---|
Headers | show |
Series | Subject: [PATCH v3 0/7] Input: synaptics-rmi4: add quirks for third party touchscreen controllers | expand |
Hi David, Please at least give me a heads up if you're going to resend a patch series of mine. I understand it's an old series but I don't think that courtesy is too much to ask. On 3/8/25 14:08, David Heidelberg via B4 Relay wrote: > With the growing popularity of running upstream Linux on mobile devices, > we're beginning to run into more and more edgecases. The OnePlus 6 is a > fairly well supported 2018 era smartphone, selling over a million units > in it's first 22 days. With this level of popularity, it's almost > inevitable that we get third party replacement displays, and as a > result, replacement touchscreen controllers. > > The OnePlus 6 shipped with an extremely usecase specific touchscreen > driver, it implemented only the bare minimum parts of the highly generic > rmi4 protocol, instead hardcoding most of the register addresses. > > As a result, the third party touchscreen controllers that are often > found in replacement screens, implement only the registers that the > downstream driver reads from. They additionally have other restrictions > such as heavy penalties on unaligned reads. > > This series attempts to implement the necessary workaround to support > some of these chips with the rmi4 driver. Although it's worth noting > that at the time of writing there are other unofficial controllers in > the wild that don't work even with these patches. > > We have been shipping these patches in postmarketOS for the last several > months, and they are known to not cause any regressions on the OnePlus > 6/6T (with the official Synaptics controller), however I don't own any > other rmi4 hardware to further validate this. > > --- > Changes since v2: > - reworded dt-bindings property description > - fixed the rmi_driver_of_probe definition for non device-tree builds. > - fixed some indentation issues reported by checkpatch > - change rmi_pdt_entry_is_valid() variable to unsigned > - Link to v2: https://patchwork.kernel.org/project/linux-input/cover/20230929-caleb-rmi4-quirks-v2-0-b227ac498d88@linaro.org/ Please use lore links > > Changes since v1: > - Improve dt-bindings patch (thanks Rob) > - Add missing cast in patch 5 to fix the pointer arithmetic > - Link to v1: https://lore.kernel.org/r/20230929-caleb-rmi4-quirks-v1-0-cc3c703f022d@linaro.org > > --- > Caleb Connolly (2): > dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc > Input: synaptics-rmi4 - handle duplicate/unknown PDT entries > > methanal (5): > Input: synaptics-rmi4 - f12: use hardcoded values for aftermarket touch ICs > Input: synaptics-rmi4 - f55: handle zero electrode count > Input: synaptics-rmi4 - don't do unaligned reads in IRQ context > Input: synaptics-rmi4 - read product ID on aftermarket touch ICs > Input: synaptics-rmi4 - support fallback values for PDT descriptor bytes > > .../devicetree/bindings/input/syna,rmi4.yaml | 18 +++ > drivers/input/rmi4/rmi_driver.c | 140 +++++++++++++++++---- > drivers/input/rmi4/rmi_driver.h | 8 ++ > drivers/input/rmi4/rmi_f01.c | 14 +++ > drivers/input/rmi4/rmi_f12.c | 117 +++++++++++++---- > drivers/input/rmi4/rmi_f55.c | 5 + > include/linux/rmi.h | 3 + > 7 files changed, 258 insertions(+), 47 deletions(-) > --- > base-commit: 0a2f889128969dab41861b6e40111aa03dc57014 > change-id: 20250308-synaptics-rmi4-c832b2f73ceb > > Best regards,
Hello Caleb, I'm very sorry about that. Next time I include your patches in the series I'll definitely send you heads up. David On 10/03/2025 11:04, Caleb Connolly wrote: > Hi David, > > Please at least give me a heads up if you're going to resend a patch > series of mine. I understand it's an old series but I don't think that > courtesy is too much to ask. > > On 3/8/25 14:08, David Heidelberg via B4 Relay wrote: >> With the growing popularity of running upstream Linux on mobile devices, >> we're beginning to run into more and more edgecases. The OnePlus 6 is a >> fairly well supported 2018 era smartphone, selling over a million units >> in it's first 22 days. With this level of popularity, it's almost >> inevitable that we get third party replacement displays, and as a >> result, replacement touchscreen controllers. >> >> The OnePlus 6 shipped with an extremely usecase specific touchscreen >> driver, it implemented only the bare minimum parts of the highly generic >> rmi4 protocol, instead hardcoding most of the register addresses. >> As a result, the third party touchscreen controllers that are often >> found in replacement screens, implement only the registers that the >> downstream driver reads from. They additionally have other restrictions >> such as heavy penalties on unaligned reads. >> This series attempts to implement the necessary workaround to support >> some of these chips with the rmi4 driver. Although it's worth noting >> that at the time of writing there are other unofficial controllers in >> the wild that don't work even with these patches. >> We have been shipping these patches in postmarketOS for the last several >> months, and they are known to not cause any regressions on the OnePlus >> 6/6T (with the official Synaptics controller), however I don't own any >> other rmi4 hardware to further validate this. >> >> --- >> Changes since v2: >> - reworded dt-bindings property description >> - fixed the rmi_driver_of_probe definition for non device-tree builds. >> - fixed some indentation issues reported by checkpatch >> - change rmi_pdt_entry_is_valid() variable to unsigned >> - Link to v2: https://patchwork.kernel.org/project/linux-input/ >> cover/20230929-caleb-rmi4-quirks-v2-0-b227ac498d88@linaro.org/ > > Please use lore links >> >> Changes since v1: >> - Improve dt-bindings patch (thanks Rob) >> - Add missing cast in patch 5 to fix the pointer arithmetic >> - Link to v1: https://lore.kernel.org/r/20230929-caleb-rmi4-quirks- >> v1-0-cc3c703f022d@linaro.org >> >> --- >> Caleb Connolly (2): >> dt-bindings: input: syna,rmi4: document syna,pdt-fallback-desc >> Input: synaptics-rmi4 - handle duplicate/unknown PDT entries >> >> methanal (5): >> Input: synaptics-rmi4 - f12: use hardcoded values for >> aftermarket touch ICs >> Input: synaptics-rmi4 - f55: handle zero electrode count >> Input: synaptics-rmi4 - don't do unaligned reads in IRQ context >> Input: synaptics-rmi4 - read product ID on aftermarket touch ICs >> Input: synaptics-rmi4 - support fallback values for PDT >> descriptor bytes >> >> .../devicetree/bindings/input/syna,rmi4.yaml | 18 +++ >> drivers/input/rmi4/rmi_driver.c | 140 +++++++++++ >> ++++++---- >> drivers/input/rmi4/rmi_driver.h | 8 ++ >> drivers/input/rmi4/rmi_f01.c | 14 +++ >> drivers/input/rmi4/rmi_f12.c | 117 +++++++++++ >> ++---- >> drivers/input/rmi4/rmi_f55.c | 5 + >> include/linux/rmi.h | 3 + >> 7 files changed, 258 insertions(+), 47 deletions(-) >> --- >> base-commit: 0a2f889128969dab41861b6e40111aa03dc57014 >> change-id: 20250308-synaptics-rmi4-c832b2f73ceb >> >> Best regards, >