From f2edee6f8442aeab16795f006e111a077341de04 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 3 Jun 2014 14:05:10 -0700 Subject: [PATCH] 3.10-stable patches added patches: drm-radeon-check-buffer-relocation-offset.patch drm-radeon-fix-atpx-detection-on-non-vga-gpus.patch --- ...adeon-check-buffer-relocation-offset.patch | 33 +++++++++++++++ ...n-fix-atpx-detection-on-non-vga-gpus.patch | 42 +++++++++++++++++++ queue-3.10/series | 2 + 3 files changed, 77 insertions(+) create mode 100644 queue-3.10/drm-radeon-check-buffer-relocation-offset.patch create mode 100644 queue-3.10/drm-radeon-fix-atpx-detection-on-non-vga-gpus.patch diff --git a/queue-3.10/drm-radeon-check-buffer-relocation-offset.patch b/queue-3.10/drm-radeon-check-buffer-relocation-offset.patch new file mode 100644 index 00000000000..a5277d00a2d --- /dev/null +++ b/queue-3.10/drm-radeon-check-buffer-relocation-offset.patch @@ -0,0 +1,33 @@ +From 695daf1a8e731a4b5b89de89a61f32a4d7ad7094 Mon Sep 17 00:00:00 2001 +From: Leo Liu +Date: Mon, 28 Apr 2014 09:40:22 -0400 +Subject: drm/radeon: check buffer relocation offset +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Leo Liu + +commit 695daf1a8e731a4b5b89de89a61f32a4d7ad7094 upstream. + +Signed-off-by: Leo Liu +Signed-off-by: Christian König +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/radeon_uvd.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/gpu/drm/radeon/radeon_uvd.c ++++ b/drivers/gpu/drm/radeon/radeon_uvd.c +@@ -449,6 +449,10 @@ static int radeon_uvd_cs_reloc(struct ra + cmd = radeon_get_ib_value(p, p->idx) >> 1; + + if (cmd < 0x4) { ++ if (end <= start) { ++ DRM_ERROR("invalid reloc offset %X!\n", offset); ++ return -EINVAL; ++ } + if ((end - start) < buf_sizes[cmd]) { + DRM_ERROR("buffer to small (%d / %d)!\n", + (unsigned)(end - start), buf_sizes[cmd]); diff --git a/queue-3.10/drm-radeon-fix-atpx-detection-on-non-vga-gpus.patch b/queue-3.10/drm-radeon-fix-atpx-detection-on-non-vga-gpus.patch new file mode 100644 index 00000000000..7fd4b462e02 --- /dev/null +++ b/queue-3.10/drm-radeon-fix-atpx-detection-on-non-vga-gpus.patch @@ -0,0 +1,42 @@ +From e9a4099a59cc598a44006059dd775c25e422b772 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Tue, 15 Apr 2014 12:44:34 -0400 +Subject: drm/radeon: fix ATPX detection on non-VGA GPUs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Alex Deucher + +commit e9a4099a59cc598a44006059dd775c25e422b772 upstream. + +Some newer PX laptops have the pci device class +set to DISPLAY_OTHER rather than DISPLAY_VGA. This +properly detects ATPX on those laptops. + +Based on a patch from: Pali Rohár + +Signed-off-by: Alex Deucher +Cc: airlied@gmail.com +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/radeon/radeon_atpx_handler.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/gpu/drm/radeon/radeon_atpx_handler.c ++++ b/drivers/gpu/drm/radeon/radeon_atpx_handler.c +@@ -523,6 +523,13 @@ static bool radeon_atpx_detect(void) + has_atpx |= (radeon_atpx_pci_probe_handle(pdev) == true); + } + ++ /* some newer PX laptops mark the dGPU as a non-VGA display device */ ++ while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_OTHER << 8, pdev)) != NULL) { ++ vga_count++; ++ ++ has_atpx |= (radeon_atpx_pci_probe_handle(pdev) == true); ++ } ++ + if (has_atpx && vga_count == 2) { + acpi_get_name(radeon_atpx_priv.atpx.handle, ACPI_FULL_PATHNAME, &buffer); + printk(KERN_INFO "VGA switcheroo: detected switching method %s handle\n", diff --git a/queue-3.10/series b/queue-3.10/series index e2e26c8bd19..6a1cef63a69 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -28,3 +28,5 @@ hrtimer-prevent-remote-enqueue-of-leftmost-timers.patch hrtimer-set-expiry-time-before-switch_hrtimer_base.patch md-avoid-possible-spinning-md-thread-at-shutdown.patch drm-i915-break-encoder-crtc-link-separately-in-intel_sanitize_crtc.patch +drm-radeon-fix-atpx-detection-on-non-vga-gpus.patch +drm-radeon-check-buffer-relocation-offset.patch -- 2.47.3