[PATCH v3 0/2] drm/amd/display: keep custom brightness curve in userspace domain

From: Andrei Rusu de Castro

Date: Fri Oct 23 2026 - 21:33:54 EST


convert_custom_brightness() adds the firmware minimum before
convert_brightness_from_user() applies it again, so a zero request
through a custom curve never reaches the panel minimum. Patch 1 keeps
the curve output in the userspace domain. Patch 2 adds KUnit coverage
with a non-zero firmware minimum.

Changes in v3:

- rebase onto amd-staging-drm-next (77f548b12);
- drop v2 patches 3 and 4, which changed the PWM path to the power
module; "drm/amd/display: map PWM brightness through custom backlight
curve" has since reworked that path;
- describe which panels still reach the helper: AUX panels with a custom
curve, and PWM panels on stable kernels before the power module.

The amdgpu_dm KUnit suites were run under UML on this base with and
without the series: 1897 and 1906 cases, all passing; the backlight
suite goes from 70 to 79 cases. The rebase and the test runs were
LLM-assisted.

v2: https://lore.kernel.org/r/cover.1788388049.git.arc@empyreal.works

Andrei Rusu de Castro (2):
drm/amd/display: keep custom brightness curve in userspace domain
drm/amd/display: test custom brightness with non-zero minimum

.../display/amdgpu_dm/amdgpu_dm_backlight.c | 13 +-
.../display/amdgpu_dm/amdgpu_dm_backlight.h | 3 +-
.../tests/amdgpu_dm_backlight_test.c | 294 +++++++++++++++++-
3 files changed, 286 insertions(+), 24 deletions(-)


base-commit: 77f548b127c6de34ce271fa09ba270cb1ef9f2da
--
2.56.0