lkml.org 
[lkml]   [2014]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] x86: adjust irq remapping quirk for older revisions of 5500/5520 chipsets
Date
A while back I posted this commit:

commit 03bbcb2e7e292838bb0244f5a7816d194c911d62
Author: Neil Horman <nhorman@tuxdriver.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@tuxdriver.com>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Ingo Molnar <mingo@redhat.com>
CC: "H. Peter Anvin" <hpa@zytor.com>
CC: x86@kernel.org
---
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..2237b36 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


\
 
 \ /
  Last update: 2014-03-12 20:21    [W:0.083 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site