public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
To: Romain Gantois <romain.gantois@bootlin.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Luca Ceresoli <luca.ceresoli@bootlin.com>,
	Andi Shyti <andi.shyti@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Derek Kiernan <derek.kiernan@amd.com>,
	Dragan Cvetic <dragan.cvetic@amd.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Kory Maincent <kory.maincent@bootlin.com>,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, linux-media@vger.kernel.org,
	linux-gpio@vger.kernel.org,
	Conor Dooley <conor.dooley@microchip.com>,
	Cosmin Tanislav <demonsingur@gmail.com>
Subject: Re: [PATCH v7 0/9] misc: Support TI FPC202 dual-port controller
Date: Fri, 7 Feb 2025 14:02:04 +0200	[thread overview]
Message-ID: <8b0f0743-03d6-4b2a-a2c2-37b05b854fb8@ideasonboard.com> (raw)
In-Reply-To: <20250204-fpc202-v7-0-78b4b8a35cf1@bootlin.com>

Hi,

On 04/02/2025 11:29, Romain Gantois wrote:
> Hello everyone,
> 
> This is version seven of my series which adds support for the TI FPC202
> dual-port controller. This is an unusual kind of device which is used as a
> low-speed signal aggregator for various types of SFP-like hardware ports.
> 
> The FPC202 exposes an I2C, or SPI (not supported in this series) control
> interface, which can be used to access two downstream I2C busses, along
> with a set of low-speed GPIO signals for each port. It also has I2C address
> translation (ATR) features, which allow multiple I2C devices with the same
> address (e.g. SFP EEPROMs at address 0x50) to be accessed from the upstream
> control interface on different addresses.
> 
> I've chosen to add this driver to the misc subsystem, as it doesn't
> strictly belong in either the i2c or gpio sybsystem, and as far as I know
> it is the first device of its kind to be added to the kernel.
> 
> Along with the FPC202 driver itself, this series also adds support for
> dynamic address translation to the i2c-atr module. This allows I2C address
> translators to update their translation table on-the-fly when they receive
> transactions to unmapped clients. This feature is needed by the FPC202
> driver to access up to three logical I2C devices per-port, given that the
> FPC202 address translation table only has two address slots.
> 
> Best Regards,
> 
> Romain

I tested this series on my ds90ub960 setup (with plenty of patches on 
top of mainline to get full multi-streaming), and it works fine for me. So:

Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>

This series does conflict with the ub960 changes I've sent resently. 
Nothing difficult, but just something to be aware of.

I'll try to do an actual review next week.

We also still have the GMSL i2c-atr questions to sort out. Cosmin 
recently sent out this series to add a few patches which help on GMSL:

https://lore.kernel.org/all/20250203121629.2027871-1-demonsingur%40gmail.com/

  Tomi

> 
> Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
> ---
> Changes in v7:
> - Removed a superfluous log message
> - Link to v6: https://lore.kernel.org/r/20250115-fpc202-v6-0-d47a34820753@bootlin.com
> 
> Changes in v6:
> - Replaced spaces with tabs in misc Makefile
> - Link to v5: https://lore.kernel.org/r/20250108-fpc202-v5-0-a439ab999d5a@bootlin.com
> 
> Changes in v5:
> - Used mutex guards in ub960 and fpc202 drivers
> - Changed wording of some i2c-atr logs
> - Link to v4: https://lore.kernel.org/r/20241230-fpc202-v4-0-761b297dc697@bootlin.com
> 
> Changes in v4:
> - Fixed unbalanced refcounting in FPC202 port probing path
> - Fixed KASAN bug by setting alias_pool "shared" flag properly
> - Dropped requirement for both FPC202 ports to be described in the DT
> - Enabled dynamic translation by default, dropped support for non dynamic translation
> - Used aliased_addrs list instead of insufficient bitmap in ub960 driver
> - Added i2c_atr_destroy_c2a() function matching i2c_atr_create_c2a()
> - Fixed list corruption bug in dynamic address translation
> - Indented Kconfig entry with tabs instead of spaces
> - Link to v3: https://lore.kernel.org/r/20241125-fpc202-v3-0-34e86bcb5b56@bootlin.com
> 
> Changes in v3:
> - Described the "reg" property of downstream ports in the FPC202 bindings
> - Link to v2: https://lore.kernel.org/r/20241118-fpc202-v2-0-744e4f192a2d@bootlin.com
> 
> Changes in v2:
> - Renamed port nodes to match i2c adapter bindings.
> - Declared atr ops struct as static const.
> - Free downstream ports during FPC202 removal.
> - Link to v1: https://lore.kernel.org/r/20241108-fpc202-v1-0-fe42c698bc92@bootlin.com
> 
> ---
> Romain Gantois (9):
>        dt-bindings: misc: Describe TI FPC202 dual port controller
>        media: i2c: ds90ub960: Replace aliased clients list with address list
>        media: i2c: ds90ub960: Protect alias_use_mask with a mutex
>        i2c: use client addresses directly in ATR interface
>        i2c: move ATR alias pool to a separate struct
>        i2c: rename field 'alias_list' of struct i2c_atr_chan to 'alias_pairs'
>        i2c: support per-channel ATR alias pools
>        i2c: Support dynamic address translation
>        misc: add FPC202 dual port controller driver
> 
>   .../devicetree/bindings/misc/ti,fpc202.yaml        |  94 ++++
>   MAINTAINERS                                        |   7 +
>   drivers/i2c/i2c-atr.c                              | 483 ++++++++++++++-------
>   drivers/media/i2c/ds90ub913.c                      |   9 +-
>   drivers/media/i2c/ds90ub953.c                      |   9 +-
>   drivers/media/i2c/ds90ub960.c                      |  49 ++-
>   drivers/misc/Kconfig                               |  11 +
>   drivers/misc/Makefile                              |   1 +
>   drivers/misc/ti_fpc202.c                           | 438 +++++++++++++++++++
>   include/linux/i2c-atr.h                            |  54 ++-
>   10 files changed, 964 insertions(+), 191 deletions(-)
> ---
> base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
> change-id: 20241017-fpc202-6f0b739c2078
> 
> Best regards,


      parent reply	other threads:[~2025-02-07 12:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-04  9:29 [PATCH v7 0/9] misc: Support TI FPC202 dual-port controller Romain Gantois
2025-02-04  9:29 ` [PATCH v7 1/9] dt-bindings: misc: Describe TI FPC202 dual port controller Romain Gantois
2025-02-04  9:29 ` [PATCH v7 2/9] media: i2c: ds90ub960: Replace aliased clients list with address list Romain Gantois
2025-02-04  9:29 ` [PATCH v7 3/9] media: i2c: ds90ub960: Protect alias_use_mask with a mutex Romain Gantois
2025-02-04  9:29 ` [PATCH v7 4/9] i2c: use client addresses directly in ATR interface Romain Gantois
2025-02-04  9:29 ` [PATCH v7 5/9] i2c: move ATR alias pool to a separate struct Romain Gantois
2025-02-04  9:29 ` [PATCH v7 6/9] i2c: rename field 'alias_list' of struct i2c_atr_chan to 'alias_pairs' Romain Gantois
2025-02-04  9:29 ` [PATCH v7 7/9] i2c: support per-channel ATR alias pools Romain Gantois
2025-02-04  9:29 ` [PATCH v7 8/9] i2c: Support dynamic address translation Romain Gantois
2025-02-04  9:29 ` [PATCH v7 9/9] misc: add FPC202 dual port controller driver Romain Gantois
2025-02-20 11:57   ` Greg Kroah-Hartman
2025-02-20 12:09     ` Wolfram Sang
2025-02-20 12:13       ` Greg Kroah-Hartman
2025-02-20 12:51       ` Romain Gantois
2025-02-07 12:02 ` Tomi Valkeinen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8b0f0743-03d6-4b2a-a2c2-37b05b854fb8@ideasonboard.com \
    --to=tomi.valkeinen@ideasonboard.com \
    --cc=andi.shyti@kernel.org \
    --cc=arnd@arndb.de \
    --cc=brgl@bgdev.pl \
    --cc=conor+dt@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=demonsingur@gmail.com \
    --cc=derek.kiernan@amd.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dragan.cvetic@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kory.maincent@bootlin.com \
    --cc=krzk+dt@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=romain.gantois@bootlin.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wsa+renesas@sang-engineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox