lkml.org 
[lkml]   [2014]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] x86: adjust irq remapping quirk for older revisions of 5500/5520 chipsets
On Wed, 12 Mar 2014, 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

That probably wants to go to stable as well.

> ---
> 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
>
>


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