Alex Deucher
6bb5c0d74c
drm/radeon/dpm: add helper to fetch the vrefresh of the current mode
...
Needed for DPM on CI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:27 -04:00
Alex Deucher
61fb192a1c
drm/radeon/dpm: add a helper to encode pcie lane setting
...
convert from number of lanes to register setting.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:26 -04:00
Alex Deucher
4df5ac2652
drm/radeon: add r600_get_pcie_lane_support helper
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:25 -04:00
Alex Deucher
96d2af2150
drm/radeon: parse the acp clock voltage deps table
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:24 -04:00
Alex Deucher
3cb928ff1e
drm/radeon: parse the samu clock voltage deps table
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:23 -04:00
Alex Deucher
becfa6989b
drm/radeon/dpm: clean up the extended table error pathes
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:22 -04:00
Alex Deucher
018042b15b
drm/radeon: parse the uvd clock voltage deps table
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:22 -04:00
Alex Deucher
57ff476171
drm/radeon: parse the vce clock voltage deps table
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:21 -04:00
Alex Deucher
dd621a22cf
drm/radeon/dpm: grab mvdd_dependency_on_mclk info from vbios
...
Required for dpm on CI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:19 -04:00
Alex Deucher
58cb7632df
drm/radeon/dpm: add support for parsing the atom powertune table
...
Needed for DPM on CI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:18 -04:00
Alex Deucher
ef976ec4e2
drm/radeon/dpm: update cac leakage table parsing for CI
...
Uses a different table format if the board supports EVV.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:17 -04:00
Alex Deucher
12262906b1
drm/radeon: add KB/KV to r600_is_internal_thermal_sensor
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:15 -04:00
Alex Deucher
2aacd48fa7
drm/radeon: add CI to r600_is_internal_thermal_sensor()
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-30 16:30:14 -04:00
Alex Deucher
f5d9b7f0f9
drm/radeon/dpm: fix r600_enable_sclk_control()
...
Actually program the correct register to enable
engine clock scaling control.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-07-25 21:46:21 -04:00
Alex Deucher
66edc1c95d
drm/radeon/dpm: add helper to calculate vblank time
...
Required for checking vblank time for mclk changes.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-07-08 17:40:09 -04:00
Alex Deucher
a9e6141092
drm/radeon/kms: add dpm support for SI (v7)
...
This adds dpm support for SI asics. This includes:
- dynamic engine clock scaling
- dynamic memory clock scaling
- dynamic voltage scaling
- dynamic pcie gen1/gen2/gen3 switching
- power containment
- shader power scaling
Set radeon.dpm=1 to enable.
v2: enable hainan support, rebase
v3: guard acpi stuff
v4: fix 64 bit math
v5: fix 64 bit div harder
v6: fix thermal interrupt check noticed by Jerome
v7: attempt fix state enable
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:40:05 -04:00
Alex Deucher
ac1633876f
drm/radeon: add SI to r600_is_internal_thermal_sensor()
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:52 -04:00
Alex Deucher
4bd9f516f6
drm/radeon/dpm: add pcie gen helper function
...
Add a helper function to determine the preferred
pcie gen based on the card, system, and circumstance.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:40 -04:00
Alex Deucher
f907eec036
drm/radeon: fix some memory leaks in extended table parsing
...
Forgot to free some structs when allocation fails for some
tables.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:38 -04:00
Alex Deucher
a5cb318e3f
drm/radeon/dpm: pull in ppm info from atom
...
Used by SI dpm.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:35 -04:00
Alex Deucher
9985318b7f
drm/radeon/dpm: endian fixes for extended power tables
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:34 -04:00
Alex Deucher
929ee7a8b3
drm/radeon/dpm: pull in phase shedding limits from atom
...
Required for dpm on SI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:34 -04:00
Alex Deucher
98243917d7
drm/radeon/dpm: add pre/post_set_power_state callbacks (6xx-eg)
...
For r6xx-evergreen, they are no-ops as they don't support
any dynamic state adjustment.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:16:17 -04:00
Alex Deucher
61b7d60110
drm/radeon/dpm: add helpers for extended power tables (v2)
...
This data will be needed for dpm on newer asics.
v2: fix typo in rebase
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 19:15:50 -04:00
Alex Deucher
4a6369e993
drm/radeon/kms: add dpm support for rv6xx (v3)
...
This adds dpm support for rv6xx asics. This includes:
- clockgating
- dynamic engine clock scaling
- dynamic memory clock scaling
- dynamic voltage scaling
- dynamic pcie gen1/gen2 switching
Set radeon.dpm=1 to enable.
v2: remove duplicate line
v3: fix thermal interrupt check noticed by Jerome
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
2013-06-27 10:50:08 -04:00
Alex Deucher
2e9d4c05a1
drm/radeon/kms: add common r600 dpm functions
...
These are shared by rs780/rs880, rv6xx, and newer chips.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-27 10:49:24 -04:00