Commit a6989c86 authored by Jouni Högander's avatar Jouni Högander

drm/i915/fbc: Make FBC check stolen at use time

As a preparation for Xe change stolen memory initialization check to be
done in use-time instead of during initialization.

In case of xe, stolen memory is initialised much later so it can't be
checked during init. There is no specific reason to check this in init for
i915 either -> perform the check in use-time. This also gives us benefit
fbc_no_reason reporting missing initialization being reason for disabled
fbc.
Signed-off-by: default avatarJouni Högander <jouni.hogander@intel.com>
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: default avatarJeevan B <jeevan.b@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230614051731.745821-3-jouni.hogander@intel.com
parent 1d47074c
...@@ -1056,6 +1056,11 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state, ...@@ -1056,6 +1056,11 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
if (!fbc) if (!fbc)
return 0; return 0;
if (!i915_gem_stolen_initialized(i915)) {
plane_state->no_fbc_reason = "stolen memory not initialised";
return 0;
}
if (intel_vgpu_active(i915)) { if (intel_vgpu_active(i915)) {
plane_state->no_fbc_reason = "VGPU active"; plane_state->no_fbc_reason = "VGPU active";
return 0; return 0;
...@@ -1709,9 +1714,6 @@ void intel_fbc_init(struct drm_i915_private *i915) ...@@ -1709,9 +1714,6 @@ void intel_fbc_init(struct drm_i915_private *i915)
{ {
enum intel_fbc_id fbc_id; enum intel_fbc_id fbc_id;
if (!i915_gem_stolen_initialized(i915))
DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
if (need_fbc_vtd_wa(i915)) if (need_fbc_vtd_wa(i915))
DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0; DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment