Subversion Repositories Kolibri OS

Rev

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

Rev 5271 Rev 6104
Line 2275... Line 2275...
2275
	eg_pi->requested_rps = *rps;
2275
	eg_pi->requested_rps = *rps;
2276
	eg_pi->requested_ps = *new_ps;
2276
	eg_pi->requested_ps = *new_ps;
2277
	eg_pi->requested_rps.ps_priv = &eg_pi->requested_ps;
2277
	eg_pi->requested_rps.ps_priv = &eg_pi->requested_ps;
2278
}
2278
}
Line -... Line 2279...
-
 
2279
 
2279
 
2280
#if 0
2280
void btc_dpm_reset_asic(struct radeon_device *rdev)
2281
void btc_dpm_reset_asic(struct radeon_device *rdev)
2281
{
2282
{
2282
	rv770_restrict_performance_levels_before_switch(rdev);
2283
	rv770_restrict_performance_levels_before_switch(rdev);
2283
	btc_disable_ulv(rdev);
2284
	btc_disable_ulv(rdev);
2284
	btc_set_boot_state_timing(rdev);
2285
	btc_set_boot_state_timing(rdev);
2285
	rv770_set_boot_state(rdev);
2286
	rv770_set_boot_state(rdev);
-
 
2287
}
Line 2286... Line 2288...
2286
}
2288
#endif
2287
 
2289
 
2288
int btc_dpm_pre_set_power_state(struct radeon_device *rdev)
2290
int btc_dpm_pre_set_power_state(struct radeon_device *rdev)
2289
{
2291
{
Line 2747... Line 2749...
2747
		else if (current_index == 1)
2749
		else if (current_index == 1)
2748
			pl = &ps->medium;
2750
			pl = &ps->medium;
2749
		else /* current_index == 2 */
2751
		else /* current_index == 2 */
2750
			pl = &ps->high;
2752
			pl = &ps->high;
2751
		seq_printf(m, "uvd    vclk: %d dclk: %d\n", rps->vclk, rps->dclk);
2753
		seq_printf(m, "uvd    vclk: %d dclk: %d\n", rps->vclk, rps->dclk);
2752
		if (rdev->family >= CHIP_CEDAR) {
-
 
2753
			seq_printf(m, "power level %d    sclk: %u mclk: %u vddc: %u vddci: %u\n",
2754
		seq_printf(m, "power level %d    sclk: %u mclk: %u vddc: %u vddci: %u\n",
2754
				   current_index, pl->sclk, pl->mclk, pl->vddc, pl->vddci);
2755
			   current_index, pl->sclk, pl->mclk, pl->vddc, pl->vddci);
-
 
2756
	}
-
 
2757
}
-
 
2758
 
-
 
2759
u32 btc_dpm_get_current_sclk(struct radeon_device *rdev)
-
 
2760
{
-
 
2761
	struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
-
 
2762
	struct radeon_ps *rps = &eg_pi->current_rps;
-
 
2763
	struct rv7xx_ps *ps = rv770_get_ps(rps);
-
 
2764
	struct rv7xx_pl *pl;
-
 
2765
	u32 current_index =
-
 
2766
		(RREG32(TARGET_AND_CURRENT_PROFILE_INDEX) & CURRENT_PROFILE_INDEX_MASK) >>
-
 
2767
		CURRENT_PROFILE_INDEX_SHIFT;
-
 
2768
 
-
 
2769
	if (current_index > 2) {
-
 
2770
		return 0;
2755
		} else {
2771
	} else {
-
 
2772
		if (current_index == 0)
-
 
2773
			pl = &ps->low;
2756
			seq_printf(m, "power level %d    sclk: %u mclk: %u vddc: %u\n",
2774
		else if (current_index == 1)
-
 
2775
			pl = &ps->medium;
2757
				   current_index, pl->sclk, pl->mclk, pl->vddc);
2776
		else /* current_index == 2 */
-
 
2777
			pl = &ps->high;
-
 
2778
		return pl->sclk;
2758
		}
2779
	}
2759
	}
2780
}
-
 
2781
 
-
 
2782
u32 btc_dpm_get_current_mclk(struct radeon_device *rdev)
-
 
2783
{
-
 
2784
	struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
-
 
2785
	struct radeon_ps *rps = &eg_pi->current_rps;
-
 
2786
	struct rv7xx_ps *ps = rv770_get_ps(rps);
-
 
2787
	struct rv7xx_pl *pl;
-
 
2788
	u32 current_index =
-
 
2789
		(RREG32(TARGET_AND_CURRENT_PROFILE_INDEX) & CURRENT_PROFILE_INDEX_MASK) >>
-
 
2790
		CURRENT_PROFILE_INDEX_SHIFT;
-
 
2791
 
-
 
2792
	if (current_index > 2) {
-
 
2793
		return 0;
-
 
2794
	} else {
-
 
2795
		if (current_index == 0)
-
 
2796
			pl = &ps->low;
-
 
2797
		else if (current_index == 1)
-
 
2798
			pl = &ps->medium;
-
 
2799
		else /* current_index == 2 */
-
 
2800
			pl = &ps->high;
-
 
2801
		return pl->mclk;
-
 
2802
	}
2760
}
2803
}
Line 2761... Line 2804...
2761
 
2804
 
2762
u32 btc_dpm_get_sclk(struct radeon_device *rdev, bool low)
2805
u32 btc_dpm_get_sclk(struct radeon_device *rdev, bool low)
2763
{
2806
{