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

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
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -299,6 +299,7 @@ struct dmub_srv_hw_params {
	enum dmub_memory_access_type mem_access_type;
	enum dmub_ips_disable_type disable_ips;
	bool disallow_phy_access;
	bool disable_sldo_opt;
};

/**
+2 −1
Original line number Diff line number Diff line
@@ -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_disable: 3; /* options to disable ips support*/
		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 */
	uint32_t all; /**< 32-bit access to bits */
};
+1 −0
Original line number Diff line number Diff line
@@ -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.ips_disable = params->disable_ips;
	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);
}