lkml.org 
[lkml]   [2020]   [Feb]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.5 255/542] iommu/amd: Only support x2APIC with IVHD type 11h/40h
    Date
    From: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

    [ Upstream commit 966b753cf3969553ca50bacd2b8c4ddade5ecc9e ]

    Current implementation for IOMMU x2APIC support makes use of
    the MMIO access to MSI capability block registers, which requires
    checking EFR[MsiCapMmioSup]. However, only IVHD type 11h/40h contain
    the information, and not in the IVHD type 10h IOMMU feature reporting
    field. Since the BIOS in newer systems, which supports x2APIC, would
    normally contain IVHD type 11h/40h, remove the IOMMU_FEAT_XTSUP_SHIFT
    check for IVHD type 10h, and only support x2APIC with IVHD type 11h/40h.

    Fixes: 66929812955b ('iommu/amd: Add support for X2APIC IOMMU interrupts')
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/iommu/amd_iommu_init.c | 2 --
    drivers/iommu/amd_iommu_types.h | 1 -
    2 files changed, 3 deletions(-)

    diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
    index 61628c906ce11..d7cbca8bf2cd4 100644
    --- a/drivers/iommu/amd_iommu_init.c
    +++ b/drivers/iommu/amd_iommu_init.c
    @@ -1523,8 +1523,6 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h)
    iommu->mmio_phys_end = MMIO_CNTR_CONF_OFFSET;
    if (((h->efr_attr & (0x1 << IOMMU_FEAT_GASUP_SHIFT)) == 0))
    amd_iommu_guest_ir = AMD_IOMMU_GUEST_IR_LEGACY;
    - if (((h->efr_attr & (0x1 << IOMMU_FEAT_XTSUP_SHIFT)) == 0))
    - amd_iommu_xt_mode = IRQ_REMAP_XAPIC_MODE;
    break;
    case 0x11:
    case 0x40:
    diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h
    index f8a7945f3df90..798e1533a1471 100644
    --- a/drivers/iommu/amd_iommu_types.h
    +++ b/drivers/iommu/amd_iommu_types.h
    @@ -377,7 +377,6 @@
    #define IOMMU_CAP_EFR 27

    /* IOMMU Feature Reporting Field (for IVHD type 10h */
    -#define IOMMU_FEAT_XTSUP_SHIFT 0
    #define IOMMU_FEAT_GASUP_SHIFT 6

    /* IOMMU Extended Feature Register (EFR) */
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-02-14 19:11    [W:3.364 / U:29.448 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site