Commit ea04ef19 authored by Nicholas Kazlauskas's avatar Nicholas Kazlauskas Committed by Alex Deucher

drm/amd/display: Add debug option for disabling SLDO optimizations

[Why]
DM can hook this up to disable SLDO optimizations in firmware during
DMCUB initialization for debug purposes.

[How]
Add the option and pass it through dmub_srv.
Reviewed-by: default avatarHansen Dsouza <hansen.dsouza@amd.com>
Signed-off-by: default avatarJerry Zuo <jerry.zuo@amd.com>
Signed-off-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent fe4b8c98
...@@ -299,6 +299,7 @@ struct dmub_srv_hw_params { ...@@ -299,6 +299,7 @@ struct dmub_srv_hw_params {
enum dmub_memory_access_type mem_access_type; enum dmub_memory_access_type mem_access_type;
enum dmub_ips_disable_type disable_ips; enum dmub_ips_disable_type disable_ips;
bool disallow_phy_access; bool disallow_phy_access;
bool disable_sldo_opt;
}; };
/** /**
......
...@@ -684,7 +684,8 @@ union dmub_fw_boot_options { ...@@ -684,7 +684,8 @@ union dmub_fw_boot_options {
uint32_t ips_pg_disable: 1; /* 1 to disable ONO domains power gating*/ uint32_t ips_pg_disable: 1; /* 1 to disable ONO domains power gating*/
uint32_t ips_disable: 3; /* options to disable ips support*/ uint32_t ips_disable: 3; /* options to disable ips support*/
uint32_t ips_sequential_ono: 1; /**< 1 to enable sequential ONO IPS sequence */ uint32_t ips_sequential_ono: 1; /**< 1 to enable sequential ONO IPS sequence */
uint32_t reserved : 8; /**< reserved */ uint32_t disable_sldo_opt: 1; /**< 1 to disable SLDO optimizations */
uint32_t reserved : 7; /**< reserved */
} bits; /**< boot bits */ } bits; /**< boot bits */
uint32_t all; /**< 32-bit access to bits */ uint32_t all; /**< 32-bit access to bits */
}; };
......
...@@ -424,6 +424,7 @@ void dmub_dcn35_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmu ...@@ -424,6 +424,7 @@ void dmub_dcn35_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmu
boot_options.bits.disable_clk_gate = params->disable_clock_gate; boot_options.bits.disable_clk_gate = params->disable_clock_gate;
boot_options.bits.ips_disable = params->disable_ips; boot_options.bits.ips_disable = params->disable_ips;
boot_options.bits.ips_sequential_ono = params->ips_sequential_ono; boot_options.bits.ips_sequential_ono = params->ips_sequential_ono;
boot_options.bits.disable_sldo_opt = params->disable_sldo_opt;
REG_WRITE(DMCUB_SCRATCH14, boot_options.all); REG_WRITE(DMCUB_SCRATCH14, boot_options.all);
} }
......
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