linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: John Garry <john.garry@huawei.com>,
	joro@8bytes.org, will@kernel.org, dwmw2@infradead.org,
	baolu.lu@linux.intel.com
Cc: linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	linuxarm@huawei.com, thunder.leizhen@huawei.com,
	chenxiang66@hisilicon.com
Subject: Re: [PATCH v12 5/5] iommu: Remove mode argument from iommu_set_dma_strict()
Date: Mon, 14 Jun 2021 18:19:29 +0100	[thread overview]
Message-ID: <56f1fc88-baec-e1cf-109e-59978e2d16a8@arm.com> (raw)
In-Reply-To: <b12d96fa-9879-2739-fadd-2ebb02d75918@huawei.com>

On 2021-06-14 18:03, John Garry wrote:
> On 14/06/2021 17:25, Robin Murphy wrote:
>> On 2021-06-11 13:20, John Garry wrote:
>>> We only ever now set strict mode enabled in iommu_set_dma_strict(), so
>>> just remove the argument.
>>>
>>> Signed-off-by: John Garry <john.garry@huawei.com>
>>> ---
>>>   drivers/iommu/amd/init.c    | 2 +-
>>>   drivers/iommu/intel/iommu.c | 6 +++---
>>>   drivers/iommu/iommu.c       | 5 ++---
>>>   include/linux/iommu.h       | 2 +-
>>>   4 files changed, 7 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c
>>> index 0e6ae6d68f14..27e9677ec303 100644
>>> --- a/drivers/iommu/amd/init.c
>>> +++ b/drivers/iommu/amd/init.c
>>> @@ -3098,7 +3098,7 @@ static int __init parse_amd_iommu_options(char 
>>> *str)
>>>   {
>>>       for (; *str; ++str) {
>>>           if (strncmp(str, "fullflush", 9) == 0)
>>> -            iommu_set_dma_strict(true);
>>> +            iommu_set_dma_strict();
>>>           if (strncmp(str, "force_enable", 12) == 0)
>>>               amd_iommu_force_enable = true;
>>>           if (strncmp(str, "off", 3) == 0)
>>> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
>>> index 6763e516362c..e77b8b6e7838 100644
>>> --- a/drivers/iommu/intel/iommu.c
>>> +++ b/drivers/iommu/intel/iommu.c
>>> @@ -452,7 +452,7 @@ static int __init intel_iommu_setup(char *str)
>>>               pr_warn("intel_iommu=forcedac deprecated; use 
>>> iommu.forcedac instead\n");
>>>               iommu_dma_forcedac = true;
>>>           } else if (!strncmp(str, "strict", 6)) {
>>> -            iommu_set_dma_strict(true);
>>> +            iommu_set_dma_strict();
>>>           } else if (!strncmp(str, "sp_off", 6)) {
>>>               pr_info("Disable supported super page\n");
>>>               intel_iommu_superpage = 0;
>>> @@ -4392,7 +4392,7 @@ int __init intel_iommu_init(void)
>>>            */
>>>           if (cap_caching_mode(iommu->cap)) {
>>>               pr_warn("IOMMU batching disallowed due to 
>>> virtualization\n");
>>> -            iommu_set_dma_strict(true);
>>> +            iommu_set_dma_strict();
>>>           }
>>>           iommu_device_sysfs_add(&iommu->iommu, NULL,
>>>                          intel_iommu_groups,
>>> @@ -5663,7 +5663,7 @@ static void quirk_calpella_no_shadow_gtt(struct 
>>> pci_dev *dev)
>>>       } else if (dmar_map_gfx) {
>>>           /* we have to ensure the gfx device is idle before we flush */
>>>           pci_info(dev, "Disabling batched IOTLB flush on Ironlake\n");
>>> -        iommu_set_dma_strict(true);
>>> +        iommu_set_dma_strict();
>>>       }
>>>   }
>>>   DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0040, 
>>> quirk_calpella_no_shadow_gtt);
>>> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
>>> index ccbd5d4c1a50..146cb71c7441 100644
>>> --- a/drivers/iommu/iommu.c
>>> +++ b/drivers/iommu/iommu.c
>>> @@ -350,10 +350,9 @@ static int __init iommu_dma_setup(char *str)
>>>   }
>>>   early_param("iommu.strict", iommu_dma_setup);
>>> -void iommu_set_dma_strict(bool strict)
>>> +void iommu_set_dma_strict(void)
>>>   {
>>> -    if (strict || !(iommu_cmd_line & IOMMU_CMD_LINE_STRICT))
>>
>> We shouldn't need to keep IOMMU_CMD_LINE_STRICT at all now, since it 
>> was only to prevent a driver's "default lazy" setting passed in here 
>> from downgrading an explicitly-set strict mode.
>>
>> With that cleaned up too,
>>
> 
> Patch 1/5 mentions whether the invalidation policy comes from the 
> cmdline - similar to the default domain type print - so I was going to 
> keep that.

Oh, silly me, I'd forgotten that already and was just looking at my 
local tree... Let's keep it for consistency with how we report the 
domain type then.

> And then maybe we should also set it from the deprecated x86 
> driver-specific params.

I don't think it's worth exporting more low-level guts to allow that to 
happen - tying in to iommu_set_dma_strict() would be too late, as 
before. I think the separate pr_warn()s which announce the relevant 
parameter is deprecated (but has still taken effect) should be enough.

Cheers,
Robin.

  reply	other threads:[~2021-06-14 17:19 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11 12:20 [PATCH v12 0/5] Enhance IOMMU default DMA mode build options John Garry
2021-06-11 12:20 ` [PATCH v12 1/5] iommu: Print strict or lazy mode at init time John Garry
2021-06-14 15:54   ` Robin Murphy
2021-06-11 12:20 ` [PATCH v12 2/5] iommu: Enhance IOMMU default DMA mode build options John Garry
2021-06-12  1:21   ` Lu Baolu
2021-06-14  8:11     ` John Garry
2021-06-12  2:12   ` Lu Baolu
2021-06-14 16:03   ` Robin Murphy
2021-06-11 12:20 ` [PATCH v12 3/5] iommu/vt-d: Add support for " John Garry
2021-06-12  2:14   ` Lu Baolu
2021-06-14  8:03     ` John Garry
2021-06-15  7:26       ` Lu Baolu
2021-06-15  8:25         ` Robin Murphy
2021-06-16  8:42           ` Lu Baolu
2021-06-12  2:22   ` Lu Baolu
2021-06-14  7:53     ` John Garry
2021-06-14 14:11       ` Robin Murphy
2021-06-14 14:19         ` John Garry
2021-06-14 15:05           ` Robin Murphy
2021-06-11 12:20 ` [PATCH v12 4/5] iommu/amd: " John Garry
2021-06-11 12:20 ` [PATCH v12 5/5] iommu: Remove mode argument from iommu_set_dma_strict() John Garry
2021-06-12  2:23   ` Lu Baolu
2021-06-14  7:46     ` John Garry
2021-06-14 16:25   ` Robin Murphy
2021-06-14 17:03     ` John Garry
2021-06-14 17:19       ` Robin Murphy [this message]
2021-06-14 17:24         ` John Garry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56f1fc88-baec-e1cf-109e-59978e2d16a8@arm.com \
    --to=robin.murphy@arm.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=chenxiang66@hisilicon.com \
    --cc=dwmw2@infradead.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=john.garry@huawei.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=thunder.leizhen@huawei.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).