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] [day] [month] [year] [list]
Message-ID: <d9bac31d-ad73-4d40-9e6b-7397dd5f5b23@ixit.cz>
Date: Sat, 3 May 2025 16:02:57 +0200
From: David Heidelberg <david@...t.cz>
To: Kaustabh Chakraborty <kauschluss@...root.org>,
 Dmitry Torokhov <dmitry.torokhov@...il.com>, Rob Herring <robh@...nel.org>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, "Jason A. Donenfeld" <Jason@...c4.com>,
 Matthias Schiffer <matthias.schiffer@...tq-group.com>,
 Vincent Huang <vincent.huang@...synaptics.com>
Cc: linux-input@...r.kernel.org, devicetree@...r.kernel.org,
 linux-kernel@...r.kernel.org, Caleb Connolly <caleb.connolly@...aro.org>,
 phone-devel@...r.kernel.org, ~postmarketos/upstreaming@...ts.sr.ht,
 Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Subject: Re: [PATCH v5 0/7] Input: synaptics-rmi4 - add quirks for third party
 touchscreen controllers

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@ixit.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@ixit.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@linaro.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@linaro.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

Powered by Openwall GNU/*/Linux Powered by OpenVZ