From: Jonas Schwöbel jonasschwoebel@yahoo.de
[ Upstream commit b49a73a08100ab139e07cfa7ca36e9b15787d0ab ]
Existing touchscreen clipping is too small and causes problems with touchscreen accuracy.
Signed-off-by: Jonas Schwöbel jonasschwoebel@yahoo.de Signed-off-by: Svyatoslav Ryhel clamor95@gmail.com Signed-off-by: Thierry Reding treding@nvidia.com Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
YES – raising the Synaptics clip limits stops the driver from clipping real touch coordinates on the LG P880 and restores edge accuracy.
- **Bug impact**: The DTS currently caps the touchscreen to 1110×1973 (`arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts:111-112`), below what the Synaptics S3203B actually reports, so touches near the screen edges get clamped, matching the commit message’s “accuracy” complaint. - **How the fix helps**: The rmi4 stack takes these values to bound `sensor->max_x/y` (`drivers/input/rmi4/rmi_2d_sensor.c:147-154`); increasing them to 1440×2560 lets the driver expose the full hardware range while still clamping against the real controller limits, eliminating the compression. - **Historical context**: The limiting values came from the original board bring-up (`ea5e97e9ce0466`), and no later commits touch this area; P895 already uses larger limits (`arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts:109-110`), so the new numbers align with existing practice. - **Risk assessment**: Change is confined to two DTS constants; no bindings or drivers change, and higher clip limits cannot harm because the driver already min()s them with the hardware-reported maxima. No regressions expected beyond the targeted board. - **Backport fit**: Clear user-visible bug fix, self-contained, no functional dependencies, and consistent with stable policy for correcting board descriptions.
Suggested follow-up: Once merged, verify on-device that touches now reach the physical bezel across both axes.
arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts index 2f7754fd42a16..c6ef0a20c19f3 100644 --- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts +++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts @@ -108,8 +108,8 @@ sub-mic-ldo { i2c@7000c400 { touchscreen@20 { rmi4-f11@11 { - syna,clip-x-high = <1110>; - syna,clip-y-high = <1973>; + syna,clip-x-high = <1440>; + syna,clip-y-high = <2560>;
touchscreen-inverted-y; };