[PATCH] drm/radeon: enable native backlight control on old macs
Nathan-J. Hirschauer
nathanhi at deepserve.info
Tue Feb 17 17:51:16 PST 2015
On Tue, 17 Feb 2015, Alex Deucher <alexdeucher_at_gmail.com> wrote:
> Commit b7bc596ebbe0cddc97d76ef9309f64471bbf13eb accidently
> broke backlight control on old mac laptops that use the
> on-GPU backlight controller.
>
> Reported by nathanhi on IRC.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Cc: stable at vger.kernel.org
> ---
> drivers/gpu/drm/radeon/radeon_encoders.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c
b/drivers/gpu/drm/radeon/radeon_encoders.c
> index 6b670b0..275ed45 100644
> --- a/drivers/gpu/drm/radeon/radeon_encoders.c
> +++ b/drivers/gpu/drm/radeon/radeon_encoders.c
> @@ -179,6 +179,9 @@ static void radeon_encoder_add_backlight(struct
radeon_encoder *radeon_encoder,
> (rdev->pdev->subsystem_vendor == 0x1734) &&
> (rdev->pdev->subsystem_device == 0x1107))
> use_bl = false;
> + /* enable native backlight control on apple */
> + else if (rdev->pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE)
> + use_bl = true;
> /* disable native backlight control on older asics */
> else if (rdev->family < CHIP_R600)
> use_bl = false;
> --
> 1.8.3.1
Hi,
thanks for your patch. I've tested it but it didn't won't work as the
graphics chip is (unfortunately) detected with PCI_VENDOR_ID_ATI instead
of PCI_VENDOR_ID_APPLE. I therefore propose the following patch:
Commit b7bc596ebbe0 ("drm/radeon: disable native
backlight control on pre-r6xx asics (v2)") accidently
broke backlight control on old mac laptops that use the
on-GPU backlight controller.
Signed-off-by: Nathan-J. Hirschauer <nathanhi at deepserve.info>
---
drivers/gpu/drm/radeon/radeon_encoders.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c
b/drivers/gpu/drm/radeon/radeon_encoders.c
index 6b670b0..3a29703 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -179,9 +179,12 @@ static void radeon_encoder_add_backlight(struct
radeon_encoder *radeon_encoder,
(rdev->pdev->subsystem_vendor == 0x1734) &&
(rdev->pdev->subsystem_device == 0x1107))
use_bl = false;
+/* Older PPC macs use on-GPU backlight controller */
+#ifndef CONFIG_PPC_PMAC
/* disable native backlight control on older asics */
else if (rdev->family < CHIP_R600)
use_bl = false;
+#endif
else
use_bl = true;
}
--
2.1.4
BR,
Nathan
More information about the dri-devel
mailing list