dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Mario Limonciello (AMD)" <superm1@kernel.org>
To: dri-devel@lists.freedesktop.org
Cc: Mario Limonciello <mario.limonciello@amd.com>,
	harry.wentland@amd.com, Louis Chauvet <louis.chauvet@bootlin.com>,
	Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
	"Mario Limonciello (AMD)" <superm1@kernel.org>
Subject: [PATCH v4 0/9] Add support for a DRM backlight capability
Date: Thu, 28 May 2026 00:49:02 -0500	[thread overview]
Message-ID: <20260528054911.1513208-1-superm1@kernel.org> (raw)

At Display Next Hackfest 2025 we discussed the renewed need for moving
brightness control into the DRM connector properties.  I've taken the
previous efforts from David and Marta, rebased and adjusted for the
current kernel.

The legacy sysfs interface is synchronized with the DRM connector (although
the scale may be different as DRM connector property is u16).

Later after this has been adopted by enough userspace, it may make sense to
configure the legacy sysfs interface to be configurable so that only
DRM master controls backlight.

I've done a first implementation with amdgpu with eDP connectors; but
conceivably this can be extended to other connectors like DP for displays
that can be controlled via DDC as well later.

I have also used DRM review prompts to review this series and fix some bugs
which were caught with two different Claude models.  The fixes are squashed
into the patches.

Assisted-by: Claude Opus
Assisted-by: Claude Sonnet

For ease of testing; this series is also available on this branch:
https://git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git/log/?h=superm1/backlight-property-v4

---
v3->v4:
 * Address feedback on mailing list for linking, bridge connector handling
 * Make DRM capability block with writes
 * Drop unnecessary code

Mario Limonciello (AMD) (9):
  Revert "backlight: Remove notifier"
  backlight: add kernel-internal backlight API
  drm: link connectors to backlight devices
  DRM: Add support for client and driver indicating support for
    luminance
  drm/amd/display: Pass up errors reading actual brightness
  drm/amd: Indicate driver supports luminance
  drm/amd/display: Allow backlight registration to fail
  drm/amd/display: use drm backlight
  drm/bridge: auto-link panel backlight in bridge connector

 drivers/gpu/drm/Kconfig                       |   1 +
 drivers/gpu/drm/Makefile                      |   2 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c       |   1 +
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  77 ++-
 drivers/gpu/drm/bridge/panel.c                |  15 +
 .../gpu/drm/display/drm_bridge_connector.c    |  15 +-
 drivers/gpu/drm/drm_atomic_helper.c           |   9 +
 drivers/gpu/drm/drm_atomic_uapi.c             |  59 ++-
 drivers/gpu/drm/drm_backlight.c               | 467 ++++++++++++++++++
 drivers/gpu/drm/drm_connector.c               |  12 +
 drivers/gpu/drm/drm_drv.c                     |   8 +
 drivers/gpu/drm/drm_file.c                    |   5 +
 drivers/gpu/drm/drm_ioctl.c                   |  17 +
 drivers/gpu/drm/drm_mode_config.c             |   7 +
 drivers/gpu/drm/drm_mode_object.c             |  66 ++-
 drivers/gpu/drm/drm_sysfs.c                   |  28 +-
 drivers/video/backlight/backlight.c           |  99 ++++
 include/drm/drm_backlight.h                   |  51 ++
 include/drm/drm_bridge.h                      |   1 +
 include/drm/drm_connector.h                   |   8 +
 include/drm/drm_drv.h                         |   7 +
 include/drm/drm_file.h                        |   8 +
 include/drm/drm_mode_config.h                 |   5 +
 include/linux/backlight.h                     |  56 +++
 include/uapi/drm/drm.h                        |  10 +
 25 files changed, 1005 insertions(+), 29 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_backlight.c
 create mode 100644 include/drm/drm_backlight.h

-- 
2.54.0


             reply	other threads:[~2026-05-28  5:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-28  5:49 Mario Limonciello (AMD) [this message]
2026-05-28  5:49 ` [PATCH v4 1/9] Revert "backlight: Remove notifier" Mario Limonciello (AMD)
2026-05-28  5:49 ` [PATCH v4 2/9] backlight: add kernel-internal backlight API Mario Limonciello (AMD)
2026-05-28  5:49 ` [PATCH v4 3/9] drm: link connectors to backlight devices Mario Limonciello (AMD)
2026-05-29  9:56   ` Dmitry Baryshkov
2026-05-29  9:58     ` Mario Limonciello
2026-05-28  5:49 ` [PATCH v4 4/9] DRM: Add support for client and driver indicating support for luminance Mario Limonciello (AMD)
2026-05-29  9:53   ` Dmitry Baryshkov
2026-05-28  5:49 ` [PATCH v4 5/9] drm/amd/display: Pass up errors reading actual brightness Mario Limonciello (AMD)
2026-05-28  5:49 ` [PATCH v4 6/9] drm/amd: Indicate driver supports luminance Mario Limonciello (AMD)
2026-05-28  5:49 ` [PATCH v4 7/9] drm/amd/display: Allow backlight registration to fail Mario Limonciello (AMD)
2026-05-28  5:49 ` [PATCH v4 8/9] drm/amd/display: use drm backlight Mario Limonciello (AMD)
2026-05-28  5:49 ` [PATCH v4 9/9] drm/bridge: auto-link panel backlight in bridge connector Mario Limonciello (AMD)
2026-05-29  9:52   ` Dmitry Baryshkov
2026-05-29 15:13 ` [PATCH v4 0/9] Add support for a DRM backlight capability Simon Ser

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=20260528054911.1513208-1-superm1@kernel.org \
    --to=superm1@kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=louis.chauvet@bootlin.com \
    --cc=mario.limonciello@amd.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