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
