diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-17 13:40:25 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-17 13:40:25 -0800 | 
| commit | 984065055e6e39f8dd812529e11922374bd39352 (patch) | |
| tree | a8f1bcbd81e0fadce0cef39ab5ce09ab84b261fe /drivers/gpu/drm/amd/amdgpu/ci_dpm.c | |
| parent | 12768c1e2c83b05ea1658470045789a14b6edf4c (diff) | |
| parent | 1df59b8497f47495e873c23abd6d3d290c730505 (diff) | |
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie:
 "This is the main drm pull request for 4.5.  I don't think I've missed
  anything too major, I'm mostly back at work now but I'll probably get
  some sleep in 5 years time.
  Summary:
  New drivers:
   - etnaviv:
     GPU driver for the 3D core on the Vivante core used in numerous
     ARM boards.
  Highlights:
  Core:
   - Atomic suspend/resume helpers
   - Move the headers to using userspace friendlier types.
   - Documentation updates
   - Lots of struct_mutex removal.
   - Bunch of DP MST fixes from AMD.
  Panel:
   - More DSI helpers
   - Support for some new basic panels
  i915:
   - Basic Kabylake support
   - DP link training and detect code refactoring
   - fbc/psr fixes
   - FIFO underrun fixes
   - SDE interrupt handling fixes
   - dma-buf/fence support in pageflip path.
   - GPU side for MST audio support
  radeon/amdgpu:
   - Drop UMS support
   - GPUVM/Scheduler optimisations
   - Initial Powerplay support for Tonga/Fiji/CZ/ST
   - ACP audio prerequisites
  nouveau:
   - GK20a instmem improvements
   - PCIE link speed change support
  msm:
   - DSI support for msm8960/apq8064
  tegra:
   - Host1X support for Tegra210 SoC
  vc4:
   - 3D acceleration support
  armada:
   - Get rid of struct mutex
  tda998x:
   - Atomic modesetting support
   - TMDS clock limitations
  omapdrm:
   - Atomic modesetting support
   - improved TILER performance
  rockchip:
   - RK3036 VOP support
   - Atomic modesetting support
   - Synopsys DW MIPI DSI support
  exynos:
   - Runtime PM support
   - of_graph binding for DP panels
   - Cleanup of IPP code
   - Configurable plane support
   - Kernel panic fixes at release time"
* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (711 commits)
  drm/fb_cma_helper: Remove implicit call to disable_unused_functions
  drm/amdgpu: add missing irq.h include
  drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates
  drm/vmwgfx: Fix an incorrect lock check
  drm: nouveau: fix nouveau_debugfs_init prototype
  drm/nouveau/pci: fix check in nvkm_pcie_set_link
  drm/amdgpu: validate duplicates first
  drm/amdgpu: move VM page tables to the LRU end on CS v2
  drm/ttm: add ttm_bo_move_to_lru_tail function v2
  drm/ttm: fix adding foreign BOs to the swap LRU
  drm/ttm: fix adding foreign BOs to the LRU during init v2
  drm/radeon: use kobj_to_dev()
  drm/amdgpu: use kobj_to_dev()
  drm/amdgpu/cz: force vce clocks when sclks are forced
  drm/amdgpu/cz: force uvd clocks when sclks are forced
  drm/amdgpu/cz: add code to enable forcing VCE clocks
  drm/amdgpu/cz: add code to enable forcing UVD clocks
  drm/amdgpu: fix lost sync_to if scheduler is enabled.
  drm/amd/powerplay: fix static checker warning for return meaningless value.
  drm/sysfs: use kobj_to_dev()
  ...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/ci_dpm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 14 | 
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c index 57a2e347f04d..8b4731d4e10e 100644 --- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c @@ -1395,7 +1395,6 @@ static void ci_thermal_stop_thermal_controller(struct amdgpu_device *adev)  		ci_fan_ctrl_set_default_mode(adev);  } -#if 0  static int ci_read_smc_soft_register(struct amdgpu_device *adev,  				     u16 reg_offset, u32 *value)  { @@ -1405,7 +1404,6 @@ static int ci_read_smc_soft_register(struct amdgpu_device *adev,  				      pi->soft_regs_start + reg_offset,  				      value, pi->sram_end);  } -#endif  static int ci_write_smc_soft_register(struct amdgpu_device *adev,  				      u16 reg_offset, u32 value) @@ -6084,11 +6082,23 @@ ci_dpm_debugfs_print_current_performance_level(struct amdgpu_device *adev,  	struct amdgpu_ps *rps = &pi->current_rps;  	u32 sclk = ci_get_average_sclk_freq(adev);  	u32 mclk = ci_get_average_mclk_freq(adev); +	u32 activity_percent = 50; +	int ret; + +	ret = ci_read_smc_soft_register(adev, offsetof(SMU7_SoftRegisters, AverageGraphicsA), +					&activity_percent); + +	if (ret == 0) { +		activity_percent += 0x80; +		activity_percent >>= 8; +		activity_percent = activity_percent > 100 ? 100 : activity_percent; +	}  	seq_printf(m, "uvd %sabled\n", pi->uvd_enabled ? "en" : "dis");  	seq_printf(m, "vce %sabled\n", rps->vce_active ? "en" : "dis");  	seq_printf(m, "power level avg    sclk: %u mclk: %u\n",  		   sclk, mclk); +	seq_printf(m, "GPU load: %u %%\n", activity_percent);  }  static void ci_dpm_print_power_state(struct amdgpu_device *adev,  | 
