diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/r600.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/r600.c | 23 | 
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index dbcb0752f08..0740db3fcd2 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -109,6 +109,19 @@ void r600_fini(struct radeon_device *rdev);  void r600_irq_disable(struct radeon_device *rdev);  static void r600_pcie_gen2_enable(struct radeon_device *rdev); +/** + * r600_get_xclk - get the xclk + * + * @rdev: radeon_device pointer + * + * Returns the reference clock used by the gfx engine + * (r6xx, IGPs, APUs). + */ +u32 r600_get_xclk(struct radeon_device *rdev) +{ +	return rdev->clock.spll.reference_freq; +} +  /* get temperature in millidegrees */  int rv6xx_get_temp(struct radeon_device *rdev)  { @@ -1381,6 +1394,12 @@ static u32 r600_gpu_check_soft_reset(struct radeon_device *rdev)  	if (r600_is_display_hung(rdev))  		reset_mask |= RADEON_RESET_DISPLAY; +	/* Skip MC reset as it's mostly likely not hung, just busy */ +	if (reset_mask & RADEON_RESET_MC) { +		DRM_DEBUG("MC busy: 0x%08X, clearing.\n", reset_mask); +		reset_mask &= ~RADEON_RESET_MC; +	} +  	return reset_mask;  } @@ -4448,14 +4467,14 @@ static void r600_pcie_gen2_enable(struct radeon_device *rdev)  }  /** - * r600_get_gpu_clock - return GPU clock counter snapshot + * r600_get_gpu_clock_counter - return GPU clock counter snapshot   *   * @rdev: radeon_device pointer   *   * Fetches a GPU clock counter snapshot (R6xx-cayman).   * Returns the 64 bit clock counter snapshot.   */ -uint64_t r600_get_gpu_clock(struct radeon_device *rdev) +uint64_t r600_get_gpu_clock_counter(struct radeon_device *rdev)  {  	uint64_t clock;  |