diff mbox series

[v2,2/2] drm/i915/fbc: update the panel_replay dependency in fbc wa's

Message ID 20250321094529.197397-3-vinod.govindapillai@intel.com (mailing list archive)
State New
Headers show
Series drm/i915/fbc: disable FBC if PSR2 selective fetch is enabled | expand

Commit Message

Vinod Govindapillai March 21, 2025, 9:45 a.m. UTC
There are two panel_replay scenarios fbc wa need to be aware of,
panel replay with and without selective update capability.
Panel replay without selective update don't have any fbc wa.
So keep the fbc psr1 wa as it is.

The current fbc psr2 wa is mainly about selective fetch and we
need to apply the fbc wa if selective fetch is on - irrespective
of panel replay. Hence we can't exclude panel replay from the
fbc psr2 wa.

v1: keep panel_replay exclusion in PSR1 case (Jouni)
    Patch description updated

Bspec: 66624, 50442
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbc.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Jouni Högander March 21, 2025, 1:15 p.m. UTC | #1
On Fri, 2025-03-21 at 11:45 +0200, Vinod Govindapillai wrote:
> There are two panel_replay scenarios fbc wa need to be aware of,
> panel replay with and without selective update capability.
> Panel replay without selective update don't have any fbc wa.
> So keep the fbc psr1 wa as it is.
> 
> The current fbc psr2 wa is mainly about selective fetch and we
> need to apply the fbc wa if selective fetch is on - irrespective
> of panel replay. Hence we can't exclude panel replay from the
> fbc psr2 wa.
> 
> v1: keep panel_replay exclusion in PSR1 case (Jouni)
>     Patch description updated
> 
> Bspec: 66624, 50442
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>

Reviewed-by: Jouni Högander <jouni.hogander@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 92b00da4c0ab..3c72047bf1a2 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1471,9 +1471,8 @@ static int intel_fbc_check_plane(struct
> intel_atomic_state *state,
>  	 * disabling PSR2, keep FBC disabled in case of selective
> update is on
>  	 * until the selection logic is implemented.
>  	 */
> -	if (DISPLAY_VER(display) >= 12 && crtc_state->has_sel_update
> &&
> -	    !crtc_state->has_panel_replay) {
> -		plane_state->no_fbc_reason = "PSR2 enabled";
> +	if (DISPLAY_VER(display) >= 12 && crtc_state-
> >has_sel_update) {
> +		plane_state->no_fbc_reason = "Selective update
> enabled";
>  		return 0;
>  	}
>
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 92b00da4c0ab..3c72047bf1a2 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1471,9 +1471,8 @@  static int intel_fbc_check_plane(struct intel_atomic_state *state,
 	 * disabling PSR2, keep FBC disabled in case of selective update is on
 	 * until the selection logic is implemented.
 	 */
-	if (DISPLAY_VER(display) >= 12 && crtc_state->has_sel_update &&
-	    !crtc_state->has_panel_replay) {
-		plane_state->no_fbc_reason = "PSR2 enabled";
+	if (DISPLAY_VER(display) >= 12 && crtc_state->has_sel_update) {
+		plane_state->no_fbc_reason = "Selective update enabled";
 		return 0;
 	}