lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241216121651.GP32204@pendragon.ideasonboard.com>
Date: Mon, 16 Dec 2024 14:16:51 +0200
From: Laurent Pinchart <laurent.pinchart@...asonboard.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Cc: Danilo Krummrich <dakr@...nel.org>,
	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
Subject: Re: [PATCH v2 0/2] drm/nouveau: remove drm_encoder_slave interface

On Mon, Dec 16, 2024 at 02:11:41PM +0200, Dmitry Baryshkov wrote:
> 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/

It's also a question of whether maintenance of this code based used by
the nouveau driver only should be the responsibility of the drm-misc
community or the nouveau driver maintainers.

> > > 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

-- 
Regards,

Laurent Pinchart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ