Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c75d5ac authored by Jerry (Fangzhi) Zuo's avatar Jerry (Fangzhi) Zuo Committed by Alex Deucher
Browse files

drm/amd/display: Implement VEGAM device IDs in DC

parent e9307932
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -34,4 +34,10 @@ config DEBUG_KERNEL_DC
	  if you want to hit
	  kdgb_break in assert.

config DRM_AMD_DC_VEGAM
        bool "VEGAM support"
        depends on DRM_AMD_DC
        help
         Choose this option if you want to have
         VEGAM support for display engine
endmenu
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ bool dal_bios_parser_init_cmd_tbl_helper(
		return true;

	case DCE_VERSION_11_2:
#if defined(CONFIG_DRM_AMD_DC_VEGAM)
	case DCE_VERSION_11_22:
#endif
		*h = dal_cmd_tbl_helper_dce112_get_table();
		return true;

+3 −0
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@ bool dal_bios_parser_init_cmd_tbl_helper2(
		return true;

	case DCE_VERSION_11_2:
#if defined(CONFIG_DRM_AMD_DC_VEGAM)
	case DCE_VERSION_11_22:
#endif
		*h = dal_cmd_tbl_helper_dce112_get_table2();
		return true;
#if defined(CONFIG_DRM_AMD_DC_DCN1_0)
+9 −0
Original line number Diff line number Diff line
@@ -59,6 +59,10 @@ static enum bw_calcs_version bw_calcs_version_from_asic_id(struct hw_asic_id asi
			return BW_CALCS_VERSION_POLARIS10;
		if (ASIC_REV_IS_POLARIS11_M(asic_id.hw_internal_rev))
			return BW_CALCS_VERSION_POLARIS11;
#if defined(CONFIG_DRM_AMD_DC_VEGAM)
		if (ASIC_REV_IS_VEGAM(asic_id.hw_internal_rev))
			return BW_CALCS_VERSION_VEGAM;
#endif
		return BW_CALCS_VERSION_INVALID;

	case FAMILY_AI:
@@ -2147,6 +2151,11 @@ void bw_calcs_init(struct bw_calcs_dceip *bw_dceip,
		dceip.mcifwr_all_surfaces_burst_time = bw_int_to_fixed(0); /* todo: this is a bug*/
		break;
	case BW_CALCS_VERSION_POLARIS10:
#if defined(CONFIG_DRM_AMD_DC_VEGAM)
		/* TODO: Treat VEGAM the same as P10 for now
		 * Need to tune the para for VEGAM if needed */
	case BW_CALCS_VERSION_VEGAM:
#endif
		vbios.memory_type = bw_def_gddr5;
		vbios.dram_channel_width_in_bits = 32;
		vbios.number_of_dram_channels = asic_id.vram_width / vbios.dram_channel_width_in_bits;
+7 −0
Original line number Diff line number Diff line
@@ -79,6 +79,10 @@ enum dce_version resource_parse_asic_id(struct hw_asic_id asic_id)
				ASIC_REV_IS_POLARIS12_V(asic_id.hw_internal_rev)) {
			dc_version = DCE_VERSION_11_2;
		}
#if defined(CONFIG_DRM_AMD_DC_VEGAM)
		if (ASIC_REV_IS_VEGAM(asic_id.hw_internal_rev))
			dc_version = DCE_VERSION_11_22;
#endif
		break;
	case FAMILY_AI:
		dc_version = DCE_VERSION_12_0;
@@ -125,6 +129,9 @@ struct resource_pool *dc_create_resource_pool(
			num_virtual_links, dc, asic_id);
		break;
	case DCE_VERSION_11_2:
#if defined(CONFIG_DRM_AMD_DC_VEGAM)
	case DCE_VERSION_11_22:
#endif
		res_pool = dce112_create_resource_pool(
			num_virtual_links, dc);
		break;
Loading