Hi,

On Tue, Jul 04, 2023 at 03:01:01PM +0000, 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:
> 
> 1) intel_dpt_create: I don't know what is dpt. Should we also consider this 
> one? Maybe we never read from cpu?
> 2) create_ring_vma: I think cpu only write ring buffer but never read it. So 
> should be okay.
> 3) vlv_rc6_init
> 4) there are a few places calling 
> i915_gem_object_create_stolen_for_preallocated. I think this is also stolen 
> memory?

sounds like we need a wrapper?

Andi

> For integrated gpu like MTL, do we use stolen memory for ggtt? If yes, does 
> CPU only write ggtt/never read? 
> 
> Thanks,
> Oak
> 
> > -----Original Message-----
> > From: Das, Nirmoy <[email protected]>
> > Sent: June 30, 2023 1:02 PM
> > To: [email protected]
> > Cc: Das, Nirmoy <[email protected]>; Zeng, Oak <[email protected]>; Jani
> > Nikula <[email protected]>; Joonas Lahtinen
> > <[email protected]>; Andi Shyti <[email protected]>;
> > Hajda, Andrzej <[email protected]>
> > 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 <[email protected]>
> > Cc: Jani Nikula <[email protected]>
> > Cc: Joonas Lahtinen <[email protected]>
> > Cc: Andi Shyti <[email protected]>
> > Cc: Andrzej Hajda <[email protected]>
> > Signed-off-by: Nirmoy Das <[email protected]>
> > ---
> >  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

Reply via email to