lkml.org 
[lkml]   [2014]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] x86: adjust irq remapping quirk for older revisions of 5500/5520 chipsets
    On Wed, Mar 12, 2014 at 02:44:33PM -0400, Neil Horman wrote:
    > 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
    >
    >
    Shoot, self-NAK, that should be <=, new post shortly.
    Neil



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