--- /dev/null
+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);
--- /dev/null
+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;
--- /dev/null
+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;
--- /dev/null
+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:
--- /dev/null
+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
--- /dev/null
+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 {
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