Commit 52971387 authored by Joshua Aberback's avatar Joshua Aberback Committed by Alex Deucher

drm/amd/display: DCN401 full power down in HW init if any link enabled

[Why]
During HW init, certain operations the driver performs are invalid on
enabled hardware in an unknown state (for example, setting all clock
values to minimum when the GPU is actively driving a display). There is
already code present to call HWSS->power_down during init when any link
is enabled in HW, but that function pointer is unpopulated for most asics.
We want to enable this codepath for DCN401, as it resolves the issue with
being unable to drive certain display configs on adapter re-enable, and we
can restore boot optimizations.

[How]
 - add power_down HWSS function for DCN401
 - remove debug bit to disable boot optimizations for DCN401
Reviewed-by: default avatarWenjing Liu <wenjing.liu@amd.com>
Acked-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: default avatarJoshua Aberback <joshua.aberback@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 3a3be8bb
...@@ -98,6 +98,7 @@ static const struct hw_sequencer_funcs dcn401_funcs = { ...@@ -98,6 +98,7 @@ static const struct hw_sequencer_funcs dcn401_funcs = {
.fams2_global_control_lock = dcn401_fams2_global_control_lock, .fams2_global_control_lock = dcn401_fams2_global_control_lock,
.fams2_update_config = dcn401_fams2_update_config, .fams2_update_config = dcn401_fams2_update_config,
.fams2_global_control_lock_fast = dcn401_fams2_global_control_lock_fast, .fams2_global_control_lock_fast = dcn401_fams2_global_control_lock_fast,
.power_down = dce110_power_down,
}; };
static const struct hwseq_private_funcs dcn401_private_funcs = { static const struct hwseq_private_funcs dcn401_private_funcs = {
......
...@@ -733,7 +733,6 @@ static const struct dc_debug_options debug_defaults_drv = { ...@@ -733,7 +733,6 @@ static const struct dc_debug_options debug_defaults_drv = {
.force_cositing = CHROMA_COSITING_TOPLEFT + 1, .force_cositing = CHROMA_COSITING_TOPLEFT + 1,
.disable_idle_power_optimizations = true, .disable_idle_power_optimizations = true,
.edp_oled_no_backlight_enable = true, .edp_oled_no_backlight_enable = true,
.disable_boot_optimizations = true,
}; };
static struct dce_aux *dcn401_aux_engine_create( static struct dce_aux *dcn401_aux_engine_create(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment