RE: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-21 Thread Sider, Graham
[Public]

> -Original Message-
> From: Christian König 
> Sent: Tuesday, March 21, 2023 2:53 PM
> To: Sider, Graham ; Russell, Kent
> ; Mahfooz, Hamza ;
> amd-gfx@lists.freedesktop.org
> Cc: Kuehling, Felix 
> Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation mode
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> Am 17.03.23 um 21:04 schrieb Sider, Graham:
> > [AMD Official Use Only - General]
> >
> >
> >
> >> -Original Message-
> >> From: Russell, Kent 
> >> Sent: Friday, March 17, 2023 3:58 PM
> >> To: Mahfooz, Hamza ; Sider, Graham
> >> ; amd-gfx@lists.freedesktop.org
> >> Cc: Kuehling, Felix 
> >> Subject: RE: [PATCH] drm/amdgpu: add print for iommu translation mode
> >>
> >> [AMD Official Use Only - General]
> >>
> >>
> >>
> >>> -Original Message-
> >>> From: amd-gfx  On Behalf Of
> >>> Hamza Mahfooz
> >>> Sent: Friday, March 17, 2023 3:58 PM
> >>> To: Sider, Graham ;
> >>> amd-gfx@lists.freedesktop.org
> >>> Cc: Kuehling, Felix 
> >>> Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation
> >>> mode
> >>>
> >>>
> >>> On 3/17/23 15:47, Graham Sider wrote:
> >>>> Add log to display whether RAM is direct vs DMA mapped.
> >>>>
> >>>> Signed-off-by: Graham Sider 
> >>> If this information is only useful for debugging purposes, please
> >>> use
> >>> drm_dbg() instead of pr_info().
> > It's useful for more than just debug I would say. Just a quick way to grep
> whether IOMMU is off/pt vs device isolation mode.
> 
> Mhm, shouldn't the IOMMU code note that as well?
>

As of right now, not exactly. Copy-pasting Felix's comment here:

The kernel log [currently] tells you the default IOMMU domain, but it may not 
match the domain actually used for the GPU. Without this message there is no 
easy way to tell from a kernel log. This will help with triaging issues from 
logs provided by external and internal users.

Graham

> 
> Christian.
> 
> >
> > Graham
> >
> >>>> ---
> >>>>drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
> >>>>1 file changed, 5 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>>> index 8bba5e6872a1..8797a9523244 100644
> >>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>>> @@ -3528,8 +3528,12 @@ static void
> >>> amdgpu_device_check_iommu_direct_map(struct amdgpu_device
> *adev)
> >>>>struct iommu_domain *domain;
> >>>>
> >>>>domain = iommu_get_domain_for_dev(adev->dev);
> >>>> -  if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
> >>>> +  if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
> >>>> +  pr_info("RAM is direct mapped to GPU (not traslated by
> >> traslated -> translated
> >>
> > Thanks, my keyboard keeps skipping the on the 'n' key lately :( time for a
> clean.
> >
> > Graham
> >
> >>   Kent
> >>> IOMMU)\n");
> >>>>adev->ram_is_direct_mapped = true;
> >>>> +  } else {
> >>>> +  pr_info("RAM is DMA mapped to GPU (translated by
> >>> IOMMU)\n");
> >>>> +  }
> >>>>}
> >>>>
> >>>>static const struct attribute *amdgpu_dev_attributes[] = {
> >>> --
> >>> Hamza


Re: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-21 Thread Christian König

Am 17.03.23 um 21:04 schrieb Sider, Graham:

[AMD Official Use Only - General]




-Original Message-
From: Russell, Kent 
Sent: Friday, March 17, 2023 3:58 PM
To: Mahfooz, Hamza ; Sider, Graham
; amd-gfx@lists.freedesktop.org
Cc: Kuehling, Felix 
Subject: RE: [PATCH] drm/amdgpu: add print for iommu translation mode

[AMD Official Use Only - General]




-Original Message-
From: amd-gfx  On Behalf Of
Hamza Mahfooz
Sent: Friday, March 17, 2023 3:58 PM
To: Sider, Graham ;
amd-gfx@lists.freedesktop.org
Cc: Kuehling, Felix 
Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation mode


On 3/17/23 15:47, Graham Sider wrote:

Add log to display whether RAM is direct vs DMA mapped.

Signed-off-by: Graham Sider 

If this information is only useful for debugging purposes, please use
drm_dbg() instead of pr_info().

It's useful for more than just debug I would say. Just a quick way to grep 
whether IOMMU is off/pt vs device isolation mode.


Mhm, shouldn't the IOMMU code note that as well?

Christian.



Graham


---
   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
   1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 8bba5e6872a1..8797a9523244 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3528,8 +3528,12 @@ static void

amdgpu_device_check_iommu_direct_map(struct amdgpu_device *adev)

struct iommu_domain *domain;

domain = iommu_get_domain_for_dev(adev->dev);
-   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
+   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
+   pr_info("RAM is direct mapped to GPU (not traslated by

traslated -> translated


Thanks, my keyboard keeps skipping the on the 'n' key lately :( time for a 
clean.

Graham


  Kent

IOMMU)\n");

adev->ram_is_direct_mapped = true;
+   } else {
+   pr_info("RAM is DMA mapped to GPU (translated by

IOMMU)\n");

+   }
   }

   static const struct attribute *amdgpu_dev_attributes[] = {

--
Hamza




RE: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-20 Thread Sider, Graham
[Public]

> -Original Message-
> From: Kuehling, Felix 
> Sent: Friday, March 17, 2023 5:16 PM
> To: Sider, Graham ; Russell, Kent
> ; Mahfooz, Hamza ;
> amd-gfx@lists.freedesktop.org
> Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation mode
> 
> On 2023-03-17 16:04, Sider, Graham wrote:
> > [AMD Official Use Only - General]
> >
> >
> >
> >> -Original Message-
> >> From: Russell, Kent 
> >> Sent: Friday, March 17, 2023 3:58 PM
> >> To: Mahfooz, Hamza ; Sider, Graham
> >> ; amd-gfx@lists.freedesktop.org
> >> Cc: Kuehling, Felix 
> >> Subject: RE: [PATCH] drm/amdgpu: add print for iommu translation mode
> >>
> >> [AMD Official Use Only - General]
> >>
> >>
> >>
> >>> -Original Message-
> >>> From: amd-gfx  On Behalf Of
> >>> Hamza Mahfooz
> >>> Sent: Friday, March 17, 2023 3:58 PM
> >>> To: Sider, Graham ;
> >>> amd-gfx@lists.freedesktop.org
> >>> Cc: Kuehling, Felix 
> >>> Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation
> >>> mode
> >>>
> >>>
> >>> On 3/17/23 15:47, Graham Sider wrote:
> >>>> Add log to display whether RAM is direct vs DMA mapped.
> >>>>
> >>>> Signed-off-by: Graham Sider 
> >>> If this information is only useful for debugging purposes, please
> >>> use
> >>> drm_dbg() instead of pr_info().
> > It's useful for more than just debug I would say. Just a quick way to grep
> whether IOMMU is off/pt vs device isolation mode.
> 
> I agree. The kernel log otherwise tells you the default IOMMU domain, but it
> may not match the domain actually used for the GPU. Without this message
> there is no easy way to tell from a kernel log. This will help with triaging 
> issues
> from logs provided by external and internal users.
> 
> 
> >
> > Graham
> >
> >>>> ---
> >>>>drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
> >>>>1 file changed, 5 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>>> index 8bba5e6872a1..8797a9523244 100644
> >>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> >>>> @@ -3528,8 +3528,12 @@ static void
> >>> amdgpu_device_check_iommu_direct_map(struct amdgpu_device
> *adev)
> >>>>  struct iommu_domain *domain;
> >>>>
> >>>>  domain = iommu_get_domain_for_dev(adev->dev);
> >>>> -if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
> >>>> +if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
> >>>> +pr_info("RAM is direct mapped to GPU (not traslated by
> 
> Use dev_info. That way you can tell which GPU the message applies to in a
> multi-GPU system.
> 

Good point - will do that. Thanks!

Graham

> Regards,
>    Felix
> 
> 
> >> traslated -> translated
> >>
> > Thanks, my keyboard keeps skipping the on the 'n' key lately :( time for a
> clean.
> >
> > Graham
> >
> >>   Kent
> >>> IOMMU)\n");
> >>>>  adev->ram_is_direct_mapped = true;
> >>>> +} else {
> >>>> +pr_info("RAM is DMA mapped to GPU (translated by
> >>> IOMMU)\n");
> >>>> +}
> >>>>}
> >>>>
> >>>>static const struct attribute *amdgpu_dev_attributes[] = {
> >>> --
> >>> Hamza


Re: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-17 Thread Felix Kuehling

On 2023-03-17 16:04, Sider, Graham wrote:

[AMD Official Use Only - General]




-Original Message-
From: Russell, Kent 
Sent: Friday, March 17, 2023 3:58 PM
To: Mahfooz, Hamza ; Sider, Graham
; amd-gfx@lists.freedesktop.org
Cc: Kuehling, Felix 
Subject: RE: [PATCH] drm/amdgpu: add print for iommu translation mode

[AMD Official Use Only - General]




-Original Message-
From: amd-gfx  On Behalf Of
Hamza Mahfooz
Sent: Friday, March 17, 2023 3:58 PM
To: Sider, Graham ;
amd-gfx@lists.freedesktop.org
Cc: Kuehling, Felix 
Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation mode


On 3/17/23 15:47, Graham Sider wrote:

Add log to display whether RAM is direct vs DMA mapped.

Signed-off-by: Graham Sider 

If this information is only useful for debugging purposes, please use
drm_dbg() instead of pr_info().

It's useful for more than just debug I would say. Just a quick way to grep 
whether IOMMU is off/pt vs device isolation mode.


I agree. The kernel log otherwise tells you the default IOMMU domain, 
but it may not match the domain actually used for the GPU. Without this 
message there is no easy way to tell from a kernel log. This will help 
with triaging issues from logs provided by external and internal users.





Graham


---
   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
   1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 8bba5e6872a1..8797a9523244 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3528,8 +3528,12 @@ static void

amdgpu_device_check_iommu_direct_map(struct amdgpu_device *adev)

struct iommu_domain *domain;

domain = iommu_get_domain_for_dev(adev->dev);
-   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
+   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
+   pr_info("RAM is direct mapped to GPU (not traslated by


Use dev_info. That way you can tell which GPU the message applies to in 
a multi-GPU system.


Regards,
  Felix



traslated -> translated


Thanks, my keyboard keeps skipping the on the 'n' key lately :( time for a 
clean.

Graham


  Kent

IOMMU)\n");

adev->ram_is_direct_mapped = true;
+   } else {
+   pr_info("RAM is DMA mapped to GPU (translated by

IOMMU)\n");

+   }
   }

   static const struct attribute *amdgpu_dev_attributes[] = {

--
Hamza


RE: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-17 Thread Sider, Graham
[AMD Official Use Only - General]



> -Original Message-
> From: Russell, Kent 
> Sent: Friday, March 17, 2023 3:58 PM
> To: Mahfooz, Hamza ; Sider, Graham
> ; amd-gfx@lists.freedesktop.org
> Cc: Kuehling, Felix 
> Subject: RE: [PATCH] drm/amdgpu: add print for iommu translation mode
> 
> [AMD Official Use Only - General]
> 
> 
> 
> > -Original Message-
> > From: amd-gfx  On Behalf Of
> > Hamza Mahfooz
> > Sent: Friday, March 17, 2023 3:58 PM
> > To: Sider, Graham ;
> > amd-gfx@lists.freedesktop.org
> > Cc: Kuehling, Felix 
> > Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation mode
> >
> >
> > On 3/17/23 15:47, Graham Sider wrote:
> > > Add log to display whether RAM is direct vs DMA mapped.
> > >
> > > Signed-off-by: Graham Sider 
> >
> > If this information is only useful for debugging purposes, please use
> > drm_dbg() instead of pr_info().

It's useful for more than just debug I would say. Just a quick way to grep 
whether IOMMU is off/pt vs device isolation mode.

Graham

> >
> > > ---
> > >   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
> > >   1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > index 8bba5e6872a1..8797a9523244 100644
> > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > > @@ -3528,8 +3528,12 @@ static void
> > amdgpu_device_check_iommu_direct_map(struct amdgpu_device *adev)
> > >   struct iommu_domain *domain;
> > >
> > >   domain = iommu_get_domain_for_dev(adev->dev);
> > > - if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
> > > + if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
> > > + pr_info("RAM is direct mapped to GPU (not traslated by
> traslated -> translated
> 

Thanks, my keyboard keeps skipping the on the 'n' key lately :( time for a 
clean.

Graham

>  Kent
> > IOMMU)\n");
> > >   adev->ram_is_direct_mapped = true;
> > > + } else {
> > > + pr_info("RAM is DMA mapped to GPU (translated by
> > IOMMU)\n");
> > > + }
> > >   }
> > >
> > >   static const struct attribute *amdgpu_dev_attributes[] = {
> >
> > --
> > Hamza


RE: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-17 Thread Russell, Kent
[AMD Official Use Only - General]



> -Original Message-
> From: amd-gfx  On Behalf Of Hamza
> Mahfooz
> Sent: Friday, March 17, 2023 3:58 PM
> To: Sider, Graham ; amd-gfx@lists.freedesktop.org
> Cc: Kuehling, Felix 
> Subject: Re: [PATCH] drm/amdgpu: add print for iommu translation mode
> 
> 
> On 3/17/23 15:47, Graham Sider wrote:
> > Add log to display whether RAM is direct vs DMA mapped.
> >
> > Signed-off-by: Graham Sider 
> 
> If this information is only useful for debugging purposes, please use
> drm_dbg() instead of pr_info().
> 
> > ---
> >   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
> >   1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > index 8bba5e6872a1..8797a9523244 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > @@ -3528,8 +3528,12 @@ static void
> amdgpu_device_check_iommu_direct_map(struct amdgpu_device *adev)
> > struct iommu_domain *domain;
> >
> > domain = iommu_get_domain_for_dev(adev->dev);
> > -   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
> > +   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
> > +   pr_info("RAM is direct mapped to GPU (not traslated by
traslated -> translated

 Kent
> IOMMU)\n");
> > adev->ram_is_direct_mapped = true;
> > +   } else {
> > +   pr_info("RAM is DMA mapped to GPU (translated by
> IOMMU)\n");
> > +   }
> >   }
> >
> >   static const struct attribute *amdgpu_dev_attributes[] = {
> 
> --
> Hamza


Re: [PATCH] drm/amdgpu: add print for iommu translation mode

2023-03-17 Thread Hamza Mahfooz



On 3/17/23 15:47, Graham Sider wrote:

Add log to display whether RAM is direct vs DMA mapped.

Signed-off-by: Graham Sider 


If this information is only useful for debugging purposes, please use
drm_dbg() instead of pr_info().


---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +-
  1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 8bba5e6872a1..8797a9523244 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3528,8 +3528,12 @@ static void amdgpu_device_check_iommu_direct_map(struct 
amdgpu_device *adev)
struct iommu_domain *domain;
  
  	domain = iommu_get_domain_for_dev(adev->dev);

-   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY)
+   if (!domain || domain->type == IOMMU_DOMAIN_IDENTITY) {
+   pr_info("RAM is direct mapped to GPU (not traslated by 
IOMMU)\n");
adev->ram_is_direct_mapped = true;
+   } else {
+   pr_info("RAM is DMA mapped to GPU (translated by IOMMU)\n");
+   }
  }
  
  static const struct attribute *amdgpu_dev_attributes[] = {


--
Hamza