Hi Matt,

> --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> @@ -470,9 +470,13 @@ enum i915_map_type i915_coherent_map_type(struct 
> drm_i915_private *i915,
>                                         bool always_coherent)
>  {
>       /*
> -      * Wa_22016122933: always return I915_MAP_WC for MTL
> +      * Wa_22016122933: always return I915_MAP_WC for Xe_LPM+
> +      *
> +      * FIXME: The scope of this workaround is too wide right now and
> +      * is applying to objects used solely on the primary GT.  We need to
> +      * take into account which GT will be operating on the shared object.
>        */
> -     if (i915_gem_object_is_lmem(obj) || IS_METEORLAKE(i915))
> +     if (i915_gem_object_is_lmem(obj) || MEDIA_VER_FULL(i915) == IP_VER(13, 
> 0))
>               return I915_MAP_WC;
>       if (HAS_LLC(i915) || always_coherent)
>               return I915_MAP_WB;
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pm.c 
> b/drivers/gpu/drm/i915/gt/intel_engine_pm.c
> index 21af0ec52223..24060278e7a2 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_pm.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_pm.c
> @@ -21,7 +21,7 @@ static void intel_gsc_idle_msg_enable(struct 
> intel_engine_cs *engine)
>  {
>       struct drm_i915_private *i915 = engine->i915;
>  
> -     if (IS_METEORLAKE(i915) && engine->id == GSC0) {
> +     if (MEDIA_VER(i915) >= 13 && engine->id == GSC0) {

this is a bit in countertrend... why isn't this

        MEDIA_VER_FULL(engine->i915) == IP_VER(13, 0)

Like all others?

Andi

Reply via email to