Commit 4a0caac0 authored by Michael Strauss's avatar Michael Strauss Committed by Alex Deucher
Browse files

drm/amd/display: Don't pass HostVM by default on DCN3.1



[WHY]
Roll back previous change to stop passing this value by default, instead
add a debug flag to override to previous behaviour (or force HostVM calcs)

Reviewed-by: default avatarNicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: default avatarTom Chung <chiahsuan.chung@amd.com>
Signed-off-by: default avatarMichael Strauss <michael.strauss@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d2069326
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -359,6 +359,12 @@ enum dc_psr_power_opts {
	psr_power_opt_ds_disable_allow = 0x100,
};

enum dml_hostvm_override_opts {
	DML_HOSTVM_NO_OVERRIDE = 0x0,
	DML_HOSTVM_OVERRIDE_FALSE = 0x1,
	DML_HOSTVM_OVERRIDE_TRUE = 0x2,
};

enum dcc_option {
	DCC_ENABLE = 0,
	DCC_DISABLE = 1,
@@ -733,6 +739,7 @@ struct dc_debug_options {
	bool extended_blank_optimization;
	union aux_wake_wa_options aux_wake_wa;
	uint8_t psr_power_use_phy_fsm;
	enum dml_hostvm_override_opts dml_hostvm_override;
};

struct gpu_info_soc_bounding_box_v1_0;
+8 −1
Original line number Diff line number Diff line
@@ -890,6 +890,7 @@ static const struct dc_debug_options debug_defaults_drv = {
	.enable_sw_cntl_psr = true,
	.apply_vendor_specific_lttpr_wa = true,
	.enable_z9_disable_interface = true, /* Allow support for the PMFW interface for disable Z9*/
	.dml_hostvm_override = DML_HOSTVM_OVERRIDE_FALSE,
};

static const struct dc_debug_options debug_defaults_diags = {
@@ -1666,7 +1667,6 @@ int dcn31_populate_dml_pipes_from_context(
		 * intermittently experienced depending on peak b/w requirements.
		 */
		pipes[pipe_cnt].pipe.src.immediate_flip = true;

		pipes[pipe_cnt].pipe.src.unbounded_req_mode = false;
		pipes[pipe_cnt].pipe.src.gpuvm = true;
		pipes[pipe_cnt].pipe.src.dcc_fraction_of_zs_req_luma = 0;
@@ -1675,6 +1675,13 @@ int dcn31_populate_dml_pipes_from_context(
		pipes[pipe_cnt].pipe.src.dcc_rate = 3;
		pipes[pipe_cnt].dout.dsc_input_bpc = 0;

		if (dc->debug.dml_hostvm_override == DML_HOSTVM_NO_OVERRIDE)
			pipes[pipe_cnt].pipe.src.hostvm = dc->res_pool->hubbub->riommu_active;
		else if (dc->debug.dml_hostvm_override == DML_HOSTVM_OVERRIDE_FALSE)
			pipes[pipe_cnt].pipe.src.hostvm = false;
		else if (dc->debug.dml_hostvm_override == DML_HOSTVM_OVERRIDE_TRUE)
			pipes[pipe_cnt].pipe.src.hostvm = true;

		if (pipes[pipe_cnt].dout.dsc_enable) {
			switch (timing->display_color_depth) {
			case COLOR_DEPTH_888: