diff options
author | Nirmoy Das <nirmoy.das@intel.com> | 2023-07-13 17:01:42 +0200 |
---|---|---|
committer | Nirmoy Das <nirmoy.das@intel.com> | 2023-07-17 11:35:24 +0200 |
commit | c5741c5c1122b7944d9af185c83ab7056153259e (patch) | |
tree | d96a85b3354e1dc100925ca68eb35f98cb844d32 /drivers/gpu/drm/i915/display/intel_fbdev.c | |
parent | 290d161045753240f2100b8f44660426ecc97be5 (diff) | |
download | linux-c5741c5c1122b7944d9af185c83ab7056153259e.tar.gz linux-c5741c5c1122b7944d9af185c83ab7056153259e.tar.bz2 linux-c5741c5c1122b7944d9af185c83ab7056153259e.zip |
drm/i915/display: 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.
v2 and v3: improve stolen skip detection(Andrzej)
Cc: Oak Zeng <oak.zeng@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Andi Shyti <andi.shyti@linux.intel.com>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Oak Zeng <oak.zeng@intel.com>
Reviewed-by: Andrzej Hajda <andrzej.hajda@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230713150142.12700-2-nirmoy.das@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_fbdev.c')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_fbdev.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c index 80c3f88310db..e75852f13930 100644 --- a/drivers/gpu/drm/i915/display/intel_fbdev.c +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c @@ -182,8 +182,10 @@ static int intelfb_alloc(struct drm_fb_helper *helper, * If the FB is too big, just don't use it since fbdev is not very * important and we should probably use that space with FBC or other * features. + * + * Also skip stolen on MTL as Wa_22018444074 mitigation. */ - if (size * 2 < dev_priv->dsm.usable_size) + if (!(IS_METEORLAKE(dev_priv)) && size * 2 < dev_priv->dsm.usable_size) obj = i915_gem_object_create_stolen(dev_priv, size); if (IS_ERR(obj)) obj = i915_gem_object_create_shmem(dev_priv, size); |