[Intel-gfx] [PATCH 1/2] drm/i915/gt: Do not use stolen on MTL

Zeng, Oak oak.zeng at intel.com
Tue Jul 4 15:41:54 UTC 2023



Thanks,
Oak

> -----Original Message-----
> From: Nirmoy Das <nirmoy.das at linux.intel.com>
> Sent: July 4, 2023 11:31 AM
> To: Zeng, Oak <oak.zeng at intel.com>; Das, Nirmoy <nirmoy.das at intel.com>;
> intel-gfx at lists.freedesktop.org
> Cc: Hajda, Andrzej <andrzej.hajda at intel.com>
> Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/gt: Do not use stolen on MTL
> 
> Hi Oak,
> 
> On 7/4/2023 5:01 PM, Zeng, Oak wrote:
> > Hi Nirmoy,
> >
> > The changes in this series make sense to me. I searched my code base, there
> are a few other places where stolen memory is allocated:
> Thanks for checking all the places.
> >
> > 1) intel_dpt_create: I don't know what is dpt. Should we also consider this one?
> Maybe we never read from cpu?
> This expects i915_ggtt_has_aperture() which MTL doesn't have.
> > 2) create_ring_vma: I think cpu only write ring buffer but never read it. So
> should be okay.
> Same as above.
> > 3) vlv_rc6_init
> This  seems to be only for IS_VALLEYVIEW().
> > 4) there are a few places calling
> i915_gem_object_create_stolen_for_preallocated. I think this is also stolen
> memory?
> 
> Where is this from, do you mean I915_BO_PREALLOC ?

I looked some internal code, and just realized upstream code is different 😊

> 
> 
> >
> > For integrated gpu like MTL, do we use stolen memory for ggtt? If yes, does
> CPU only write ggtt/never read?
> 
> GTT pages only seems to be written.


Thanks for explaining. Series is Reviewed-by: Oak Zeng <oak.zeng at intel.com>
> 
> 
> Thanks,
> 
> Nirmoy
> 
> >
> > Thanks,
> > Oak
> >
> >> -----Original Message-----
> >> From: Das, Nirmoy <nirmoy.das at intel.com>
> >> Sent: June 30, 2023 1:02 PM
> >> To: intel-gfx at lists.freedesktop.org
> >> Cc: Das, Nirmoy <nirmoy.das at intel.com>; Zeng, Oak <oak.zeng at intel.com>;
> Jani
> >> Nikula <jani.nikula at linux.intel.com>; Joonas Lahtinen
> >> <joonas.lahtinen at linux.intel.com>; Andi Shyti <andi.shyti at linux.intel.com>;
> >> Hajda, Andrzej <andrzej.hajda at intel.com>
> >> Subject: [PATCH 1/2] drm/i915/gt: Do not use stolen on MTL
> >>
> >> Use smem on MTL due to a HW bug in MTL that prevents
> >> reading from stolen memory using LMEM BAR.
> >>
> >> Cc: Oak Zeng <oak.zeng at intel.com>
> >> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> >> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> >> Cc: Andi Shyti <andi.shyti at linux.intel.com>
> >> Cc: Andrzej Hajda <andrzej.hajda at intel.com>
> >> Signed-off-by: Nirmoy Das <nirmoy.das at intel.com>
> >> ---
> >>   drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c
> >> b/drivers/gpu/drm/i915/gt/intel_gt.c
> >> index 33a61046ba58..9f64d61dd5fc 100644
> >> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> >> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> >> @@ -466,7 +466,7 @@ static int intel_gt_init_scratch(struct intel_gt *gt,
> unsigned
> >> int size)
> >>   	obj = i915_gem_object_create_lmem(i915, size,
> >>   					  I915_BO_ALLOC_VOLATILE |
> >>   					  I915_BO_ALLOC_GPU_ONLY);
> >> -	if (IS_ERR(obj))
> >> +	if (IS_ERR(obj) && !IS_METEORLAKE(i915)) /* Wa_22018444074 */
> >>   		obj = i915_gem_object_create_stolen(i915, size);
> >>   	if (IS_ERR(obj))
> >>   		obj = i915_gem_object_create_internal(i915, size);
> >> --
> >> 2.39.0


More information about the Intel-gfx mailing list