[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <72689fa4-cb6d-4299-be29-2b7990a1c365@ixit.cz>
Date: Wed, 11 Jun 2025 10:10:00 +0200
From: David Heidelberg <david@...t.cz>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: linux-input@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, phone-devel@...r.kernel.org,
~postmarketos/upstreaming@...ts.sr.ht,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Kaustabh Chakraborty <kauschluss@...root.org>, Rob Herring
<robh@...nel.org>, Matthias Schiffer <matthias.schiffer@...tq-group.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Vincent Huang <vincent.huang@...synaptics.com>,
"Jason A. Donenfeld" <Jason@...c4.com>, Conor Dooley <conor+dt@...nel.org>
Subject: Re: [PATCH v5 0/7] Input: synaptics-rmi4 - add quirks for third party
touchscreen controllers
Hello Dmitry,
is there anything else I should adjust to get these fixes merged?
Thank you
David
On 03/05/2025 16:02, David Heidelberg wrote:
> Kind ping on the series.
>
> When the series is considered solid, it will improve Linux usability on
> lower-quality touchscreen replacements (including those from other
> vendors and models) outside of our Snapdragon 845 downstream fork.
>
> Thank you
> David
>
> On 10/04/2025 16:28, 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
>> years, 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 in v5:
>> - Removed -i2c suffix from rmi4-s3706b-i2c (Krzysztof).
>> - Link to v4: https://lore.kernel.org/r/20250402-synaptics-rmi4-
>> v4-0-1bb95959e564@...t.cz
>>
>> Changes in v4:
>> - Replaced patch "dt-bindings: input: syna,rmi4: document syna,pdt-
>> fallback-desc"
>> with patch documenting specific touchscreen model used in OnePlus 6
>> and 6T.
>> - Fixed zero electrode return code (Dmitry).
>> - Switched the duplicate detection algo to bitmap (Dmitry).
>> - Optimized rmi_device_platform_data struct to avoid unnecessary
>> padding.
>> - Changed fallback_size from int to unsigned int.
>> - Changed SoB from nickname and old address (methanal
>> <baclofen@...a.io>) to
>> Kaustabh Chakraborty <kauschluss@...root.org>.
>> Verified ownership through the sdm845 chatroom on Matrix.
>> - Link to v3: https://lore.kernel.org/r/20250308-synaptics-rmi4-
>> v3-0-215d3e7289a2@...t.cz
>>
>> Changes in v3:
>> - 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://lore.kernel.org/all/20230929-caleb-rmi4-quirks-
>> v2-0-b227ac498d88@...aro.org
>>
>> Changes in v2:
>> - 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@...aro.org
>>
>> ---
>> Caleb Connolly (1):
>> Input: synaptics-rmi4 - handle duplicate/unknown PDT entries
>>
>> David Heidelberg (1):
>> dt-bindings: input: syna,rmi4: Document syna,rmi4-s3706b
>>
>> Kaustabh Chakraborty (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 | 11 +-
>> drivers/input/rmi4/rmi_driver.c | 124 +++++++++++
>> ++++++----
>> drivers/input/rmi4/rmi_driver.h | 10 ++
>> 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, 234 insertions(+), 50 deletions(-)
>> ---
>> base-commit: f0a16f5363325cc8d9382471cdc7b654c53254c9
>> change-id: 20250308-synaptics-rmi4-c832b2f73ceb
>>
>> Best regards,
>
--
David Heidelberg
Powered by blists - more mailing lists