Commit bcb7b0ef authored by Andriy Gapon's avatar Andriy Gapon Committed by Alex Deucher

amdgpu_acpi: add backlight control for the DC case

This uses backlight_device_set_brightness() to set the brightness
level requested via ATIF.
Signed-off-by: default avatarAndriy Gapon <avg@FreeBSD.org>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a2eb03a5
...@@ -444,7 +444,6 @@ static int amdgpu_atif_handler(struct amdgpu_device *adev, ...@@ -444,7 +444,6 @@ static int amdgpu_atif_handler(struct amdgpu_device *adev,
DRM_DEBUG_DRIVER("ATIF: %d pending SBIOS requests\n", count); DRM_DEBUG_DRIVER("ATIF: %d pending SBIOS requests\n", count);
/* todo: add DC handling */
if ((req.pending & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST) && if ((req.pending & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST) &&
!amdgpu_device_has_dc_support(adev)) { !amdgpu_device_has_dc_support(adev)) {
struct amdgpu_encoder *enc = atif->encoder_for_bl; struct amdgpu_encoder *enc = atif->encoder_for_bl;
...@@ -463,6 +462,27 @@ static int amdgpu_atif_handler(struct amdgpu_device *adev, ...@@ -463,6 +462,27 @@ static int amdgpu_atif_handler(struct amdgpu_device *adev,
#endif #endif
} }
} }
#if defined(CONFIG_DRM_AMD_DC)
#if defined(CONFIG_BACKLIGHT_CLASS_DEVICE) || defined(CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE)
if ((req.pending & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST) &&
amdgpu_device_has_dc_support(adev)) {
struct amdgpu_display_manager *dm = &adev->dm;
struct backlight_device *bd = dm->backlight_dev;
if (bd) {
DRM_DEBUG_DRIVER("Changing brightness to %d\n",
req.backlight_level);
/*
* XXX backlight_device_set_brightness() is
* hardwired to post BACKLIGHT_UPDATE_SYSFS.
* It probably should accept 'reason' parameter.
*/
backlight_device_set_brightness(bd, req.backlight_level);
}
}
#endif
#endif
if (req.pending & ATIF_DGPU_DISPLAY_EVENT) { if (req.pending & ATIF_DGPU_DISPLAY_EVENT) {
if (adev->flags & AMD_IS_PX) { if (adev->flags & AMD_IS_PX) {
pm_runtime_get_sync(adev->ddev->dev); pm_runtime_get_sync(adev->ddev->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment