]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Dec 2014 00:02:40 +0000 (16:02 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Dec 2014 00:02:40 +0000 (16:02 -0800)
added patches:
drm-radeon-fix-endian-swapping-in-vbios-fetch-for-tdp-table.patch
gpu-radeon-set-flag-to-indicate-broken-64-bit-msi.patch

queue-3.14/drm-radeon-fix-endian-swapping-in-vbios-fetch-for-tdp-table.patch [new file with mode: 0644]
queue-3.14/gpu-radeon-set-flag-to-indicate-broken-64-bit-msi.patch [new file with mode: 0644]
queue-3.14/series

diff --git a/queue-3.14/drm-radeon-fix-endian-swapping-in-vbios-fetch-for-tdp-table.patch b/queue-3.14/drm-radeon-fix-endian-swapping-in-vbios-fetch-for-tdp-table.patch
new file mode 100644 (file)
index 0000000..50b5612
--- /dev/null
@@ -0,0 +1,29 @@
+From 28731d5818ae25b92d1fb82fe0ac196e97102c1b Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Wed, 12 Nov 2014 19:17:02 -0500
+Subject: drm/radeon: fix endian swapping in vbios fetch for tdp table
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 28731d5818ae25b92d1fb82fe0ac196e97102c1b upstream.
+
+Value needs to be swapped on BE.
+
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/r600_dpm.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/radeon/r600_dpm.c
++++ b/drivers/gpu/drm/radeon/r600_dpm.c
+@@ -1209,7 +1209,7 @@ int r600_parse_extended_power_table(stru
+                                       (mode_info->atom_context->bios + data_offset +
+                                        le16_to_cpu(ext_hdr->usPowerTuneTableOffset));
+                               rdev->pm.dpm.dyn_state.cac_tdp_table->maximum_power_delivery_limit =
+-                                      ppt->usMaximumPowerDeliveryLimit;
++                                      le16_to_cpu(ppt->usMaximumPowerDeliveryLimit);
+                               pt = &ppt->power_tune_table;
+                       } else {
+                               ATOM_PPLIB_POWERTUNE_Table *ppt = (ATOM_PPLIB_POWERTUNE_Table *)
diff --git a/queue-3.14/gpu-radeon-set-flag-to-indicate-broken-64-bit-msi.patch b/queue-3.14/gpu-radeon-set-flag-to-indicate-broken-64-bit-msi.patch
new file mode 100644 (file)
index 0000000..b40f18f
--- /dev/null
@@ -0,0 +1,50 @@
+From 91ed6fd2c383bb8f02d66e98b4a4d2f7207249dc Mon Sep 17 00:00:00 2001
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Date: Fri, 3 Oct 2014 15:18:59 +1000
+Subject: gpu/radeon: Set flag to indicate broken 64-bit MSI
+
+From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+
+commit 91ed6fd2c383bb8f02d66e98b4a4d2f7207249dc upstream.
+
+Some radeon ASICs don't support all 64 address bits of MSIs despite
+advertising support for 64-bit MSIs in their configuration space.
+
+This breaks on systems such as IBM POWER7/8, where 64-bit MSIs can
+be assigned with some of the high address bits set.
+
+This makes use of the newly introduced "no_64bit_msi" flag in structure
+pci_dev to allow the MSI allocation code to fallback to 32-bit MSIs
+on those adapters.
+
+Adding Alex's review tag. Patch to the driver is identical to the
+reviewed one, I dropped the arch/powerpc hunk rewrote the subject
+and cset comment.
+
+Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/radeon/radeon_irq_kms.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
++++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
+@@ -202,6 +202,16 @@ static bool radeon_msi_ok(struct radeon_
+       if (rdev->flags & RADEON_IS_AGP)
+               return false;
++      /*
++       * Older chips have a HW limitation, they can only generate 40 bits
++       * of address for "64-bit" MSIs which breaks on some platforms, notably
++       * IBM POWER servers, so we limit them
++       */
++      if (rdev->family < CHIP_BONAIRE) {
++              dev_info(rdev->dev, "radeon: MSI limited to 32-bit\n");
++              rdev->pdev->no_64bit_msi = 1;
++      }
++
+       /* force MSI on */
+       if (radeon_msi == 1)
+               return true;
index 61f1072b950f828f06a710f5de30459b7cb150b2..9d642aba211165203ffb783651c5f340e9872b80 100644 (file)
@@ -63,3 +63,5 @@ nfsd-fix-slot-wake-up-race-in-the-nfsv4.1-callback-code.patch
 nfsd-don-t-halt-scanning-the-drc-lru-list-when-there-s-an.patch
 net-ping-handle-protocol-mismatching-scenario.patch
 bnx2fc-do-not-add-shared-skbs-to-the-fcoe_rx_list.patch
+drm-radeon-fix-endian-swapping-in-vbios-fetch-for-tdp-table.patch
+gpu-radeon-set-flag-to-indicate-broken-64-bit-msi.patch