On 2025-01-20 14:49, Mario Limonciello wrote: > From: Mario Limonciello <mario.limonciello@xxxxxxx> > > mark_seamless_boot_stream() can be called multiple times to run > the more expensive checks in dc_validate_boot_timing(). > > Refactor the function so that if those have already passed once > the function isn't called again. > > Also add a message the first time that they have passed to let > the user know the stream will be used for seamless boot. > > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> Series is Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Harry > --- > .../gpu/drm/amd/display/dc/core/dc_resource.c | 18 +++++++++++------- > 1 file changed, 11 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > index 626f75b6ad003..78bad889ba065 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > @@ -3525,16 +3525,20 @@ static int acquire_resource_from_hw_enabled_state( > return -1; > } > > -static void mark_seamless_boot_stream( > - const struct dc *dc, > - struct dc_stream_state *stream) > +static void mark_seamless_boot_stream(const struct dc *dc, > + struct dc_stream_state *stream) > { > struct dc_bios *dcb = dc->ctx->dc_bios; > > - if (dc->config.allow_seamless_boot_optimization && > - !dcb->funcs->is_accelerated_mode(dcb)) { > - if (dc_validate_boot_timing(dc, stream->sink, &stream->timing)) > - stream->apply_seamless_boot_optimization = true; > + if (stream->apply_seamless_boot_optimization) > + return; > + if (!dc->config.allow_seamless_boot_optimization) > + return; > + if (dcb->funcs->is_accelerated_mode(dcb)) > + return; > + if (dc_validate_boot_timing(dc, stream->sink, &stream->timing)) { > + stream->apply_seamless_boot_optimization = true; > + DC_LOG_INFO("Marked stream for seamless boot optimization\n"); > } > } >