Commit 1b92cb40 authored by Kenneth Feng's avatar Kenneth Feng Committed by Alex Deucher
Browse files

drm/amd/pm: revise the pcie dpm parameters



revise the pcie dpm parameters

Signed-off-by: default avatarKenneth Feng <kenneth.feng@amd.com>
Reviewed-by: default avatarYang Wang <kevinyang.wang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 009bfc5e
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -2456,8 +2456,12 @@ static int navi10_update_pcie_parameters(struct smu_context *smu,
	for (i = 0; i < NUM_LINK_LEVELS; i++) {
		if (pptable->PcieGenSpeed[i] > pcie_gen_cap ||
			pptable->PcieLaneCount[i] > pcie_width_cap) {
			dpm_context->dpm_tables.pcie_table.pcie_gen[i] = pcie_gen_cap;
			dpm_context->dpm_tables.pcie_table.pcie_lane[i] = pcie_width_cap;
			dpm_context->dpm_tables.pcie_table.pcie_gen[i] =
									pptable->PcieGenSpeed[i] > pcie_gen_cap ?
									pcie_gen_cap : pptable->PcieGenSpeed[i];
			dpm_context->dpm_tables.pcie_table.pcie_lane[i] =
									pptable->PcieLaneCount[i] > pcie_width_cap ?
									pcie_width_cap : pptable->PcieLaneCount[i];
			smu_pcie_arg = i << 16;
			smu_pcie_arg |= pcie_gen_cap << 8;
			smu_pcie_arg |= pcie_width_cap;
+4 −2
Original line number Diff line number Diff line
@@ -3193,8 +3193,10 @@ static int smu_v13_0_0_update_pcie_parameters(struct smu_context *smu,
		for (i = 0; i < num_of_levels; i++) {
			if (pcie_table->pcie_gen[i] > pcie_gen_cap ||
				pcie_table->pcie_lane[i] > pcie_width_cap) {
				pcie_table->pcie_gen[i] = pcie_gen_cap;
				pcie_table->pcie_lane[i] = pcie_width_cap;
				pcie_table->pcie_gen[i] = pcie_table->pcie_gen[i] > pcie_gen_cap ?
										  pcie_gen_cap : pcie_table->pcie_gen[i];
				pcie_table->pcie_lane[i] = pcie_table->pcie_lane[i] > pcie_width_cap ?
										   pcie_width_cap : pcie_table->pcie_lane[i];
				smu_pcie_arg = i << 16;
				smu_pcie_arg |= pcie_table->pcie_gen[i] << 8;
				smu_pcie_arg |= pcie_table->pcie_lane[i];
+4 −2
Original line number Diff line number Diff line
@@ -2781,8 +2781,10 @@ static int smu_v13_0_7_update_pcie_parameters(struct smu_context *smu,
		for (i = 0; i < num_of_levels; i++) {
			if (pcie_table->pcie_gen[i] > pcie_gen_cap ||
				pcie_table->pcie_lane[i] > pcie_width_cap) {
				pcie_table->pcie_gen[i] = pcie_gen_cap;
				pcie_table->pcie_lane[i] = pcie_width_cap;
				pcie_table->pcie_gen[i] = pcie_table->pcie_gen[i] > pcie_gen_cap ?
										  pcie_gen_cap : pcie_table->pcie_gen[i];
				pcie_table->pcie_lane[i] = pcie_table->pcie_lane[i] > pcie_width_cap ?
										   pcie_width_cap : pcie_table->pcie_lane[i];
				smu_pcie_arg = i << 16;
				smu_pcie_arg |= pcie_table->pcie_gen[i] << 8;
				smu_pcie_arg |= pcie_table->pcie_lane[i];
+4 −2
Original line number Diff line number Diff line
@@ -1518,8 +1518,10 @@ static int smu_v14_0_2_update_pcie_parameters(struct smu_context *smu,
		for (i = 0; i < num_of_levels; i++) {
			if (pcie_table->pcie_gen[i] > pcie_gen_cap ||
				pcie_table->pcie_lane[i] > pcie_width_cap) {
				pcie_table->pcie_gen[i] = pcie_gen_cap;
				pcie_table->pcie_lane[i] = pcie_width_cap;
				pcie_table->pcie_gen[i] = pcie_table->pcie_gen[i] > pcie_gen_cap ?
										  pcie_gen_cap : pcie_table->pcie_gen[i];
				pcie_table->pcie_lane[i] = pcie_table->pcie_lane[i] > pcie_width_cap ?
										   pcie_width_cap : pcie_table->pcie_lane[i];
				smu_pcie_arg = i << 16;
				smu_pcie_arg |= pcie_table->pcie_gen[i] << 8;
				smu_pcie_arg |= pcie_table->pcie_lane[i];