Subversion Repositories Kolibri OS

Rev

Rev 6104 | Rev 6938 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6104 Rev 6661
Line 2924... Line 2924...
2924
/* cards with dpm stability problems */
2924
/* cards with dpm stability problems */
2925
static struct si_dpm_quirk si_dpm_quirk_list[] = {
2925
static struct si_dpm_quirk si_dpm_quirk_list[] = {
2926
	/* PITCAIRN - https://bugs.freedesktop.org/show_bug.cgi?id=76490 */
2926
	/* PITCAIRN - https://bugs.freedesktop.org/show_bug.cgi?id=76490 */
2927
	{ PCI_VENDOR_ID_ATI, 0x6810, 0x1462, 0x3036, 0, 120000 },
2927
	{ PCI_VENDOR_ID_ATI, 0x6810, 0x1462, 0x3036, 0, 120000 },
2928
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x174b, 0xe271, 0, 120000 },
2928
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x174b, 0xe271, 0, 120000 },
-
 
2929
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x174b, 0x2015, 0, 120000 },
2929
	{ PCI_VENDOR_ID_ATI, 0x6810, 0x174b, 0xe271, 85000, 90000 },
2930
	{ PCI_VENDOR_ID_ATI, 0x6810, 0x174b, 0xe271, 85000, 90000 },
2930
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x1462, 0x2015, 0, 120000 },
2931
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x1462, 0x2015, 0, 120000 },
2931
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x1043, 0x2015, 0, 120000 },
2932
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x1043, 0x2015, 0, 120000 },
-
 
2933
	{ PCI_VENDOR_ID_ATI, 0x6811, 0x148c, 0x2015, 0, 120000 },
-
 
2934
	{ PCI_VENDOR_ID_ATI, 0x6810, 0x1682, 0x9275, 0, 120000 },
2932
	{ 0, 0, 0, 0 },
2935
	{ 0, 0, 0, 0 },
2933
};
2936
};
Line 2934... Line 2937...
2934
 
2937
 
2935
static u16 si_get_lower_of_leakage_and_vce_voltage(struct radeon_device *rdev,
2938
static u16 si_get_lower_of_leakage_and_vce_voltage(struct radeon_device *rdev,
Line 3006... Line 3009...
3006
			max_mclk = p->max_mclk;
3009
			max_mclk = p->max_mclk;
3007
			break;
3010
			break;
3008
		}
3011
		}
3009
		++p;
3012
		++p;
3010
	}
3013
	}
-
 
3014
	/* limit mclk on all R7 370 parts for stability */
-
 
3015
	if (rdev->pdev->device == 0x6811 &&
-
 
3016
	    rdev->pdev->revision == 0x81)
-
 
3017
		max_mclk = 120000;
-
 
3018
	/* limit sclk/mclk on Jet parts for stability */
-
 
3019
	if (rdev->pdev->device == 0x6665 &&
-
 
3020
	    rdev->pdev->revision == 0xc3) {
-
 
3021
		max_sclk = 75000;
-
 
3022
		max_mclk = 80000;
-
 
3023
	}
Line 3011... Line 3024...
3011
 
3024
 
3012
	if (rps->vce_active) {
3025
	if (rps->vce_active) {
3013
		rps->evclk = rdev->pm.dpm.vce_states[rdev->pm.dpm.vce_level].evclk;
3026
		rps->evclk = rdev->pm.dpm.vce_states[rdev->pm.dpm.vce_level].evclk;
3014
		rps->ecclk = rdev->pm.dpm.vce_states[rdev->pm.dpm.vce_level].ecclk;
3027
		rps->ecclk = rdev->pm.dpm.vce_states[rdev->pm.dpm.vce_level].ecclk;
Line 4097... Line 4110...
4097
		if (si_pi->vddc_phase_shed_control) {
4110
		if (si_pi->vddc_phase_shed_control) {
4098
			if (si_validate_phase_shedding_tables(rdev, &si_pi->vddc_phase_shed_table,
4111
			if (si_validate_phase_shedding_tables(rdev, &si_pi->vddc_phase_shed_table,
4099
							      &rdev->pm.dpm.dyn_state.phase_shedding_limits_table)) {
4112
							      &rdev->pm.dpm.dyn_state.phase_shedding_limits_table)) {
4100
				si_populate_smc_voltage_table(rdev, &si_pi->vddc_phase_shed_table, table);
4113
				si_populate_smc_voltage_table(rdev, &si_pi->vddc_phase_shed_table, table);
Line 4101... Line 4114...
4101
 
4114
 
4102
				table->phaseMaskTable.lowMask[SISLANDS_SMC_VOLTAGEMASK_VDDC] =
4115
				table->phaseMaskTable.lowMask[SISLANDS_SMC_VOLTAGEMASK_VDDC_PHASE_SHEDDING] =
Line 4103... Line 4116...
4103
					cpu_to_be32(si_pi->vddc_phase_shed_table.mask_low);
4116
					cpu_to_be32(si_pi->vddc_phase_shed_table.mask_low);
4104
 
4117
 
4105
				si_write_smc_soft_register(rdev, SI_SMC_SOFT_REGISTER_phase_shedding_delay,
4118
				si_write_smc_soft_register(rdev, SI_SMC_SOFT_REGISTER_phase_shedding_delay,