mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 08:04:24 -04:00
drm/amd/display: Refactor mark_seamless_boot_stream()
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. Reviewed-by: Harry Wentland <harry.wentland@amd.com> Link: https://lore.kernel.org/r/20250120194903.1048811-4-superm1@kernel.org Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
50e30e3a0e
commit
16ca828617
@@ -3592,16 +3592,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");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user