[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1394654862-16030-1-git-send-email-nhorman@tuxdriver.com>
Date: Wed, 12 Mar 2014 16:07:42 -0400
From: Neil Horman <nhorman@...driver.com>
To: linux-kernel@...r.kernel.org
Cc: Neil Horman <nhorman@...driver.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org
Subject: [PATCH v2] x86: adjust irq remapping quirk for older revisions of 5500/5520 chipsets
A while back I posted this commit:
commit 03bbcb2e7e292838bb0244f5a7816d194c911d62
Author: Neil Horman <nhorman@...driver.com>
Date: Tue Apr 16 16:38:32 2013 -0400
iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets
Which properly disables irq remapping on the 5500/5520 chipsets that don't
correctly perform that feature. However, when I wrote it, I followed the errata
sheet linked in that commit too closely, and explicitly tied the activation of
the quirk to revision 0x13 of the chip, under the assumption that earlier
revisions were not in the field. Recently a system was reported to be suffering
from this remap bug and the quirk hadn't triggered, because the revision id
register read at a lower value that 0x13, so the quirk test failed improperly.
Given this, it seems only prudent to adjust this quirk so that any revision less
than 0x13 has the quirk asserted.
Signed-off-by: Neil Horman <nhorman@...driver.com>
CC: Thomas Gleixner <tglx@...utronix.de>
CC: Ingo Molnar <mingo@...hat.com>
CC: "H. Peter Anvin" <hpa@...or.com>
CC: x86@...nel.org
---
Change notes:
v2) fix stupid < / <= error
---
arch/x86/kernel/early-quirks.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index bc4a088..e69907a 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -208,7 +208,7 @@ static void __init intel_remapping_check(int num, int slot, int func)
* and should be flagged as broken. Additionally revisions 0x12
* and 0x22 of device id 0x3405 has this problem.
*/
- if (revision == 0x13)
+ if (revision <= 0x13)
set_irq_remapping_broken();
else if ((device == 0x3405) &&
((revision == 0x12) ||
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists