Fix backlight regression on older radeon devices (rhbz 1278407)
This commit is contained in:
parent
8b2cbe9390
commit
8127f2969b
|
@ -0,0 +1,62 @@
|
|||
From ae93580ee59c02395c1711d3e6b90546b8137b86 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Deucher <alexander.deucher@amd.com>
|
||||
Date: Tue, 27 Oct 2015 10:56:44 -0400
|
||||
Subject: [PATCH 2/2] drm/radeon: fix dpms when driver backlight control is
|
||||
disabled
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
If driver backlight control is disabled, either by driver
|
||||
parameter or default per-asic setting, revert to the old behavior.
|
||||
|
||||
Fixes a regression in commit:
|
||||
4281f46ef839050d2ef60348f661eb463c21cc2e
|
||||
|
||||
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
drivers/gpu/drm/radeon/atombios_encoders.c | 18 ++++++++++++++----
|
||||
1 file changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c
|
||||
index 933fd1bc849b..bb292143997e 100644
|
||||
--- a/drivers/gpu/drm/radeon/atombios_encoders.c
|
||||
+++ b/drivers/gpu/drm/radeon/atombios_encoders.c
|
||||
@@ -1625,9 +1625,14 @@ radeon_atom_encoder_dpms_avivo(struct drm_encoder *encoder, int mode)
|
||||
} else
|
||||
atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
|
||||
if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
|
||||
- struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
|
||||
+ if (rdev->mode_info.bl_encoder) {
|
||||
+ struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv;
|
||||
|
||||
- atombios_set_backlight_level(radeon_encoder, dig->backlight_level);
|
||||
+ atombios_set_backlight_level(radeon_encoder, dig->backlight_level);
|
||||
+ } else {
|
||||
+ args.ucAction = ATOM_LCD_BLON;
|
||||
+ atom_execute_table(rdev->mode_info.atom_context, index, (uint32_t *)&args);
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
case DRM_MODE_DPMS_STANDBY:
|
||||
@@ -1707,8 +1712,13 @@ radeon_atom_encoder_dpms_dig(struct drm_encoder *encoder, int mode)
|
||||
if (ASIC_IS_DCE4(rdev))
|
||||
atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_ON, 0);
|
||||
}
|
||||
- if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
|
||||
- atombios_set_backlight_level(radeon_encoder, dig->backlight_level);
|
||||
+ if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
|
||||
+ if (rdev->mode_info.bl_encoder)
|
||||
+ atombios_set_backlight_level(radeon_encoder, dig->backlight_level);
|
||||
+ else
|
||||
+ atombios_dig_transmitter_setup(encoder,
|
||||
+ ATOM_TRANSMITTER_ACTION_LCD_BLON, 0, 0);
|
||||
+ }
|
||||
if (ext_encoder)
|
||||
atombios_external_encoder_setup(encoder, ext_encoder, ATOM_ENABLE);
|
||||
break;
|
||||
--
|
||||
2.4.3
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
From 4cee6a9057d5e13911f0cb6e143d11dc1a3245dd Mon Sep 17 00:00:00 2001
|
||||
From: Alex Deucher <alexander.deucher@amd.com>
|
||||
Date: Wed, 28 Oct 2015 14:26:32 -0400
|
||||
Subject: [PATCH 1/2] drm/radeon: move bl encoder assignment into bl init
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
So that the bl encoder will be null if the GPU does not
|
||||
control the backlight.
|
||||
|
||||
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
drivers/gpu/drm/radeon/atombios_encoders.c | 1 +
|
||||
drivers/gpu/drm/radeon/radeon_encoders.c | 1 -
|
||||
drivers/gpu/drm/radeon/radeon_legacy_encoders.c | 1 +
|
||||
3 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c
|
||||
index 65adb9c72377..933fd1bc849b 100644
|
||||
--- a/drivers/gpu/drm/radeon/atombios_encoders.c
|
||||
+++ b/drivers/gpu/drm/radeon/atombios_encoders.c
|
||||
@@ -237,6 +237,7 @@ void radeon_atom_backlight_init(struct radeon_encoder *radeon_encoder,
|
||||
backlight_update_status(bd);
|
||||
|
||||
DRM_INFO("radeon atom DIG backlight initialized\n");
|
||||
+ rdev->mode_info.bl_encoder = radeon_encoder;
|
||||
|
||||
return;
|
||||
|
||||
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
|
||||
index ef99917f000d..c6ee80216cf4 100644
|
||||
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
|
||||
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
|
||||
@@ -194,7 +194,6 @@ static void radeon_encoder_add_backlight(struct radeon_encoder *radeon_encoder,
|
||||
radeon_atom_backlight_init(radeon_encoder, connector);
|
||||
else
|
||||
radeon_legacy_backlight_init(radeon_encoder, connector);
|
||||
- rdev->mode_info.bl_encoder = radeon_encoder;
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
|
||||
index 45715307db71..30de43366eae 100644
|
||||
--- a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
|
||||
+++ b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
|
||||
@@ -441,6 +441,7 @@ void radeon_legacy_backlight_init(struct radeon_encoder *radeon_encoder,
|
||||
backlight_update_status(bd);
|
||||
|
||||
DRM_INFO("radeon legacy LVDS backlight initialized\n");
|
||||
+ rdev->mode_info.bl_encoder = radeon_encoder;
|
||||
|
||||
return;
|
||||
|
||||
--
|
||||
2.4.3
|
||||
|
11
kernel.spec
11
kernel.spec
|
@ -637,6 +637,10 @@ Patch542: 0001-xhci-Add-spurious-wakeup-quirk-for-LynxPoint-LP-cont.patch
|
|||
Patch543: isdn_ppp-Add-checks-for-allocation-failure-in-isdn_p.patch
|
||||
Patch544: ppp-slip-Validate-VJ-compression-slot-parameters-com.patch
|
||||
|
||||
#rhbz 1278407
|
||||
Patch545: drm-radeon-move-bl-encoder-assignment-into-bl-init.patch
|
||||
Patch546: drm-radeon-fix-dpms-when-driver-backlight-control-is.patch
|
||||
|
||||
# END OF PATCH DEFINITIONS
|
||||
|
||||
%endif
|
||||
|
@ -1394,6 +1398,10 @@ ApplyPatch 0001-xhci-Add-spurious-wakeup-quirk-for-LynxPoint-LP-cont.patch
|
|||
ApplyPatch isdn_ppp-Add-checks-for-allocation-failure-in-isdn_p.patch
|
||||
ApplyPatch ppp-slip-Validate-VJ-compression-slot-parameters-com.patch
|
||||
|
||||
#rhbz 1278407
|
||||
ApplyPatch drm-radeon-move-bl-encoder-assignment-into-bl-init.patch
|
||||
ApplyPatch drm-radeon-fix-dpms-when-driver-backlight-control-is.patch
|
||||
|
||||
# END OF PATCH APPLICATIONS
|
||||
|
||||
%endif
|
||||
|
@ -2244,6 +2252,9 @@ fi
|
|||
#
|
||||
#
|
||||
%changelog
|
||||
* Thu Nov 05 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- Fix backlight regression on older radeon devices (rhbz 1278407)
|
||||
|
||||
* Wed Nov 4 2015 Peter Robinson <pbrobinson@fedoraproject.org>
|
||||
- Enable some IIO sensors (temp/humidity) on ARMv7
|
||||
|
||||
|
|
Loading…
Reference in New Issue