drm/amd/display: Report to ACPI video if no panels were found
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 8 Dec 2022 16:42:06 +0000 (10:42 -0600)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 22 Dec 2022 16:26:42 +0000 (17:26 +0100)
On desktop APUs amdgpu doesn't create a native backlight device
as no eDP panels are found.  However if the BIOS has reported
backlight control methods in the ACPI tables then an acpi_video0
backlight device will be made 8 seconds after boot.

This has manifested in a power slider on a number of desktop APUs
ranging from Ryzen 5000 through Ryzen 7000 on various motherboard
manufacturers. To avoid this, report to the acpi video detection
that the system does not have any panel connected in the native
driver.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=1783786
Reported-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 77277d90b6e2ff328635a4d1c3e1624aba30e50d..a7eb13902af891e2d03359a275a00fd0753afb40 100644 (file)
@@ -4360,6 +4360,10 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
                amdgpu_set_panel_orientation(&aconnector->base);
        }
 
+       /* If we didn't find a panel, notify the acpi video detection */
+       if (dm->adev->flags & AMD_IS_APU && dm->num_of_edps == 0)
+               acpi_video_report_nolcd();
+
        /* Software is initialized. Now we can register interrupt handlers. */
        switch (adev->asic_type) {
 #if defined(CONFIG_DRM_AMD_DC_SI)