Alex Deucher
f8f84ac5d4
drm/radeon: implement clock and power gating for SI
...
Only Cape Verde supports power gating.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:32 -04:00
Alex Deucher
bd8cd5391a
drm/radeon: add clearstate init for verde power gating
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:31 -04:00
Alex Deucher
6d8cf0005d
drm/radeon: initialize save/restore buffer for pg on verde
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:31 -04:00
Alex Deucher
93656cdd3c
drm/radeon: add indirect accessors for UVD CTX registers
...
These are needed for certain UVD power saving features.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:30 -04:00
Alex Deucher
beb79f40b8
drm/radeon: add atom get leakage vddc function
...
Required for DPM on SI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:29 -04:00
Alex Deucher
d719cef316
drm/radeon: update rlc programming sequence on SI
...
This is required for certain power management features.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:29 -04:00
Alex Deucher
8ba104637b
drm/radeon: enable additional power gating features on trinity
...
TN has some additional powergating features beyond what is
supported on ON/LN.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:28 -04:00
Alex Deucher
e0bcf1654d
drm/radeon: add support for ASPM on SI asics (v2)
...
Enables PCIE ASPM (Active State Power Management) on
SI asics.
v2: fix typo
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:27 -04:00
Alex Deucher
f52382d73e
drm/radeon: add support for ASPM on evergreen asics
...
Enables PCIE ASPM (Active State Power Management) on
evergreen-cayman asics.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:27 -04:00
Alex Deucher
792edd6957
drm/radeon: add accessors of pif_phy indirect register space
...
Required for accessing certain pcie related registers.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:26 -04:00
Alex Deucher
b9d305dfb6
drm/radeon: implement pcie gen2/3 support for SI
...
If both the motherboard and GPU support pcie gen2 or 3,
enable it. PCIE gen2 and 3 offer more bandwidth than
pcie gen1.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:25 -04:00
Alex Deucher
6517194417
drm/radeon: update radeon_atom_get_voltage_table() for SI
...
SI uses a new atom table revision. Required for DPM on SI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:25 -04:00
Alex Deucher
58653abdd2
drm/radeon: update radeon_atom_is_voltage_gpio() for SI
...
SI uses a new atom table. Required for DPM on SI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:24 -04:00
Alex Deucher
eaa778aff0
drm/radeon/atom: add helper to calcuate mpll params
...
There's a new table for calculating the memory pll
parameters on SI. Required for SI DPM support.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:23 -04:00
Alex Deucher
e37e6a0e4f
drm/radeon: implement apci perf request
...
These functions use acpi methods to adjust the pcie
gen speed. Used by DPM.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:23 -04:00
Alex Deucher
9d45ad5aff
drm/radeon/dpm: remove local sumo_get_xclk()
...
Use the new asic callback instead.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:22 -04:00
Alex Deucher
a5b91af2e2
drm/radeon: add missing UVD clock set in cayman dpm code
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:21 -04:00
Alex Deucher
89c9bc5651
drm/radeon/dpm: remove broken dyn state remnants
...
Now that the proper fix has been implemented I can
remove the last remnants of the initial implementation.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:21 -04:00
Alex Deucher
fee3d744bf
drm/radeon/dpm: add pre/post_set_power_state callback (cayman)
...
This properly implemented dynamic state adjustment by
using a working copy of the requested and current
power states.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:20 -04:00
Alex Deucher
e8a9539fa0
drm/radeon/dpm: add pre/post_set_power_state callback (BTC)
...
This properly implemented dynamic state adjustment by
using a working copy of the requested and current
power states.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:19 -04:00
Alex Deucher
a284c48ae7
drm/radeon/dpm: add pre/post_set_power_state callback (TN)
...
This properly implemented dynamic state adjustment by
using a working copy of the requested and current
power states.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:18 -04:00
Alex Deucher
422a56bc8a
drm/radeon/dpm: add pre/post_set_power_state callback (sumo)
...
This properly implemented dynamic state adjustment by
using a working copy of the requested and current
power states.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:18 -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
84dd192826
drm/radeon/dpm: add new pre/post_set_power_state callbacks
...
Needed to properly handle dynamic state adjustment.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:16 -04:00
Alex Deucher
940eea8e4d
drm/radeon/dpm/tn: restructure code
...
Needed to properly handle dynamic state adjustment.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-06-27 19:16:16 -04:00