]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.34 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Aug 2010 18:16:23 +0000 (11:16 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Aug 2010 18:16:23 +0000 (11:16 -0700)
queue-2.6.34/drm-radeon-kms-dce3-switch-pads-to-ddc-mode-when-going-i2c.patch [new file with mode: 0644]
queue-2.6.34/drm-radeon-kms-don-t-enable-msis-on-agp-boards.patch [new file with mode: 0644]
queue-2.6.34/drm-radeon-kms-fix-gtt-vram-overlapping-test.patch [new file with mode: 0644]
queue-2.6.34/drm-radeon-kms-fix-sideport-detection-on-newer-rs880-boards.patch [new file with mode: 0644]
queue-2.6.34/drm-radeon-kms-fix-typo-in-radeon_compute_pll_gain.patch [new file with mode: 0644]
queue-2.6.34/drm-stop-information-leak-of-old-kernel-stack.patch [new file with mode: 0644]
queue-2.6.34/series

diff --git a/queue-2.6.34/drm-radeon-kms-dce3-switch-pads-to-ddc-mode-when-going-i2c.patch b/queue-2.6.34/drm-radeon-kms-dce3-switch-pads-to-ddc-mode-when-going-i2c.patch
new file mode 100644 (file)
index 0000000..4591933
--- /dev/null
@@ -0,0 +1,38 @@
+From 5786e2c5a3f519647c50bbc276e45d36a704415a Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu, 19 Aug 2010 11:19:31 -0400
+Subject: drm/radeon/kms/DCE3+: switch pads to ddc mode when going i2c
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 5786e2c5a3f519647c50bbc276e45d36a704415a upstream.
+
+The pins for ddc and aux are shared so you need to switch the
+mode when doing ddc.  The ProcessAuxChannel table already sets
+the pin mode to DP.  This should fix unreliable ddc issues
+on DP ports using non-DP monitors.
+
+Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_i2c.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/gpu/drm/radeon/radeon_i2c.c
++++ b/drivers/gpu/drm/radeon/radeon_i2c.c
+@@ -95,6 +95,13 @@ static void radeon_i2c_do_lock(struct ra
+               }
+       }
++      /* switch the pads to ddc mode */
++      if (ASIC_IS_DCE3(rdev) && rec->hw_capable) {
++              temp = RREG32(rec->mask_clk_reg);
++              temp &= ~(1 << 16);
++              WREG32(rec->mask_clk_reg, temp);
++      }
++
+       /* clear the output pin values */
+       temp = RREG32(rec->a_clk_reg) & ~rec->a_clk_mask;
+       WREG32(rec->a_clk_reg, temp);
diff --git a/queue-2.6.34/drm-radeon-kms-don-t-enable-msis-on-agp-boards.patch b/queue-2.6.34/drm-radeon-kms-don-t-enable-msis-on-agp-boards.patch
new file mode 100644 (file)
index 0000000..3e910dd
--- /dev/null
@@ -0,0 +1,37 @@
+From da7be684c55dbaeebfc1a048d5faf52d52cb3c1f Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Thu, 12 Aug 2010 18:05:34 -0400
+Subject: drm/radeon/kms: don't enable MSIs on AGP boards
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit da7be684c55dbaeebfc1a048d5faf52d52cb3c1f upstream.
+
+Fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=29327
+
+Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_irq_kms.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
++++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
+@@ -118,11 +118,12 @@ int radeon_irq_kms_init(struct radeon_de
+        * chips.  Disable MSI on them for now.
+        */
+       if ((rdev->family >= CHIP_RV380) &&
+-          (!(rdev->flags & RADEON_IS_IGP))) {
++          (!(rdev->flags & RADEON_IS_IGP)) &&
++          (!(rdev->flags & RADEON_IS_AGP))) {
+               int ret = pci_enable_msi(rdev->pdev);
+               if (!ret) {
+                       rdev->msi_enabled = 1;
+-                      DRM_INFO("radeon: using MSI.\n");
++                      dev_info(rdev->dev, "radeon: using MSI.\n");
+               }
+       }
+       rdev->irq.installed = true;
diff --git a/queue-2.6.34/drm-radeon-kms-fix-gtt-vram-overlapping-test.patch b/queue-2.6.34/drm-radeon-kms-fix-gtt-vram-overlapping-test.patch
new file mode 100644 (file)
index 0000000..f688b6a
--- /dev/null
@@ -0,0 +1,32 @@
+From 2cbeb4efc2b9739fe6019b613ae658bd2119a3eb Mon Sep 17 00:00:00 2001
+From: Jerome Glisse <jglisse@redhat.com>
+Date: Mon, 16 Aug 2010 11:54:36 -0400
+Subject: drm/radeon/kms: fix GTT/VRAM overlapping test
+
+From: Jerome Glisse <jglisse@redhat.com>
+
+commit 2cbeb4efc2b9739fe6019b613ae658bd2119a3eb upstream.
+
+GTT/VRAM overlapping test had a typo which leaded to not
+detecting case when vram_end > gtt_end. This patch fix the
+logic and should fix #16574
+
+Signed-off-by: Jerome Glisse <jglisse@redhat.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_device.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_device.c
++++ b/drivers/gpu/drm/radeon/radeon_device.c
+@@ -199,7 +199,7 @@ void radeon_vram_location(struct radeon_
+               mc->mc_vram_size = mc->aper_size;
+       }
+       mc->vram_end = mc->vram_start + mc->mc_vram_size - 1;
+-      if (rdev->flags & RADEON_IS_AGP && mc->vram_end > mc->gtt_start && mc->vram_end <= mc->gtt_end) {
++      if (rdev->flags & RADEON_IS_AGP && mc->vram_end > mc->gtt_start && mc->vram_start <= mc->gtt_end) {
+               dev_warn(rdev->dev, "limiting VRAM to PCI aperture size\n");
+               mc->real_vram_size = mc->aper_size;
+               mc->mc_vram_size = mc->aper_size;
diff --git a/queue-2.6.34/drm-radeon-kms-fix-sideport-detection-on-newer-rs880-boards.patch b/queue-2.6.34/drm-radeon-kms-fix-sideport-detection-on-newer-rs880-boards.patch
new file mode 100644 (file)
index 0000000..510d320
--- /dev/null
@@ -0,0 +1,31 @@
+From 4b80d954a7e54c13a5063af18d01719ad6a0daf3 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Fri, 20 Aug 2010 12:47:54 -0400
+Subject: drm/radeon/kms: fix sideport detection on newer rs880 boards
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 4b80d954a7e54c13a5063af18d01719ad6a0daf3 upstream.
+
+The meaning of ucMemoryType changed on recent boards, however,
+ulBootUpSidePortClock should be set properly across all boards.
+
+Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_atombios.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -1048,7 +1048,7 @@ bool radeon_atombios_sideport_present(st
+                               return true;
+                       break;
+               case 2:
+-                      if (igp_info->info_2.ucMemoryType & 0x0f)
++                      if (igp_info->info_2.ulBootUpSidePortClock)
+                               return true;
+                       break;
+               default:
diff --git a/queue-2.6.34/drm-radeon-kms-fix-typo-in-radeon_compute_pll_gain.patch b/queue-2.6.34/drm-radeon-kms-fix-typo-in-radeon_compute_pll_gain.patch
new file mode 100644 (file)
index 0000000..d9cd1a3
--- /dev/null
@@ -0,0 +1,31 @@
+From 0537398b211b4f040564beec458e23571042d335 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue, 17 Aug 2010 00:35:45 -0400
+Subject: drm/radeon/kms: fix typo in radeon_compute_pll_gain
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 0537398b211b4f040564beec458e23571042d335 upstream.
+
+Looks like this got copied from the ddx wrong.
+
+Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_legacy_crtc.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
++++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
+@@ -272,7 +272,7 @@ static uint8_t radeon_compute_pll_gain(u
+       if (!ref_div)
+               return 1;
+-      vcoFreq = ((unsigned)ref_freq & fb_div) / ref_div;
++      vcoFreq = ((unsigned)ref_freq * fb_div) / ref_div;
+       /*
+        * This is horribly crude: the VCO frequency range is divided into
diff --git a/queue-2.6.34/drm-stop-information-leak-of-old-kernel-stack.patch b/queue-2.6.34/drm-stop-information-leak-of-old-kernel-stack.patch
new file mode 100644 (file)
index 0000000..74dfee3
--- /dev/null
@@ -0,0 +1,40 @@
+From b9f0aee83335db1f3915f4e42a5e21b351740afd Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 17 Aug 2010 14:46:00 +1000
+Subject: drm: stop information leak of old kernel stack.
+
+From: Dave Airlie <airlied@redhat.com>
+
+commit b9f0aee83335db1f3915f4e42a5e21b351740afd upstream.
+
+non-critical issue, CVE-2010-2803
+
+Userspace controls the amount of memory to be allocate, so it can
+get the ioctl to allocate more memory than the kernel uses, and get
+access to kernel stack. This can only be done for processes authenticated
+to the X server for DRI access, and if the user has DRI access.
+
+Fix is to just memset the data to 0 if the user doesn't copy into
+it in the first place.
+
+Reported-by: Kees Cook <kees@ubuntu.com>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/drm_drv.c |    4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/drm_drv.c
++++ b/drivers/gpu/drm/drm_drv.c
+@@ -502,7 +502,9 @@ long drm_ioctl(struct file *filp,
+                               retcode = -EFAULT;
+                               goto err_i1;
+                       }
+-              }
++              } else
++                      memset(kdata, 0, _IOC_SIZE(cmd));
++
+               if (ioctl->flags & DRM_UNLOCKED)
+                       retcode = func(dev, kdata, file_priv);
+               else {
index 77c123ec2e66c54a68bb0df9b5f4eed1b591fbdb..63fbacdba24e6ccfcc64e3a3d86f86ea3ad760cd 100644 (file)
@@ -70,3 +70,9 @@ e1000e-don-t-check-for-alternate-mac-addr-on-parts-that-don-t-support-it.patch
 fixes-for-using-make-3.82.patch
 alsa-intel8x0-mute-external-amplifier-by-default-for-thinkpad-x31.patch
 netlink-fix-compat-recvmsg.patch
+drm-radeon-kms-don-t-enable-msis-on-agp-boards.patch
+drm-radeon-kms-fix-typo-in-radeon_compute_pll_gain.patch
+drm-radeon-kms-dce3-switch-pads-to-ddc-mode-when-going-i2c.patch
+drm-radeon-kms-fix-sideport-detection-on-newer-rs880-boards.patch
+drm-radeon-kms-fix-gtt-vram-overlapping-test.patch
+drm-stop-information-leak-of-old-kernel-stack.patch