lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 677/800] iommu/amd: Fix extended features logging
    Date
    From: Alexander Monakov <amonakov@ispras.ru>

    [ Upstream commit 4b21a503adf597773e4b37db05db0e9b16a81d53 ]

    print_iommu_info prints the EFR register and then the decoded list of
    features on a separate line:

    pci 0000:00:00.2: AMD-Vi: Extended features (0x206d73ef22254ade):
    PPR X2APIC NX GT IA GA PC GA_vAPIC

    The second line is emitted via 'pr_cont', which causes it to have a
    different ('warn') loglevel compared to the previous line ('info').

    Commit 9a295ff0ffc9 attempted to rectify this by removing the newline
    from the pci_info format string, but this doesn't work, as pci_info
    calls implicitly append a newline anyway.

    Printing the decoded features on the same line would make it quite long.
    Instead, change pci_info() to pr_info() to omit PCI bus location info,
    which is also shown in the preceding message. This results in:

    pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
    AMD-Vi: Extended features (0x206d73ef22254ade): PPR X2APIC NX GT IA GA PC GA_vAPIC
    AMD-Vi: Interrupt remapping enabled

    Fixes: 9a295ff0ffc9 ("iommu/amd: Print extended features in one line to fix divergent log levels")
    Link: https://lore.kernel.org/lkml/alpine.LNX.2.20.13.2104112326460.11104@monopod.intra.ispras.ru
    Signed-off-by: Alexander Monakov <amonakov@ispras.ru>
    Cc: Paul Menzel <pmenzel@molgen.mpg.de>
    Cc: Joerg Roedel <jroedel@suse.de>
    Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Cc: iommu@lists.linux-foundation.org
    Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
    Link: https://lore.kernel.org/r/20210504102220.1793-1-amonakov@ispras.ru
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/iommu/amd/init.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
    index d006724f4dc2..1ded8a69c246 100644
    --- a/drivers/iommu/amd/init.c
    +++ b/drivers/iommu/amd/init.c
    @@ -1908,8 +1908,8 @@ static void print_iommu_info(void)
    pci_info(pdev, "Found IOMMU cap 0x%x\n", iommu->cap_ptr);

    if (iommu->cap & (1 << IOMMU_CAP_EFR)) {
    - pci_info(pdev, "Extended features (%#llx):",
    - iommu->features);
    + pr_info("Extended features (%#llx):", iommu->features);
    +
    for (i = 0; i < ARRAY_SIZE(feat_str); ++i) {
    if (iommu_feature(iommu, (1ULL << i)))
    pr_cont(" %s", feat_str[i]);
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:09    [W:2.203 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site