2024-01-27 10:27:27

by Baolu Lu

[permalink] [raw]
Subject: [PATCH 1/1] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA

Commit 62edf5dc4a524 ("intel-iommu: Restore DMAR_BROKEN_GFX_WA option for
broken graphics drivers") was introduced 24 years ago as a temporary
workaround for graphics drivers that used physical addresses for DMA and
avoided DMA APIs. This workaround was disabled by default.

As 24 years have passed, it is expected that graphics driver developers
have migrated their drivers to use kernel DMA APIs. Therefore, this
workaround is no longer required and could been removed.

Suggested-by: Kevin Tian <[email protected]>
Signed-off-by: Lu Baolu <[email protected]>
---
drivers/iommu/intel/iommu.c | 4 ----
drivers/iommu/intel/Kconfig | 11 -----------
2 files changed, 15 deletions(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 6fb5f6fceea1..fc52fcd786aa 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -2660,10 +2660,6 @@ static int __init init_dmars(void)
iommu_set_root_entry(iommu);
}

-#ifdef CONFIG_INTEL_IOMMU_BROKEN_GFX_WA
- dmar_map_gfx = 0;
-#endif
-
if (!dmar_map_gfx)
iommu_identity_mapping |= IDENTMAP_GFX;

diff --git a/drivers/iommu/intel/Kconfig b/drivers/iommu/intel/Kconfig
index 012cd2541a68..d2d34eb28d94 100644
--- a/drivers/iommu/intel/Kconfig
+++ b/drivers/iommu/intel/Kconfig
@@ -64,17 +64,6 @@ config INTEL_IOMMU_DEFAULT_ON
one is found. If this option is not selected, DMAR support can
be enabled by passing intel_iommu=on to the kernel.

-config INTEL_IOMMU_BROKEN_GFX_WA
- bool "Workaround broken graphics drivers (going away soon)"
- depends on BROKEN && X86
- help
- Current Graphics drivers tend to use physical address
- for DMA and avoid using DMA APIs. Setting this config
- option permits the IOMMU driver to set a unity map for
- all the OS-visible memory. Hence the driver can continue
- to use physical addresses for DMA, at least until this
- option is removed in the 2.6.32 kernel.
-
config INTEL_IOMMU_FLOPPY_WA
def_bool y
depends on X86
--
2.34.1



2024-01-29 02:50:37

by Tian, Kevin

[permalink] [raw]
Subject: RE: [PATCH 1/1] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA

> From: Lu Baolu <[email protected]>
> Sent: Saturday, January 27, 2024 2:45 PM
>
> Commit 62edf5dc4a524 ("intel-iommu: Restore DMAR_BROKEN_GFX_WA
> option for
> broken graphics drivers") was introduced 24 years ago as a temporary
> workaround for graphics drivers that used physical addresses for DMA and
> avoided DMA APIs. This workaround was disabled by default.
>
> As 24 years have passed, it is expected that graphics driver developers
> have migrated their drivers to use kernel DMA APIs. Therefore, this
> workaround is no longer required and could been removed.
>
> Suggested-by: Kevin Tian <[email protected]>
> Signed-off-by: Lu Baolu <[email protected]>

Reviewed-by: Kevin Tian <[email protected]>

2024-01-29 06:03:18

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH 1/1] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA

On Sat, Jan 27, 2024 at 02:45:12PM +0800, Lu Baolu wrote:
> Commit 62edf5dc4a524 ("intel-iommu: Restore DMAR_BROKEN_GFX_WA option for
> broken graphics drivers") was introduced 24 years ago as a temporary
> workaround for graphics drivers that used physical addresses for DMA and
> avoided DMA APIs. This workaround was disabled by default.
>
> As 24 years have passed, it is expected that graphics driver developers
> have migrated their drivers to use kernel DMA APIs. Therefore, this
> workaround is no longer required and could been removed.

How about you Cc the intel graphics maintainers and get a confirmation?


2024-01-29 06:08:48

by Tian, Kevin

[permalink] [raw]
Subject: RE: [PATCH 1/1] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA

> From: Christoph Hellwig <[email protected]>
> Sent: Monday, January 29, 2024 2:03 PM
>
> On Sat, Jan 27, 2024 at 02:45:12PM +0800, Lu Baolu wrote:
> > Commit 62edf5dc4a524 ("intel-iommu: Restore DMAR_BROKEN_GFX_WA
> option for
> > broken graphics drivers") was introduced 24 years ago as a temporary
> > workaround for graphics drivers that used physical addresses for DMA and
> > avoided DMA APIs. This workaround was disabled by default.
> >
> > As 24 years have passed, it is expected that graphics driver developers
> > have migrated their drivers to use kernel DMA APIs. Therefore, this
> > workaround is no longer required and could been removed.
>
> How about you Cc the intel graphics maintainers and get a confirmation?
>

in the worst case there is still "igfx_off" option available to achieve the
same effect.

there is really no good reason to keep this config option so long while it
was intended to be removed in 2.6.32.

but yes the Intel graphics maintainers should be CCed.

2024-01-29 08:42:43

by Baolu Lu

[permalink] [raw]
Subject: Re: [PATCH 1/1] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA

On 2024/1/29 14:08, Tian, Kevin wrote:
>> From: Christoph Hellwig <[email protected]>
>> Sent: Monday, January 29, 2024 2:03 PM
>>
>> On Sat, Jan 27, 2024 at 02:45:12PM +0800, Lu Baolu wrote:
>>> Commit 62edf5dc4a524 ("intel-iommu: Restore DMAR_BROKEN_GFX_WA
>> option for
>>> broken graphics drivers") was introduced 24 years ago as a temporary
>>> workaround for graphics drivers that used physical addresses for DMA and
>>> avoided DMA APIs. This workaround was disabled by default.
>>>
>>> As 24 years have passed, it is expected that graphics driver developers
>>> have migrated their drivers to use kernel DMA APIs. Therefore, this
>>> workaround is no longer required and could been removed.
>>
>> How about you Cc the intel graphics maintainers and get a confirmation?
>>
>
> in the worst case there is still "igfx_off" option available to achieve the
> same effect.
>
> there is really no good reason to keep this config option so long while it
> was intended to be removed in 2.6.32.
>
> but yes the Intel graphics maintainers should be CCed.
>

You both are right.

I will add above in the commit message and Cc graphic guys with a new
upgraded version.

Best regards,
baolu

2024-01-29 11:24:46

by Robin Murphy

[permalink] [raw]
Subject: Re: [PATCH 1/1] iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WA

On 2024-01-29 7:24 am, Baolu Lu wrote:
> On 2024/1/29 14:08, Tian, Kevin wrote:
>>> From: Christoph Hellwig <[email protected]>
>>> Sent: Monday, January 29, 2024 2:03 PM
>>>
>>> On Sat, Jan 27, 2024 at 02:45:12PM +0800, Lu Baolu wrote:
>>>> Commit 62edf5dc4a524 ("intel-iommu: Restore DMAR_BROKEN_GFX_WA
>>> option for
>>>> broken graphics drivers") was introduced 24 years ago as a temporary
>>>> workaround for graphics drivers that used physical addresses for DMA
>>>> and
>>>> avoided DMA APIs. This workaround was disabled by default.
>>>>
>>>> As 24 years have passed, it is expected that graphics driver developers
>>>> have migrated their drivers to use kernel DMA APIs. Therefore, this
>>>> workaround is no longer required and could been removed.
>>>
>>> How about you Cc the intel graphics maintainers and get a confirmation?
>>>
>>
>> in the worst case there is still "igfx_off" option available to
>> achieve the
>> same effect.
>>
>> there is really no good reason to keep this config option so long
>> while it
>> was intended to be removed in 2.6.32.
>>
>> but yes the Intel graphics maintainers should be CCed.
>>
>
> You both are right.
>
> I will add above in the commit message and Cc graphic guys with a new
> upgraded version.

Right, you're not removing the actual workaround at all, you're only
removing the Kconfig option to force it on by default, which clearly
nobody is using since it's been dead code since 2009 with 0c02a20ff769
("intel-iommu: Kill DMAR_BROKEN_GFX_WA option.")

Cheers,
Robin.