summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-02-15 12:20:13 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-15 12:20:13 -0800
commitb39dc9c4e2ea5642746caef720fba39e8338b09e (patch)
tree5df782bfee7a9ca60ab2e6916b937df946a7a8fe
parenta376f20fe56d138164d5ef205351f30b10b8ae98 (diff)
downloadstable-queue-b39dc9c4e2ea5642746caef720fba39e8338b09e.tar.gz
.36 patches
-rw-r--r--queue-2.6.36/drm-radeon-kms-add-pll-debugging-output.patch30
-rw-r--r--queue-2.6.36/drm-radeon-kms-add-quirk-for-mac-radeon-hd-2600-card.patch41
-rw-r--r--queue-2.6.36/drm-radeon-kms-adjust-quirk-for-acer-laptop.patch73
-rw-r--r--queue-2.6.36/drm-radeon-kms-fix-s-r-issues-with-bios-scratch-regs.patch51
-rw-r--r--queue-2.6.36/drm-radeon-kms-make-the-mac-rv630-quirk-generic.patch43
-rw-r--r--queue-2.6.36/drm-radeon-remove-0x4243-pci-id.patch32
-rw-r--r--queue-2.6.36/radeon-kms-fix-dp-displayport-mode-validation.patch35
-rw-r--r--queue-2.6.36/series7
8 files changed, 312 insertions, 0 deletions
diff --git a/queue-2.6.36/drm-radeon-kms-add-pll-debugging-output.patch b/queue-2.6.36/drm-radeon-kms-add-pll-debugging-output.patch
new file mode 100644
index 0000000000..39b8e1ae84
--- /dev/null
+++ b/queue-2.6.36/drm-radeon-kms-add-pll-debugging-output.patch
@@ -0,0 +1,30 @@
+From 51d4bf840a27fe02c883ddc6d9708af056773769 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Mon, 31 Jan 2011 16:48:51 -0500
+Subject: drm/radeon/kms: add pll debugging output
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 51d4bf840a27fe02c883ddc6d9708af056773769 upstream.
+
+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_display.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/gpu/drm/radeon/radeon_display.c
++++ b/drivers/gpu/drm/radeon/radeon_display.c
+@@ -629,6 +629,10 @@ static void radeon_compute_pll_legacy(st
+ *frac_fb_div_p = best_frac_feedback_div;
+ *ref_div_p = best_ref_div;
+ *post_div_p = best_post_div;
++ DRM_DEBUG_KMS("%d %d, pll dividers - fb: %d.%d ref: %d, post %d\n",
++ freq, best_freq / 1000, best_feedback_div, best_frac_feedback_div,
++ best_ref_div, best_post_div);
++
+ }
+
+ static bool
diff --git a/queue-2.6.36/drm-radeon-kms-add-quirk-for-mac-radeon-hd-2600-card.patch b/queue-2.6.36/drm-radeon-kms-add-quirk-for-mac-radeon-hd-2600-card.patch
new file mode 100644
index 0000000000..216df3fc25
--- /dev/null
+++ b/queue-2.6.36/drm-radeon-kms-add-quirk-for-mac-radeon-hd-2600-card.patch
@@ -0,0 +1,41 @@
+From f598aa7593427ffe3a61e7767c34bd695a5e7ed0 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue, 4 Jan 2011 00:43:39 -0500
+Subject: drm/radeon/kms: add quirk for Mac Radeon HD 2600 card
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit f598aa7593427ffe3a61e7767c34bd695a5e7ed0 upstream.
+
+Reported-by: 屋国遥 <hyagni@gmail.com>
+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 | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -388,6 +388,17 @@ static bool radeon_atom_apply_quirks(str
+ *line_mux = 0x90;
+ }
+
++ /* mac rv630 */
++ if ((dev->pdev->device == 0x9588) &&
++ (dev->pdev->subsystem_vendor == 0x106b) &&
++ (dev->pdev->subsystem_device == 0x00a6)) {
++ if ((supported_device == ATOM_DEVICE_TV1_SUPPORT) &&
++ (*connector_type == DRM_MODE_CONNECTOR_DVII)) {
++ *connector_type = DRM_MODE_CONNECTOR_9PinDIN;
++ *line_mux = CONNECTOR_7PIN_DIN_ENUM_ID1;
++ }
++ }
++
+ /* ASUS HD 3600 XT board lists the DVI port as HDMI */
+ if ((dev->pdev->device == 0x9598) &&
+ (dev->pdev->subsystem_vendor == 0x1043) &&
diff --git a/queue-2.6.36/drm-radeon-kms-adjust-quirk-for-acer-laptop.patch b/queue-2.6.36/drm-radeon-kms-adjust-quirk-for-acer-laptop.patch
new file mode 100644
index 0000000000..d5814c4db8
--- /dev/null
+++ b/queue-2.6.36/drm-radeon-kms-adjust-quirk-for-acer-laptop.patch
@@ -0,0 +1,73 @@
+From 2f299d5de02da3ffb1f9e1a05c91dcd1173ebd3c Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue, 4 Jan 2011 17:42:20 -0500
+Subject: drm/radeon/kms: adjust quirk for acer laptop
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 2f299d5de02da3ffb1f9e1a05c91dcd1173ebd3c upstream.
+
+Acer laptop (TravelMate 5730G) has an HDMI connector
+on the laptop and a DVI connector on the docking station
+and both share the same encoder, hpd pin, and ddc line.
+The bios connector table reflects this and is technically
+correct, however, we drop the DVI connector here since
+xrandr has no concept of encoders (only crtcs and connectors)
+and will try and drive both connectors with different crtcs
+which isn't possible on the hardware side and leaves no crtcs
+for LVDS or VGA.
+
+Fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=32732
+
+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 | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -313,7 +313,6 @@ static bool radeon_atom_apply_quirks(str
+ uint16_t *line_mux,
+ struct radeon_hpd *hpd)
+ {
+- struct radeon_device *rdev = dev->dev_private;
+
+ /* Asus M2A-VM HDMI board lists the DVI port as HDMI */
+ if ((dev->pdev->device == 0x791e) &&
+@@ -436,21 +435,23 @@ static bool radeon_atom_apply_quirks(str
+ }
+ }
+
+- /* Acer laptop reports DVI-D as DVI-I and hpd pins reversed */
++ /* Acer laptop (Acer TravelMate 5730G) has an HDMI port
++ * on the laptop and a DVI port on the docking station and
++ * both share the same encoder, hpd pin, and ddc line.
++ * So while the bios table is technically correct,
++ * we drop the DVI port here since xrandr has no concept of
++ * encoders and will try and drive both connectors
++ * with different crtcs which isn't possible on the hardware
++ * side and leaves no crtcs for LVDS or VGA.
++ */
+ if ((dev->pdev->device == 0x95c4) &&
+ (dev->pdev->subsystem_vendor == 0x1025) &&
+ (dev->pdev->subsystem_device == 0x013c)) {
+- struct radeon_gpio_rec gpio;
+-
+ if ((*connector_type == DRM_MODE_CONNECTOR_DVII) &&
+ (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) {
+- gpio = radeon_lookup_gpio(rdev, 6);
+- *hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio);
++ /* actually it's a DVI-D port not DVI-I */
+ *connector_type = DRM_MODE_CONNECTOR_DVID;
+- } else if ((*connector_type == DRM_MODE_CONNECTOR_HDMIA) &&
+- (supported_device == ATOM_DEVICE_DFP1_SUPPORT)) {
+- gpio = radeon_lookup_gpio(rdev, 7);
+- *hpd = radeon_atom_get_hpd_info_from_gpio(rdev, &gpio);
++ return false;
+ }
+ }
+
diff --git a/queue-2.6.36/drm-radeon-kms-fix-s-r-issues-with-bios-scratch-regs.patch b/queue-2.6.36/drm-radeon-kms-fix-s-r-issues-with-bios-scratch-regs.patch
new file mode 100644
index 0000000000..6f139b5d31
--- /dev/null
+++ b/queue-2.6.36/drm-radeon-kms-fix-s-r-issues-with-bios-scratch-regs.patch
@@ -0,0 +1,51 @@
+From 87364760de5d631390c478fcbac8db1b926e0adf Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Wed, 2 Feb 2011 19:46:06 -0500
+Subject: drm/radeon/kms: fix s/r issues with bios scratch regs
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 87364760de5d631390c478fcbac8db1b926e0adf upstream.
+
+The accelerate mode bit gets checked by certain atom
+command tables to set up some register state. It needs
+to be clear when setting modes and set when not.
+
+Fixes:
+https://bugzilla.kernel.org/show_bug.cgi?id=26942
+
+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 | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -2303,7 +2303,7 @@ void radeon_atom_initialize_bios_scratch
+ bios_2_scratch &= ~ATOM_S2_VRI_BRIGHT_ENABLE;
+
+ /* tell the bios not to handle mode switching */
+- bios_6_scratch |= (ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH | ATOM_S6_ACC_MODE);
++ bios_6_scratch |= ATOM_S6_ACC_BLOCK_DISPLAY_SWITCH;
+
+ if (rdev->family >= CHIP_R600) {
+ WREG32(R600_BIOS_2_SCRATCH, bios_2_scratch);
+@@ -2354,10 +2354,13 @@ void radeon_atom_output_lock(struct drm_
+ else
+ bios_6_scratch = RREG32(RADEON_BIOS_6_SCRATCH);
+
+- if (lock)
++ if (lock) {
+ bios_6_scratch |= ATOM_S6_CRITICAL_STATE;
+- else
++ bios_6_scratch &= ~ATOM_S6_ACC_MODE;
++ } else {
+ bios_6_scratch &= ~ATOM_S6_CRITICAL_STATE;
++ bios_6_scratch |= ATOM_S6_ACC_MODE;
++ }
+
+ if (rdev->family >= CHIP_R600)
+ WREG32(R600_BIOS_6_SCRATCH, bios_6_scratch);
diff --git a/queue-2.6.36/drm-radeon-kms-make-the-mac-rv630-quirk-generic.patch b/queue-2.6.36/drm-radeon-kms-make-the-mac-rv630-quirk-generic.patch
new file mode 100644
index 0000000000..6aff65e526
--- /dev/null
+++ b/queue-2.6.36/drm-radeon-kms-make-the-mac-rv630-quirk-generic.patch
@@ -0,0 +1,43 @@
+From be23da8ad219650517cbbb7acbeaeb235667113a Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue, 18 Jan 2011 18:26:11 +0000
+Subject: drm/radeon/kms: make the mac rv630 quirk generic
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit be23da8ad219650517cbbb7acbeaeb235667113a upstream.
+
+Seems some other boards do this as well.
+
+Reported-by: Andrea Merello <andrea.merello@gmail.com>
+Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/radeon_atombios.c | 14 +++++---------
+ 1 file changed, 5 insertions(+), 9 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -387,15 +387,11 @@ static bool radeon_atom_apply_quirks(str
+ *line_mux = 0x90;
+ }
+
+- /* mac rv630 */
+- if ((dev->pdev->device == 0x9588) &&
+- (dev->pdev->subsystem_vendor == 0x106b) &&
+- (dev->pdev->subsystem_device == 0x00a6)) {
+- if ((supported_device == ATOM_DEVICE_TV1_SUPPORT) &&
+- (*connector_type == DRM_MODE_CONNECTOR_DVII)) {
+- *connector_type = DRM_MODE_CONNECTOR_9PinDIN;
+- *line_mux = CONNECTOR_7PIN_DIN_ENUM_ID1;
+- }
++ /* mac rv630, rv730, others */
++ if ((supported_device == ATOM_DEVICE_TV1_SUPPORT) &&
++ (*connector_type == DRM_MODE_CONNECTOR_DVII)) {
++ *connector_type = DRM_MODE_CONNECTOR_9PinDIN;
++ *line_mux = CONNECTOR_7PIN_DIN_ENUM_ID1;
+ }
+
+ /* ASUS HD 3600 XT board lists the DVI port as HDMI */
diff --git a/queue-2.6.36/drm-radeon-remove-0x4243-pci-id.patch b/queue-2.6.36/drm-radeon-remove-0x4243-pci-id.patch
new file mode 100644
index 0000000000..0c6f869926
--- /dev/null
+++ b/queue-2.6.36/drm-radeon-remove-0x4243-pci-id.patch
@@ -0,0 +1,32 @@
+From 63a507800c8aca5a1891d598ae13f829346e8e39 Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher@gmail.com>
+Date: Tue, 1 Feb 2011 19:06:46 -0500
+Subject: drm/radeon: remove 0x4243 pci id
+
+From: Alex Deucher <alexdeucher@gmail.com>
+
+commit 63a507800c8aca5a1891d598ae13f829346e8e39 upstream.
+
+0x4243 is a PCI bridge, not a GPU.
+
+Fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=33815
+
+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>
+
+---
+ include/drm/drm_pciids.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/include/drm/drm_pciids.h
++++ b/include/drm/drm_pciids.h
+@@ -28,7 +28,6 @@
+ {0x1002, 0x4156, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
+ {0x1002, 0x4237, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP}, \
+ {0x1002, 0x4242, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R200}, \
+- {0x1002, 0x4243, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R200}, \
+ {0x1002, 0x4336, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS100|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
+ {0x1002, 0x4337, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
+ {0x1002, 0x4437, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
diff --git a/queue-2.6.36/radeon-kms-fix-dp-displayport-mode-validation.patch b/queue-2.6.36/radeon-kms-fix-dp-displayport-mode-validation.patch
new file mode 100644
index 0000000000..49db97bba5
--- /dev/null
+++ b/queue-2.6.36/radeon-kms-fix-dp-displayport-mode-validation.patch
@@ -0,0 +1,35 @@
+From 6bba2e116808ca12e30c8d88dfedabf8b8d67390 Mon Sep 17 00:00:00 2001
+From: Jerome Glisse <jglisse@redhat.com>
+Date: Wed, 26 Jan 2011 17:51:03 -0500
+Subject: radeon/kms: fix dp displayport mode validation
+
+From: Jerome Glisse <jglisse@redhat.com>
+
+commit 6bba2e116808ca12e30c8d88dfedabf8b8d67390 upstream.
+
+Check if there is a big enough dp clock & enough dp lane to
+drive the video mode provided.
+
+Signed-off-by: Jerome Glisse <jglisse@redhat.com>
+Reviewed-By: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Dave Airlie <airlied@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/gpu/drm/radeon/atombios_dp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/radeon/atombios_dp.c
++++ b/drivers/gpu/drm/radeon/atombios_dp.c
+@@ -187,9 +187,9 @@ static int dp_link_clock_for_mode_clock(
+ int dp_mode_valid(u8 dpcd[DP_DPCD_SIZE], int mode_clock)
+ {
+ int lanes = dp_lanes_for_mode_clock(dpcd, mode_clock);
+- int bw = dp_lanes_for_mode_clock(dpcd, mode_clock);
++ int dp_clock = dp_link_clock_for_mode_clock(dpcd, mode_clock);
+
+- if ((lanes == 0) || (bw == 0))
++ if ((lanes == 0) || (dp_clock == 0))
+ return MODE_CLOCK_HIGH;
+
+ return MODE_OK;
diff --git a/queue-2.6.36/series b/queue-2.6.36/series
index 748bd4c26e..56d7c5182d 100644
--- a/queue-2.6.36/series
+++ b/queue-2.6.36/series
@@ -156,3 +156,10 @@ ieee80211-correct-ieee80211_addba_param_buf_size_mask-macro.patch
dm-dont-take-i_mutex-to-change-device-size.patch
dm-mpath-disable-blk_abort_queue.patch
net-fec-fix-mmfr_op-type-in-fec_enet_mdio_write.patch
+drm-radeon-kms-add-quirk-for-mac-radeon-hd-2600-card.patch
+drm-radeon-kms-adjust-quirk-for-acer-laptop.patch
+drm-radeon-kms-make-the-mac-rv630-quirk-generic.patch
+radeon-kms-fix-dp-displayport-mode-validation.patch
+drm-radeon-kms-add-pll-debugging-output.patch
+drm-radeon-remove-0x4243-pci-id.patch
+drm-radeon-kms-fix-s-r-issues-with-bios-scratch-regs.patch