The value of "min_input_signal" returned from ATIF on a Framework AMD 13 is "12". This leads to a fairly bright minimum display backlight. Add a generic quirk infrastructure for backlight configuration to override the settings provided by the firmware. Also add amdgpu as a user of that infrastructure and a quirk for the Framework 13 matte panel. Most likely this will also work for the glossy panel, but I can't test that. One solution would be a fixed firmware version, but given that the problem exists since the release of the hardware, it has been known for a month that the hardware can go lower and there was no acknowledgment from Framework in any way, I'd like to explore this alternative way forward. Notes: * Should the quirk infrastructure be part of drm_edid.c? * The current allocation of struct drm_edid in amdgpu is bad. But it is done the same way in other parts of amdgpu. I do have patches migrating amdgpu to proper usage of struct drm_edid [0] Mario: I intentionally left out the consideration of the firmware version. The quirk will stay correct even if the firmware starts reporting correct values. If there are strong opinions it would be easy to add, though. Based on amdgpu/drm-next. [0] https://lore.kernel.org/lkml/20240616-amdgpu-edid-bios-v1-1-2874f212b365@xxxxxxxxxxxxxx/ --- Changes in v2: - Introduce proper drm backlight quirk infrastructure - Quirk by EDID and DMI instead of only DMI - Limit quirk to only single Framework 13 matte panel - Link to v1: https://lore.kernel.org/r/20240610-amdgpu-min-backlight-quirk-v1-1-8459895a5b2a@xxxxxxxxxxxxxx --- Thomas Weißschuh (3): drm: Add panel backlight quirks drm: panel-backlight-quirks: Add Framework 13 matte panel drm/amd/display: Add support backlight quirks Documentation/gpu/drm-kms-helpers.rst | 3 + drivers/gpu/drm/Kconfig | 4 ++ drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/amd/amdgpu/Kconfig | 1 + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 28 +++++++++ drivers/gpu/drm/drm_panel_backlight_quirks.c | 76 +++++++++++++++++++++++ include/drm/drm_utils.h | 11 ++++ 7 files changed, 124 insertions(+) --- base-commit: 1ecef5589320fd56af599b624d59c355d162ac7b change-id: 20240610-amdgpu-min-backlight-quirk-8402fd8e736a Best regards, -- Thomas Weißschuh <linux@xxxxxxxxxxxxxx>