All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
@ 2022-02-23  6:29 Tejas Upadhyay
  2022-02-24  5:42 ` Lu Baolu
  0 siblings, 1 reply; 10+ messages in thread
From: Tejas Upadhyay @ 2022-02-23  6:29 UTC (permalink / raw)
  To: iommu; +Cc: Raviteja Goud Talla, Rodrigo Vivi

The VT-d spec requires (10.4.4 Global Command Register, TE
field) that:

Hardware implementations supporting DMA draining must drain
any in-flight DMA read/write requests queued within the
Root-Complex before completing the translation enable
command and reflecting the status of the command through
the TES field in the Global Status register.

Unfortunately, some integrated graphic devices fail to do
so after some kind of power state transition. As the
result, the system might stuck in iommu_disable_translati
on(), waiting for the completion of TE transition.

This adds RPLS to a quirk list for those devices and skips
TE disabling if the qurik hits.

Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
Fixes: LCK-10789
Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
---
 drivers/iommu/intel/iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 92fea3fbbb11..be9487516617 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -5743,7 +5743,7 @@ static void quirk_igfx_skip_te_disable(struct pci_dev *dev)
 	ver = (dev->device >> 8) & 0xff;
 	if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
 	    ver != 0x4e && ver != 0x8a && ver != 0x98 &&
-	    ver != 0x9a)
+	    ver != 0x9a && ver != 0xa7)
 		return;
 
 	if (risky_device(dev))
-- 
2.34.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-02-23  6:29 [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling Tejas Upadhyay
@ 2022-02-24  5:42 ` Lu Baolu
  2022-02-24 13:39   ` Vivi, Rodrigo
  0 siblings, 1 reply; 10+ messages in thread
From: Lu Baolu @ 2022-02-24  5:42 UTC (permalink / raw)
  To: Tejas Upadhyay, iommu; +Cc: Raviteja Goud Talla, Rodrigo Vivi

On 2/23/22 2:29 PM, Tejas Upadhyay wrote:
> The VT-d spec requires (10.4.4 Global Command Register, TE
> field) that:
> 
> Hardware implementations supporting DMA draining must drain
> any in-flight DMA read/write requests queued within the
> Root-Complex before completing the translation enable
> command and reflecting the status of the command through
> the TES field in the Global Status register.
> 
> Unfortunately, some integrated graphic devices fail to do
> so after some kind of power state transition. As the
> result, the system might stuck in iommu_disable_translati
> on(), waiting for the completion of TE transition.
> 
> This adds RPLS to a quirk list for those devices and skips
> TE disabling if the qurik hits.
> 
> Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> Fixes: LCK-10789

Remove this please.

> Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
> ---
>   drivers/iommu/intel/iommu.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> index 92fea3fbbb11..be9487516617 100644
> --- a/drivers/iommu/intel/iommu.c
> +++ b/drivers/iommu/intel/iommu.c
> @@ -5743,7 +5743,7 @@ static void quirk_igfx_skip_te_disable(struct pci_dev *dev)
>   	ver = (dev->device >> 8) & 0xff;
>   	if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
>   	    ver != 0x4e && ver != 0x8a && ver != 0x98 &&
> -	    ver != 0x9a)
> +	    ver != 0x9a && ver != 0xa7)
>   		return;
>   
>   	if (risky_device(dev))

This is a quirk for integrated graphic device. Rodrigo, does this
hardware needs this quirk as well?

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-02-24  5:42 ` Lu Baolu
@ 2022-02-24 13:39   ` Vivi, Rodrigo
  2022-02-25  2:20     ` Lu Baolu
  0 siblings, 1 reply; 10+ messages in thread
From: Vivi, Rodrigo @ 2022-02-24 13:39 UTC (permalink / raw)
  To: Surendrakumar Upadhyay, TejaskumarX, baolu.lu, iommu
  Cc: Talla, RavitejaX Goud

On Thu, 2022-02-24 at 13:42 +0800, Lu Baolu wrote:
> On 2/23/22 2:29 PM, Tejas Upadhyay wrote:
> > The VT-d spec requires (10.4.4 Global Command Register, TE
> > field) that:
> > 
> > Hardware implementations supporting DMA draining must drain
> > any in-flight DMA read/write requests queued within the
> > Root-Complex before completing the translation enable
> > command and reflecting the status of the command through
> > the TES field in the Global Status register.
> > 
> > Unfortunately, some integrated graphic devices fail to do
> > so after some kind of power state transition. As the
> > result, the system might stuck in iommu_disable_translati
> > on(), waiting for the completion of TE transition.
> > 
> > This adds RPLS to a quirk list for those devices and skips
> > TE disabling if the qurik hits.
> > 
> > Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> > Fixes: LCK-10789
> 
> Remove this please.

good catch. Wrong use of Fixes tag.
"Fixes:" should only be used for patches fixing other patches and
mentioning the commit id.

Baolu,
could you mind if we use

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898

or maybe

References: https://gitlab.freedesktop.org/drm/intel/-/issues/4898

This last one seems to be the one use in drivers/iommu
and the Closes is what we use in drm-intel, hence the one used
with gitlab.freedesktop links in general.

> 
> > Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Tejas Upadhyay
> > <tejaskumarx.surendrakumar.upadhyay@intel.com>

you can keep my rv-b

> > ---
> >   drivers/iommu/intel/iommu.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/iommu/intel/iommu.c
> > b/drivers/iommu/intel/iommu.c
> > index 92fea3fbbb11..be9487516617 100644
> > --- a/drivers/iommu/intel/iommu.c
> > +++ b/drivers/iommu/intel/iommu.c
> > @@ -5743,7 +5743,7 @@ static void quirk_igfx_skip_te_disable(struct
> > pci_dev *dev)
> >         ver = (dev->device >> 8) & 0xff;
> >         if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
> >             ver != 0x4e && ver != 0x8a && ver != 0x98 &&
> > -           ver != 0x9a)
> > +           ver != 0x9a && ver != 0xa7)
> >                 return;
> >   
> >         if (risky_device(dev))
> 
> This is a quirk for integrated graphic device. Rodrigo, does this
> hardware needs this quirk as well?

Yes, 0xa7* are RPL-S that are integrated and very similar to 0x46*
(ADL-S)

I would prefer to have a more expanded list instead of group or at
least some defines with the platform names.

Thanks,
Rodrigo.

> 
> Best regards,
> baolu

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-02-24 13:39   ` Vivi, Rodrigo
@ 2022-02-25  2:20     ` Lu Baolu
  2022-02-25 14:12       ` Vivi, Rodrigo
  0 siblings, 1 reply; 10+ messages in thread
From: Lu Baolu @ 2022-02-25  2:20 UTC (permalink / raw)
  To: Vivi, Rodrigo, Surendrakumar Upadhyay, TejaskumarX, iommu
  Cc: Talla, RavitejaX Goud

On 2/24/22 9:39 PM, Vivi, Rodrigo wrote:
> On Thu, 2022-02-24 at 13:42 +0800, Lu Baolu wrote:
>> On 2/23/22 2:29 PM, Tejas Upadhyay wrote:
>>> The VT-d spec requires (10.4.4 Global Command Register, TE
>>> field) that:
>>>
>>> Hardware implementations supporting DMA draining must drain
>>> any in-flight DMA read/write requests queued within the
>>> Root-Complex before completing the translation enable
>>> command and reflecting the status of the command through
>>> the TES field in the Global Status register.
>>>
>>> Unfortunately, some integrated graphic devices fail to do
>>> so after some kind of power state transition. As the
>>> result, the system might stuck in iommu_disable_translati
>>> on(), waiting for the completion of TE transition.
>>>
>>> This adds RPLS to a quirk list for those devices and skips
>>> TE disabling if the qurik hits.
>>>
>>> Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
>>> Fixes: LCK-10789
>>
>> Remove this please.
> 
> good catch. Wrong use of Fixes tag.
> "Fixes:" should only be used for patches fixing other patches and
> mentioning the commit id.

This is still a fix patch, right? If so,

Fixes: b1012ca8dc4f9 "iommu/vt-d: Skip TE disabling on quirky gfx 
dedicated iommu"
Cc: stable@vger.kernel.org

> 
> Baolu,
> could you mind if we use
> 
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> 
> or maybe
> 
> References: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> 
> This last one seems to be the one use in drivers/iommu
> and the Closes is what we use in drm-intel, hence the one used
> with gitlab.freedesktop links in general.

How about "Link:"?

As Documentation/process/submitting-patches.rst states:

If related discussions or any other background information behind the change
can be found on the web, add 'Link:' tags pointing to it. In case your patch
fixes a bug, for example, add a tag with a URL referencing the report in the
mailing list archives or a bug tracker; if the patch is a result of some
earlier mailing list discussion or something documented on the web, point to
it.


> 
>>
>>> Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>> Signed-off-by: Tejas Upadhyay
>>> <tejaskumarx.surendrakumar.upadhyay@intel.com>
> 
> you can keep my rv-b
> 
>>> ---
>>>    drivers/iommu/intel/iommu.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/iommu/intel/iommu.c
>>> b/drivers/iommu/intel/iommu.c
>>> index 92fea3fbbb11..be9487516617 100644
>>> --- a/drivers/iommu/intel/iommu.c
>>> +++ b/drivers/iommu/intel/iommu.c
>>> @@ -5743,7 +5743,7 @@ static void quirk_igfx_skip_te_disable(struct
>>> pci_dev *dev)
>>>          ver = (dev->device >> 8) & 0xff;
>>>          if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
>>>              ver != 0x4e && ver != 0x8a && ver != 0x98 &&
>>> -           ver != 0x9a)
>>> +           ver != 0x9a && ver != 0xa7)
>>>                  return;
>>>    
>>>          if (risky_device(dev))
>>
>> This is a quirk for integrated graphic device. Rodrigo, does this
>> hardware needs this quirk as well?
> 
> Yes, 0xa7* are RPL-S that are integrated and very similar to 0x46*
> (ADL-S)

Thank you for confirming this quirk.

> 
> I would prefer to have a more expanded list instead of group or at
> least some defines with the platform names.

Yeah! That's better.

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-02-25  2:20     ` Lu Baolu
@ 2022-02-25 14:12       ` Vivi, Rodrigo
  2022-02-26  6:40         ` Lu Baolu
  0 siblings, 1 reply; 10+ messages in thread
From: Vivi, Rodrigo @ 2022-02-25 14:12 UTC (permalink / raw)
  To: Surendrakumar Upadhyay, TejaskumarX, baolu.lu, iommu
  Cc: Talla, RavitejaX Goud

On Fri, 2022-02-25 at 10:20 +0800, Lu Baolu wrote:
> On 2/24/22 9:39 PM, Vivi, Rodrigo wrote:
> > On Thu, 2022-02-24 at 13:42 +0800, Lu Baolu wrote:
> > > On 2/23/22 2:29 PM, Tejas Upadhyay wrote:
> > > > The VT-d spec requires (10.4.4 Global Command Register, TE
> > > > field) that:
> > > > 
> > > > Hardware implementations supporting DMA draining must drain
> > > > any in-flight DMA read/write requests queued within the
> > > > Root-Complex before completing the translation enable
> > > > command and reflecting the status of the command through
> > > > the TES field in the Global Status register.
> > > > 
> > > > Unfortunately, some integrated graphic devices fail to do
> > > > so after some kind of power state transition. As the
> > > > result, the system might stuck in iommu_disable_translati
> > > > on(), waiting for the completion of TE transition.
> > > > 
> > > > This adds RPLS to a quirk list for those devices and skips
> > > > TE disabling if the qurik hits.
> > > > 
> > > > Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> > > > Fixes: LCK-10789
> > > 
> > > Remove this please.
> > 
> > good catch. Wrong use of Fixes tag.
> > "Fixes:" should only be used for patches fixing other patches and
> > mentioning the commit id.
> 
> This is still a fix patch, right? If so,
> 
> Fixes: b1012ca8dc4f9 "iommu/vt-d: Skip TE disabling on quirky gfx 
> dedicated iommu"
> Cc: stable@vger.kernel.org

hm... you have a point, but I'm not comfortable with this because
for me it is like an addition of a pci id of a new platform.
Older kernels won't have the support for that anyway.
and if for every new platform we add here we need to blame this
b1012ca8dc4f9 (which did the right time when it was created)
it doesn't look fair to me.

> 

> > 
> > Baolu,
> > could you mind if we use
> > 
> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> > 
> > or maybe
> > 
> > References: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> > 
> > This last one seems to be the one use in drivers/iommu
> > and the Closes is what we use in drm-intel, hence the one used
> > with gitlab.freedesktop links in general.
> 
> How about "Link:"?
> 
> As Documentation/process/submitting-patches.rst states:
> 
> If related discussions or any other background information behind the
> change
> can be found on the web, add 'Link:' tags pointing to it. In case
> your patch
> fixes a bug, for example, add a tag with a URL referencing the report
> in the
> mailing list archives or a bug tracker; if the patch is a result of
> some
> earlier mailing list discussion or something documented on the web,
> point to
> it.

yeap, "Link:" works well too.

With these changes could we get your ack to merge to drm-intel?

or do you prefer to go through your iommu path?

> 
> 
> > 
> > > 
> > > > Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
> > > > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > Signed-off-by: Tejas Upadhyay
> > > > <tejaskumarx.surendrakumar.upadhyay@intel.com>
> > 
> > you can keep my rv-b
> > 
> > > > ---
> > > >    drivers/iommu/intel/iommu.c | 2 +-
> > > >    1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/iommu/intel/iommu.c
> > > > b/drivers/iommu/intel/iommu.c
> > > > index 92fea3fbbb11..be9487516617 100644
> > > > --- a/drivers/iommu/intel/iommu.c
> > > > +++ b/drivers/iommu/intel/iommu.c
> > > > @@ -5743,7 +5743,7 @@ static void
> > > > quirk_igfx_skip_te_disable(struct
> > > > pci_dev *dev)
> > > >          ver = (dev->device >> 8) & 0xff;
> > > >          if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
> > > >              ver != 0x4e && ver != 0x8a && ver != 0x98 &&
> > > > -           ver != 0x9a)
> > > > +           ver != 0x9a && ver != 0xa7)
> > > >                  return;
> > > >    
> > > >          if (risky_device(dev))
> > > 
> > > This is a quirk for integrated graphic device. Rodrigo, does this
> > > hardware needs this quirk as well?
> > 
> > Yes, 0xa7* are RPL-S that are integrated and very similar to 0x46*
> > (ADL-S)
> 
> Thank you for confirming this quirk.
> 
> > 
> > I would prefer to have a more expanded list instead of group or at
> > least some defines with the platform names.
> 
> Yeah! That's better.

could be done in a follow up right?!

Thanks,
Rodrigo.

> 
> Best regards,
> baolu

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-02-25 14:12       ` Vivi, Rodrigo
@ 2022-02-26  6:40         ` Lu Baolu
  2022-02-28 20:58           ` Vivi, Rodrigo
  0 siblings, 1 reply; 10+ messages in thread
From: Lu Baolu @ 2022-02-26  6:40 UTC (permalink / raw)
  To: Vivi, Rodrigo, Surendrakumar Upadhyay, TejaskumarX, iommu
  Cc: Talla, RavitejaX Goud

On 2/25/22 10:12 PM, Vivi, Rodrigo wrote:
> On Fri, 2022-02-25 at 10:20 +0800, Lu Baolu wrote:
>> On 2/24/22 9:39 PM, Vivi, Rodrigo wrote:
>>> On Thu, 2022-02-24 at 13:42 +0800, Lu Baolu wrote:
>>>> On 2/23/22 2:29 PM, Tejas Upadhyay wrote:
>>>>> The VT-d spec requires (10.4.4 Global Command Register, TE
>>>>> field) that:
>>>>>
>>>>> Hardware implementations supporting DMA draining must drain
>>>>> any in-flight DMA read/write requests queued within the
>>>>> Root-Complex before completing the translation enable
>>>>> command and reflecting the status of the command through
>>>>> the TES field in the Global Status register.
>>>>>
>>>>> Unfortunately, some integrated graphic devices fail to do
>>>>> so after some kind of power state transition. As the
>>>>> result, the system might stuck in iommu_disable_translati
>>>>> on(), waiting for the completion of TE transition.
>>>>>
>>>>> This adds RPLS to a quirk list for those devices and skips
>>>>> TE disabling if the qurik hits.
>>>>>
>>>>> Fixes:https://gitlab.freedesktop.org/drm/intel/-/issues/4898
>>>>> Fixes: LCK-10789
>>>> Remove this please.
>>> good catch. Wrong use of Fixes tag.
>>> "Fixes:" should only be used for patches fixing other patches and
>>> mentioning the commit id.
>> This is still a fix patch, right? If so,
>>
>> Fixes: b1012ca8dc4f9 "iommu/vt-d: Skip TE disabling on quirky gfx
>> dedicated iommu"
>> Cc:stable@vger.kernel.org
> hm... you have a point, but I'm not comfortable with this because
> for me it is like an addition of a pci id of a new platform.
> Older kernels won't have the support for that anyway.
> and if for every new platform we add here we need to blame this
> b1012ca8dc4f9 (which did the right time when it was created)
> it doesn't look fair to me.

I have no idea about the graphic roadmap. So I'd like you to decide it.

> 
>>> Baolu,
>>> could you mind if we use
>>>
>>> Closes:https://gitlab.freedesktop.org/drm/intel/-/issues/4898
>>>
>>> or maybe
>>>
>>> References:https://gitlab.freedesktop.org/drm/intel/-/issues/4898
>>>
>>> This last one seems to be the one use in drivers/iommu
>>> and the Closes is what we use in drm-intel, hence the one used
>>> with gitlab.freedesktop links in general.
>> How about "Link:"?
>>
>> As Documentation/process/submitting-patches.rst states:
>>
>> If related discussions or any other background information behind the
>> change
>> can be found on the web, add 'Link:' tags pointing to it. In case
>> your patch
>> fixes a bug, for example, add a tag with a URL referencing the report
>> in the
>> mailing list archives or a bug tracker; if the patch is a result of
>> some
>> earlier mailing list discussion or something documented on the web,
>> point to
>> it.
> yeap, "Link:" works well too.
> 
> With these changes could we get your ack to merge to drm-intel?

This change in VT-d driver looks good to me.

Acked-by: Lu Baolu <baolu.lu@linux.intel.com>

Best regards,
baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-02-26  6:40         ` Lu Baolu
@ 2022-02-28 20:58           ` Vivi, Rodrigo
  0 siblings, 0 replies; 10+ messages in thread
From: Vivi, Rodrigo @ 2022-02-28 20:58 UTC (permalink / raw)
  To: Surendrakumar Upadhyay, TejaskumarX, baolu.lu, iommu
  Cc: Talla, RavitejaX Goud

On Sat, 2022-02-26 at 14:40 +0800, Lu Baolu wrote:
> On 2/25/22 10:12 PM, Vivi, Rodrigo wrote:
> > On Fri, 2022-02-25 at 10:20 +0800, Lu Baolu wrote:
> > > On 2/24/22 9:39 PM, Vivi, Rodrigo wrote:
> > > > On Thu, 2022-02-24 at 13:42 +0800, Lu Baolu wrote:
> > > > > On 2/23/22 2:29 PM, Tejas Upadhyay wrote:
> > > > > > The VT-d spec requires (10.4.4 Global Command Register, TE
> > > > > > field) that:
> > > > > > 
> > > > > > Hardware implementations supporting DMA draining must drain
> > > > > > any in-flight DMA read/write requests queued within the
> > > > > > Root-Complex before completing the translation enable
> > > > > > command and reflecting the status of the command through
> > > > > > the TES field in the Global Status register.
> > > > > > 
> > > > > > Unfortunately, some integrated graphic devices fail to do
> > > > > > so after some kind of power state transition. As the
> > > > > > result, the system might stuck in iommu_disable_translati
> > > > > > on(), waiting for the completion of TE transition.
> > > > > > 
> > > > > > This adds RPLS to a quirk list for those devices and skips
> > > > > > TE disabling if the qurik hits.
> > > > > > 
> > > > > > Fixes:https://gitlab.freedesktop.org/drm/intel/-
> > > > > > /issues/4898
> > > > > > Fixes: LCK-10789
> > > > > Remove this please.
> > > > good catch. Wrong use of Fixes tag.
> > > > "Fixes:" should only be used for patches fixing other patches
> > > > and
> > > > mentioning the commit id.
> > > This is still a fix patch, right? If so,
> > > 
> > > Fixes: b1012ca8dc4f9 "iommu/vt-d: Skip TE disabling on quirky gfx
> > > dedicated iommu"
> > > Cc:stable@vger.kernel.org
> > hm... you have a point, but I'm not comfortable with this because
> > for me it is like an addition of a pci id of a new platform.
> > Older kernels won't have the support for that anyway.
> > and if for every new platform we add here we need to blame this
> > b1012ca8dc4f9 (which did the right time when it was created)
> > it doesn't look fair to me.
> 
> I have no idea about the graphic roadmap. So I'd like you to decide
> it.

okay, so no Fixes or CC-stable it is.

> 
> > 
> > > > Baolu,
> > > > could you mind if we use
> > > > 
> > > > Closes:https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> > > > 
> > > > or maybe
> > > > 
> > > > References:https://gitlab.freedesktop.org/drm/intel/-
> > > > /issues/4898
> > > > 
> > > > This last one seems to be the one use in drivers/iommu
> > > > and the Closes is what we use in drm-intel, hence the one used
> > > > with gitlab.freedesktop links in general.
> > > How about "Link:"?
> > > 
> > > As Documentation/process/submitting-patches.rst states:
> > > 
> > > If related discussions or any other background information behind
> > > the
> > > change
> > > can be found on the web, add 'Link:' tags pointing to it. In case
> > > your patch
> > > fixes a bug, for example, add a tag with a URL referencing the
> > > report
> > > in the
> > > mailing list archives or a bug tracker; if the patch is a result
> > > of
> > > some
> > > earlier mailing list discussion or something documented on the
> > > web,
> > > point to
> > > it.
> > yeap, "Link:" works well too.

Tejas, please change it to "Link:"

> > 
> > With these changes could we get your ack to merge to drm-intel?
> 
> This change in VT-d driver looks good to me.
> 
> Acked-by: Lu Baolu <baolu.lu@linux.intel.com>

and please resend to intel-gfx cc'ing the iommu mailing list.
no topic/core-for-CI prefix this time, just a clean submission so
we can get that and apply to drm-intel/drm-intel-next after
passing our CI.

Thank you all,
Rodrigo.



> 
> Best regards,
> baolu

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
  2022-03-02  4:29 Tejas Upadhyay
@ 2022-03-02  4:47 ` Surendrakumar Upadhyay, TejaskumarX
  0 siblings, 0 replies; 10+ messages in thread
From: Surendrakumar Upadhyay, TejaskumarX @ 2022-03-02  4:47 UTC (permalink / raw)
  To: gfx-internal-devel; +Cc: iommu, Talla, RavitejaX Goud, Vivi, Rodrigo

Please ignore this patch, its sent by mistake to wrong mailing list.

Thanks,
Tejas

> -----Original Message-----
> From: Surendrakumar Upadhyay, TejaskumarX
> <tejaskumarx.surendrakumar.upadhyay@intel.com>
> Sent: 02 March 2022 10:00
> To: gfx-internal-devel@eclists.intel.com
> Cc: iommu@lists.linux-foundation.org; Surendrakumar Upadhyay,
> TejaskumarX <tejaskumarx.surendrakumar.upadhyay@intel.com>; Talla,
> RavitejaX Goud <ravitejax.goud.talla@intel.com>; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Lu Baolu <baolu.lu@linux.intel.com>
> Subject: [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
> 
> The VT-d spec requires (10.4.4 Global Command Register, TE
> field) that:
> 
> Hardware implementations supporting DMA draining must drain any in-flight
> DMA read/write requests queued within the Root-Complex before
> completing the translation enable command and reflecting the status of the
> command through the TES field in the Global Status register.
> 
> Unfortunately, some integrated graphic devices fail to do so after some kind
> of power state transition. As the result, the system might stuck in
> iommu_disable_translati on(), waiting for the completion of TE transition.
> 
> This adds RPLS to a quirk list for those devices and skips TE disabling if the
> qurik hits.
> 
> Link: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
> Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
> Signed-off-by: Tejas Upadhyay
> <tejaskumarx.surendrakumar.upadhyay@intel.com>
> ---
>  drivers/iommu/intel/iommu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> index 639e4438827e..bd6dac90a948 100644
> --- a/drivers/iommu/intel/iommu.c
> +++ b/drivers/iommu/intel/iommu.c
> @@ -5741,7 +5741,7 @@ static void quirk_igfx_skip_te_disable(struct
> pci_dev *dev)
>  	ver = (dev->device >> 8) & 0xff;
>  	if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
>  	    ver != 0x4e && ver != 0x8a && ver != 0x98 &&
> -	    ver != 0x9a)
> +	    ver != 0x9a && ver != 0xa7)
>  		return;
> 
>  	if (risky_device(dev))
> --
> 2.34.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
@ 2022-03-02  4:32 Tejas Upadhyay
  0 siblings, 0 replies; 10+ messages in thread
From: Tejas Upadhyay @ 2022-03-02  4:32 UTC (permalink / raw)
  To: intel-gfx; +Cc: iommu, Raviteja Goud Talla, Rodrigo Vivi

The VT-d spec requires (10.4.4 Global Command Register, TE
field) that:

Hardware implementations supporting DMA draining must drain
any in-flight DMA read/write requests queued within the
Root-Complex before completing the translation enable
command and reflecting the status of the command through
the TES field in the Global Status register.

Unfortunately, some integrated graphic devices fail to do
so after some kind of power state transition. As the
result, the system might stuck in iommu_disable_translati
on(), waiting for the completion of TE transition.

This adds RPLS to a quirk list for those devices and skips
TE disabling if the qurik hits.

Link: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
---
 drivers/iommu/intel/iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 639e4438827e..bd6dac90a948 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -5741,7 +5741,7 @@ static void quirk_igfx_skip_te_disable(struct pci_dev *dev)
 	ver = (dev->device >> 8) & 0xff;
 	if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
 	    ver != 0x4e && ver != 0x8a && ver != 0x98 &&
-	    ver != 0x9a)
+	    ver != 0x9a && ver != 0xa7)
 		return;
 
 	if (risky_device(dev))
-- 
2.34.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling
@ 2022-03-02  4:29 Tejas Upadhyay
  2022-03-02  4:47 ` Surendrakumar Upadhyay, TejaskumarX
  0 siblings, 1 reply; 10+ messages in thread
From: Tejas Upadhyay @ 2022-03-02  4:29 UTC (permalink / raw)
  To: gfx-internal-devel; +Cc: iommu, Raviteja Goud Talla, Rodrigo Vivi

The VT-d spec requires (10.4.4 Global Command Register, TE
field) that:

Hardware implementations supporting DMA draining must drain
any in-flight DMA read/write requests queued within the
Root-Complex before completing the translation enable
command and reflecting the status of the command through
the TES field in the Global Status register.

Unfortunately, some integrated graphic devices fail to do
so after some kind of power state transition. As the
result, the system might stuck in iommu_disable_translati
on(), waiting for the completion of TE transition.

This adds RPLS to a quirk list for those devices and skips
TE disabling if the qurik hits.

Link: https://gitlab.freedesktop.org/drm/intel/-/issues/4898
Tested-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
---
 drivers/iommu/intel/iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 639e4438827e..bd6dac90a948 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -5741,7 +5741,7 @@ static void quirk_igfx_skip_te_disable(struct pci_dev *dev)
 	ver = (dev->device >> 8) & 0xff;
 	if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
 	    ver != 0x4e && ver != 0x8a && ver != 0x98 &&
-	    ver != 0x9a)
+	    ver != 0x9a && ver != 0xa7)
 		return;
 
 	if (risky_device(dev))
-- 
2.34.1

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-03-02  4:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-23  6:29 [PATCH] iommu/vt-d: Add RPLS to quirk list to skip TE disabling Tejas Upadhyay
2022-02-24  5:42 ` Lu Baolu
2022-02-24 13:39   ` Vivi, Rodrigo
2022-02-25  2:20     ` Lu Baolu
2022-02-25 14:12       ` Vivi, Rodrigo
2022-02-26  6:40         ` Lu Baolu
2022-02-28 20:58           ` Vivi, Rodrigo
2022-03-02  4:29 Tejas Upadhyay
2022-03-02  4:47 ` Surendrakumar Upadhyay, TejaskumarX
2022-03-02  4:32 Tejas Upadhyay

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.