On 2023-07-10 15:27, Bhawanpreet Lakha wrote:
> - Add checks for Cursor update and dirty rects (sending updates to dmub)
> - Add checks for dc_notify_vsync, and fbc and subvp
> 
> Signed-off-by: Bhawanpreet Lakha <bhawanpreet.la...@amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc.c                    | 6 ++++++
>  drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c                | 3 +++
>  drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 6 ++++++
>  3 files changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
> b/drivers/gpu/drm/amd/display/dc/core/dc.c
> index dd3a9d06c6e2..dccb49e27f35 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
> @@ -3367,6 +3367,9 @@ static bool dc_dmub_should_send_dirty_rect_cmd(struct 
> dc *dc, struct dc_stream_s
>                       && stream->ctx->dce_version >= DCN_VERSION_3_1)
>               return true;
>  
> +        if (stream->link->replay_settings.config.replay_supported)
> +                return true;
> +
>       return false;
>  }
>  
> @@ -5116,6 +5119,9 @@ void dc_notify_vsync_int_state(struct dc *dc, struct 
> dc_stream_state *stream, bo
>       if (link->psr_settings.psr_feature_enabled)
>               return;
>  
> +        if (link->replay_settings.replay_feature_enabled)
> +                return;

Use tabs, not spaces. I just noticed it here but it's elsewhere in this patch.
Please check the other patches as well.

> +
>       /*find primary pipe associated with stream*/
>       for (i = 0; i < MAX_PIPES; i++) {
>               pipe = &dc->current_state->res_ctx.pipe_ctx[i];
> diff --git a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c 
> b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
> index c52c40b16387..706c49e015f6 100644
> --- a/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
> +++ b/drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c
> @@ -894,6 +894,9 @@ static bool dc_dmub_should_update_cursor_data(struct 
> pipe_ctx *pipe_ctx)
>               pipe_ctx->stream->ctx->dce_version >= DCN_VERSION_3_1)
>               return true;
>  
> +     if (pipe_ctx->stream->link->replay_settings.config.replay_supported)
> +                return true;
> +
>       return false;
>  }
>  
> diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c 
> b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
> index 6c9ca43d1040..16b53a4c5a42 100644
> --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
> +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
> @@ -1585,6 +1585,8 @@ static enum dc_status apply_single_controller_ctx_to_hw(
>        */
>       if (pipe_ctx->stream->mall_stream_config.type != SUBVP_PHANTOM) {
>               pipe_ctx->stream->link->psr_settings.psr_feature_enabled = 
> false;
> +             printk("######  %s %d\n",__func__,__LINE__);

stray debug printk

Harry

> +             pipe_ctx->stream->link->replay_settings.replay_feature_enabled 
> = false;
>       }
>       return DC_OK;
>  }
> @@ -2013,6 +2015,10 @@ static bool should_enable_fbc(struct dc *dc,
>       if (pipe_ctx->stream->link->psr_settings.psr_feature_enabled)
>               return false;
>  
> +     /* Replay should not be enabled */
> +        if (pipe_ctx->stream->link->replay_settings.replay_feature_enabled)
> +                return false;
> +
>       /* Nothing to compress */
>       if (!pipe_ctx->plane_state)
>               return false;

Reply via email to