[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fw7i3kusogrrsslb5sjdid27uqnwey5qa5yhyrfa677n4iqqhq@tfh5s6bmqgna>
Date: Mon, 16 Dec 2024 14:11:41 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Danilo Krummrich <dakr@...nel.org>
Cc: Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Karol Herbst <kherbst@...hat.com>, Lyude Paul <lyude@...hat.com>, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, nouveau@...ts.freedesktop.org,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Subject: Re: [PATCH v2 0/2] drm/nouveau: remove drm_encoder_slave interface
On Mon, Dec 16, 2024 at 12:45:15PM +0100, Danilo Krummrich wrote:
> 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?
Well, drm_encoder_slave is a part of the DRM KMS helpers module, so it
take (a little bit) of space on every system. The nouveau situation
isn't unique, other drivers (i915, ast) also incorporate the code for
I2C backends. For the further discussion see the thread starting from
Laurent's email ([1]).
[1] https://lore.kernel.org/all/20241117205426.GE12409@pendragon.ideasonboard.com/
>
> >
> > 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@...aro.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@...aro.org>
> >
--
With best wishes
Dmitry
Powered by blists - more mailing lists