| From 4fbeb5096536677d0b484280bc7ca3d8e4aff23d Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 4 May 2021 13:22:20 +0300 |
| Subject: iommu/amd: Fix extended features logging |
| |
| 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 cc9869cc48e4..fa57986c2309 100644 |
| --- a/drivers/iommu/amd/init.c |
| +++ b/drivers/iommu/amd/init.c |
| @@ -1914,8 +1914,8 @@ static void print_iommu_info(void) |
| pci_info(pdev, "Found IOMMU cap 0x%hx\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 |
| |