From: Greg Kroah-Hartman Date: Tue, 24 Aug 2010 18:16:23 +0000 (-0700) Subject: .34 patches X-Git-Tag: v2.6.32.21~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7a4a0d1b24a8f55b519bf6a8570b334ee54a451;p=thirdparty%2Fkernel%2Fstable-queue.git .34 patches --- 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 index 00000000000..4591933d9e7 --- /dev/null +++ b/queue-2.6.34/drm-radeon-kms-dce3-switch-pads-to-ddc-mode-when-going-i2c.patch @@ -0,0 +1,38 @@ +From 5786e2c5a3f519647c50bbc276e45d36a704415a Mon Sep 17 00:00:00 2001 +From: Alex Deucher +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 + +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 +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..3e910dd94df --- /dev/null +++ b/queue-2.6.34/drm-radeon-kms-don-t-enable-msis-on-agp-boards.patch @@ -0,0 +1,37 @@ +From da7be684c55dbaeebfc1a048d5faf52d52cb3c1f Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Thu, 12 Aug 2010 18:05:34 -0400 +Subject: drm/radeon/kms: don't enable MSIs on AGP boards + +From: Alex Deucher + +commit da7be684c55dbaeebfc1a048d5faf52d52cb3c1f upstream. + +Fixes: +https://bugs.freedesktop.org/show_bug.cgi?id=29327 + +Signed-off-by: Alex Deucher +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..f688b6afea8 --- /dev/null +++ b/queue-2.6.34/drm-radeon-kms-fix-gtt-vram-overlapping-test.patch @@ -0,0 +1,32 @@ +From 2cbeb4efc2b9739fe6019b613ae658bd2119a3eb Mon Sep 17 00:00:00 2001 +From: Jerome Glisse +Date: Mon, 16 Aug 2010 11:54:36 -0400 +Subject: drm/radeon/kms: fix GTT/VRAM overlapping test + +From: Jerome Glisse + +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 +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..510d320cccc --- /dev/null +++ b/queue-2.6.34/drm-radeon-kms-fix-sideport-detection-on-newer-rs880-boards.patch @@ -0,0 +1,31 @@ +From 4b80d954a7e54c13a5063af18d01719ad6a0daf3 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Fri, 20 Aug 2010 12:47:54 -0400 +Subject: drm/radeon/kms: fix sideport detection on newer rs880 boards + +From: Alex Deucher + +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 +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..d9cd1a37a37 --- /dev/null +++ b/queue-2.6.34/drm-radeon-kms-fix-typo-in-radeon_compute_pll_gain.patch @@ -0,0 +1,31 @@ +From 0537398b211b4f040564beec458e23571042d335 Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Tue, 17 Aug 2010 00:35:45 -0400 +Subject: drm/radeon/kms: fix typo in radeon_compute_pll_gain + +From: Alex Deucher + +commit 0537398b211b4f040564beec458e23571042d335 upstream. + +Looks like this got copied from the ddx wrong. + +Cc: Benjamin Herrenschmidt +Signed-off-by: Alex Deucher +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..74dfee3f707 --- /dev/null +++ b/queue-2.6.34/drm-stop-information-leak-of-old-kernel-stack.patch @@ -0,0 +1,40 @@ +From b9f0aee83335db1f3915f4e42a5e21b351740afd Mon Sep 17 00:00:00 2001 +From: Dave Airlie +Date: Tue, 17 Aug 2010 14:46:00 +1000 +Subject: drm: stop information leak of old kernel stack. + +From: Dave Airlie + +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 +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + 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 { diff --git a/queue-2.6.34/series b/queue-2.6.34/series index 77c123ec2e6..63fbacdba24 100644 --- a/queue-2.6.34/series +++ b/queue-2.6.34/series @@ -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