Re: [PATCH v2 0/2] drm/nouveau: remove drm_encoder_slave interface

Danilo Krummrich
2024-12-16T11:45:21Z

On Sun, Dec 15, 2024 at 12:19:22PM +0200, Dmitry Baryshkov wrote:
> The nouveau driver is the only user of the drm_encoder_slave interface.
> Demote it from KMS helpers module to the nouveau driver itself, moving
> corresponding I2C encoders to be handled by nouveau driver too.

I understand nouveau is the only driver using this interface (and the
corresponding i2c encoders).

However, I'm not quite seeing the advantage of folding the interface (including
the two i2c drivers) into nouveau. I don't think this legacy interface does harm
the subsystem in any way / does prevent the subsystem from moving forward.

Can't we just keep it as it is?

>
> Ideally those two drivers should be converted to the drm_bridge
> interface, but it's unclear if it's worth spending time on that.

Probably not.

>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> Changes in v2:
> - Renamed symbols in defconfig (Laurent)
> - Added missing Kbuild file (Laurent, LKP)
> - Renamed guarding defines in include files.
> - Dropped mentions of two removed functions.
> - Link to v1: https://lore.kernel.org/r/20241214-nouveau-encoder-slave-v1-0-beda767472e3@linaro.org
>
> ---
> Dmitry Baryshkov (2):
> drm/nouveau: incorporate I2C TV encoder drivers
> drm/nouveau: vendor in drm_encoder_slave API
>
> arch/arm/configs/multi_v7_defconfig | 4 +-
> arch/parisc/configs/generic-32bit_defconfig | 4 +-
> arch/parisc/configs/generic-64bit_defconfig | 4 +-
> drivers/gpu/drm/Makefile | 1 -
> drivers/gpu/drm/i2c/Kconfig | 18 ----
> drivers/gpu/drm/i2c/Makefile | 6 --
> drivers/gpu/drm/nouveau/Kconfig | 20 ++++
> drivers/gpu/drm/nouveau/dispnv04/Kbuild | 3 +
> drivers/gpu/drm/nouveau/dispnv04/dfp.c | 12 +--
> drivers/gpu/drm/nouveau/dispnv04/i2c/Kbuild | 5 +
> .../drm/{ => nouveau/dispnv04}/i2c/ch7006_drv.c | 30 +++---
> .../drm/{ => nouveau/dispnv04}/i2c/ch7006_mode.c | 8 +-
> .../drm/{ => nouveau/dispnv04}/i2c/ch7006_priv.h | 11 ++-
> .../drm/{ => nouveau/dispnv04}/i2c/sil164_drv.c | 33 ++++---
> .../dispnv04/nouveau_i2c_encoder.c} | 85 +++++-----------
> drivers/gpu/drm/nouveau/dispnv04/tvnv04.c | 20 ++--
> drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 +-
> .../gpu/drm/nouveau/include}/i2c/ch7006.h | 4 +-
> .../gpu/drm/nouveau/include/i2c/encoder_i2c.h | 109 ++++++++-------------
> .../gpu/drm/nouveau/include}/i2c/sil164.h | 4 +-
> drivers/gpu/drm/nouveau/nouveau_connector.c | 6 +-
> drivers/gpu/drm/nouveau/nouveau_encoder.h | 13 +--
> 22 files changed, 172 insertions(+), 232 deletions(-)
> ---
> base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f
> change-id: 20241214-nouveau-encoder-slave-a6dd422fa4a9
>
> Best regards,
> --
> Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>