[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <064c01dc15f7$2cfce970$86f6bc50$@gmx.de>
Date: Mon, 25 Aug 2025 21:33:44 +0200
From: <markus.stockhausen@....de>
To: "'Jonas Jelonek'" <jelonek.jonas@...il.com>,
"'Chris Packham'" <chris.packham@...iedtelesis.co.nz>,
"'Andi Shyti'" <andi.shyti@...nel.org>
Cc: <linux-i2c@...r.kernel.org>,
<linux-kernel@...r.kernel.org>,
"'Sven Eckelmann'" <sven@...fation.org>,
"'Harshal Gohel'" <hg@...onwunderlich.de>,
"'Wolfram Sang'" <wsa+renesas@...g-engineering.com>
Subject: AW: [PATCH v6 00/12] i2c: fix, rework and extend RTL9300 I2C driver
> Von: Jonas Jelonek <jelonek.jonas@...il.com>
> Gesendet: Sonntag, 24. August 2025 13:34
> Betreff: [PATCH v6 00/12] i2c: fix, rework and extend RTL9300 I2C driver
>
> This patch series for the RTL9300 I2C driver:
> - fixes issues, one of them in some cases causing data corruption
> - reworks significant parts of the current implementation
> - add support for the (quite similar) RTL9310 series
>
> Goal of this is to fix critical issues, improve overall code quality and
> simplify maintainance and further extension of the driver. Moreover, it
> should be brought on par feature-wise with OpenWrt's downstream driver
> to be able to drop the downstream version.
>
> The first three patches address bugs in the current implementation, on
> of them being critical and causing data corruption under certain
> circumstances. Although the hardware doesn't support SMBus Quick Write,
> the driver claims to support it with a broken implementation. This
> causes to execute a 16-byte Write instead of a Quick Write, e.g. causing
> corruption on not-write-protected SFP EEPROMs and soft-bricking them.
> These three patches are also sent to 'stable' because they fix critical
> issues.
>
> Subsequent patches introduce various smaller and bigger enhancements.
> These include:
> - use regmap_field + its API instead of macros + GENMASK + shifts
> - refactor xfer handling
> - variable renaming to avoid confusion
> - move some register operations, calling them somewhere else and
> less frequently
> - use guarded mutex instead of explicit mutex_lock/_unlock to
> simplify control flow
>
> Finally, the last two patches add support for RTL9310 (mango) series to
> the driver and adjust the dt-bindings accordingly.
>
> Simple operations have been tested successfully on:
> - Zyxel XGS1210-12 (RTL9302B)
> - TP-Link TL-ST1008F v2.0 (RTL9303)
> - Netgear MS510TXM (RTL9313)
>
> with Byte-Read, Word-Read and I2C-Block-Read. Other operations need
> testing from people with devices available.
>
> Compile-tested with Linux, run-tested as backport in OpenWrt on the
> aforementioned devices.
Repeated the downstream tests with this series backported to 6.12.
Successfully tested on Linksys LGS328C (RTL9301) and LGS352C (RTL9311)
Tested-by: Markus Stockhausen <markus.stockhausen@....de
Powered by blists - more mailing lists