diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-15 12:20:13 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-15 12:20:13 -0800 |
commit | b39dc9c4e2ea5642746caef720fba39e8338b09e (patch) | |
tree | 5df782bfee7a9ca60ab2e6916b937df946a7a8fe | |
parent | a376f20fe56d138164d5ef205351f30b10b8ae98 (diff) | |
download | stable-queue-b39dc9c4e2ea5642746caef720fba39e8338b09e.tar.gz |
.36 patches
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 |