Re: [Intel-gfx] [PATCH v3] drm/i915/mtl: Disable stolen memory backed FB for A0

2023-04-04 Thread Hogander, Jouni
On Tue, 2023-04-04 at 23:26 +0200, Das, Nirmoy wrote:
> 
> On 4/4/2023 8:27 PM, Ville Syrjälä wrote:
> > On Tue, Apr 04, 2023 at 08:13:42PM +0200, Nirmoy Das wrote:
> > > Stolen memory is not usable for MTL A0 stepping beyond
> > > certain access size and we have no control over userspace
> > > access size of /dev/fb which can be backed by stolen memory.
> > > So disable stolen memory backed fb by setting i915-
> > > >dsm.usable_size
> > > to zero.
> > > 
> > > v2: remove hsdes reference and fix commit message(Andi)
> > > v3: use revid as we want to target SOC stepping(Radhakrishna)
> > > 
> > > Cc: Matthew Auld 
> > > Cc: Andi Shyti 
> > > Cc: Daniele Ceraolo Spurio 
> > > Cc: Lucas De Marchi 
> > > Cc: Radhakrishna Sripada 
> > > Signed-off-by: Nirmoy Das 
> > > Reviewed-by: Andi Shyti 
> > > ---
> > >   drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 
> > >   1 file changed, 8 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > index 8ac376c24aa2..ee492d823f1b 100644
> > > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > @@ -535,6 +535,14 @@ static int i915_gem_init_stolen(struct
> > > intel_memory_region *mem)
> > > /* Basic memrange allocator for stolen space. */
> > > drm_mm_init(>mm.stolen, 0, i915->dsm.usable_size);
> > >   
> > > +   /*
> > > +    * Access to stolen lmem beyond certain size for MTL A0
> > > stepping
> > > +    * would crash the machine. Disable stolen lmem for
> > > userspace access
> > > +    * by setting usable_size to zero.
> > > +    */
> > > +   if (IS_METEORLAKE(i915) && INTEL_REVID(i915) == 0x0)
> > > +   i915->dsm.usable_size = 0;
> > That certainly won't prevent FBC from using stolen.
> > Are we sure that FBC accesses are fine?
> 
> I think so. I remember Jouni tested this patch internally to unblock
> a 
> FBC test.
> 
> Jouni, could you please share your thoughts. I can't seem to find the
> internal JIRA reference right now.

I tested this patch and it was fixing the problem it was targeted. I
didn't noticed any issue back then.

> 
> 
> Regards,
> 
> Nirmoy
> 
> > 
> > > +
> > > return 0;
> > >   }
> > >   
> > > -- 
> > > 2.39.0



Re: [Intel-gfx] [PATCH v3] drm/i915/mtl: Disable stolen memory backed FB for A0

2023-04-04 Thread Das, Nirmoy



On 4/4/2023 8:27 PM, Ville Syrjälä wrote:

On Tue, Apr 04, 2023 at 08:13:42PM +0200, Nirmoy Das wrote:

Stolen memory is not usable for MTL A0 stepping beyond
certain access size and we have no control over userspace
access size of /dev/fb which can be backed by stolen memory.
So disable stolen memory backed fb by setting i915->dsm.usable_size
to zero.

v2: remove hsdes reference and fix commit message(Andi)
v3: use revid as we want to target SOC stepping(Radhakrishna)

Cc: Matthew Auld 
Cc: Andi Shyti 
Cc: Daniele Ceraolo Spurio 
Cc: Lucas De Marchi 
Cc: Radhakrishna Sripada 
Signed-off-by: Nirmoy Das 
Reviewed-by: Andi Shyti 
---
  drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 
  1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c 
b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index 8ac376c24aa2..ee492d823f1b 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -535,6 +535,14 @@ static int i915_gem_init_stolen(struct intel_memory_region 
*mem)
/* Basic memrange allocator for stolen space. */
drm_mm_init(>mm.stolen, 0, i915->dsm.usable_size);
  
+	/*

+* Access to stolen lmem beyond certain size for MTL A0 stepping
+* would crash the machine. Disable stolen lmem for userspace access
+* by setting usable_size to zero.
+*/
+   if (IS_METEORLAKE(i915) && INTEL_REVID(i915) == 0x0)
+   i915->dsm.usable_size = 0;

That certainly won't prevent FBC from using stolen.
Are we sure that FBC accesses are fine?


I think so. I remember Jouni tested this patch internally to unblock a 
FBC test.


Jouni, could you please share your thoughts. I can't seem to find the 
internal JIRA reference right now.



Regards,

Nirmoy




+
return 0;
  }
  
--

2.39.0


Re: [Intel-gfx] [PATCH v3] drm/i915/mtl: Disable stolen memory backed FB for A0

2023-04-04 Thread Ville Syrjälä
On Tue, Apr 04, 2023 at 08:13:42PM +0200, Nirmoy Das wrote:
> Stolen memory is not usable for MTL A0 stepping beyond
> certain access size and we have no control over userspace
> access size of /dev/fb which can be backed by stolen memory.
> So disable stolen memory backed fb by setting i915->dsm.usable_size
> to zero.
> 
> v2: remove hsdes reference and fix commit message(Andi)
> v3: use revid as we want to target SOC stepping(Radhakrishna)
> 
> Cc: Matthew Auld 
> Cc: Andi Shyti 
> Cc: Daniele Ceraolo Spurio 
> Cc: Lucas De Marchi 
> Cc: Radhakrishna Sripada 
> Signed-off-by: Nirmoy Das 
> Reviewed-by: Andi Shyti 
> ---
>  drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 8 
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c 
> b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> index 8ac376c24aa2..ee492d823f1b 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> @@ -535,6 +535,14 @@ static int i915_gem_init_stolen(struct 
> intel_memory_region *mem)
>   /* Basic memrange allocator for stolen space. */
>   drm_mm_init(>mm.stolen, 0, i915->dsm.usable_size);
>  
> + /*
> +  * Access to stolen lmem beyond certain size for MTL A0 stepping
> +  * would crash the machine. Disable stolen lmem for userspace access
> +  * by setting usable_size to zero.
> +  */
> + if (IS_METEORLAKE(i915) && INTEL_REVID(i915) == 0x0)
> + i915->dsm.usable_size = 0;

That certainly won't prevent FBC from using stolen.
Are we sure that FBC accesses are fine?

> +
>   return 0;
>  }
>  
> -- 
> 2.39.0

-- 
Ville Syrjälä
Intel