]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.36 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Feb 2011 20:20:13 +0000 (12:20 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Feb 2011 20:20:13 +0000 (12:20 -0800)
queue-2.6.36/drm-radeon-kms-add-pll-debugging-output.patch [new file with mode: 0644]
queue-2.6.36/drm-radeon-kms-add-quirk-for-mac-radeon-hd-2600-card.patch [new file with mode: 0644]
queue-2.6.36/drm-radeon-kms-adjust-quirk-for-acer-laptop.patch [new file with mode: 0644]
queue-2.6.36/drm-radeon-kms-fix-s-r-issues-with-bios-scratch-regs.patch [new file with mode: 0644]
queue-2.6.36/drm-radeon-kms-make-the-mac-rv630-quirk-generic.patch [new file with mode: 0644]
queue-2.6.36/drm-radeon-remove-0x4243-pci-id.patch [new file with mode: 0644]
queue-2.6.36/radeon-kms-fix-dp-displayport-mode-validation.patch [new file with mode: 0644]
queue-2.6.36/series

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 (file)
index 0000000..39b8e1a
--- /dev/null
@@ -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 (file)
index 0000000..216df3f
--- /dev/null
@@ -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 (file)
index 0000000..d5814c4
--- /dev/null
@@ -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 (file)
index 0000000..6f139b5
--- /dev/null
@@ -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 (file)
index 0000000..6aff65e
--- /dev/null
@@ -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 (file)
index 0000000..0c6f869
--- /dev/null
@@ -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 (file)
index 0000000..49db97b
--- /dev/null
@@ -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;
index 748bd4c26edc2d40787c105c45904c771ef06a3f..56d7c5182df43300233eafb899b42789a79985fb 100644 (file)
@@ -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