diff mbox series

[v2,2/3] drm/i915/fbc: Make FBC check stolen at use time

Message ID 20230614051731.745821-3-jouni.hogander@intel.com (mailing list archive)
State New, archived
Headers show
Series Move stolen memory handling details into i915_gem_stolen | expand

Commit Message

Hogander, Jouni June 14, 2023, 5:17 a.m. UTC
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: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbc.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

B, Jeevan Aug. 3, 2023, 10:18 a.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Jouni Högander
> Sent: Wednesday, June 14, 2023 10:48 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH v2 2/3] 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: Jouni Högander <jouni.hogander@intel.com>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
LGTM. 
Reviewed-by: Jeevan B <jeevan.b@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index a18e84efe911..da8166eedf93 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1056,6 +1056,11 @@ static int intel_fbc_check_plane(struct
> intel_atomic_state *state,
>  	if (!fbc)
>  		return 0;
> 
> +	if (!i915_gem_stolen_initialized(i915)) {
> +		plane_state->no_fbc_reason = "stolen memory not
> initialised";
> +		return 0;
> +	}
> +
>  	if (intel_vgpu_active(i915)) {
>  		plane_state->no_fbc_reason = "VGPU active";
>  		return 0;
> @@ -1709,9 +1714,6 @@ void intel_fbc_init(struct drm_i915_private *i915)  {
>  	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))
>  		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
> 
> --
> 2.34.1
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index a18e84efe911..da8166eedf93 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1056,6 +1056,11 @@  static int intel_fbc_check_plane(struct intel_atomic_state *state,
 	if (!fbc)
 		return 0;
 
+	if (!i915_gem_stolen_initialized(i915)) {
+		plane_state->no_fbc_reason = "stolen memory not initialised";
+		return 0;
+	}
+
 	if (intel_vgpu_active(i915)) {
 		plane_state->no_fbc_reason = "VGPU active";
 		return 0;
@@ -1709,9 +1714,6 @@  void intel_fbc_init(struct drm_i915_private *i915)
 {
 	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))
 		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;