aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon
AgeCommit message (Collapse)AuthorFilesLines
2013-06-27drm/radeon/dpm: remove broken dyn state remnantsAlex Deucher2-20/+5
Now that the proper fix has been implemented I can remove the last remnants of the initial implementation. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add pre/post_set_power_state callback (cayman)Alex Deucher4-12/+60
This properly implemented dynamic state adjustment by using a working copy of the requested and current power states. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add pre/post_set_power_state callback (BTC)Alex Deucher4-13/+83
This properly implemented dynamic state adjustment by using a working copy of the requested and current power states. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add pre/post_set_power_state callback (TN)Alex Deucher4-22/+61
This properly implemented dynamic state adjustment by using a working copy of the requested and current power states. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add pre/post_set_power_state callback (sumo)Alex Deucher4-22/+62
This properly implemented dynamic state adjustment by using a working copy of the requested and current power states. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add pre/post_set_power_state callbacks (6xx-eg)Alex Deucher3-0/+20
For r6xx-evergreen, they are no-ops as they don't support any dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add new pre/post_set_power_state callbacksAlex Deucher2-0/+15
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/tn: restructure codeAlex Deucher1-41/+52
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/sumo: restructure codeAlex Deucher1-62/+81
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/cayman: restructure codeAlex Deucher1-33/+36
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/btc: restructure codeAlex Deucher3-17/+19
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/evergreen: restructure codeAlex Deucher3-42/+53
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/rv7xx: restructure codeAlex Deucher5-43/+55
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/rv6xx: restructure codeAlex Deucher1-46/+69
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm/rs780: restructure codeAlex Deucher1-20/+32
Needed to properly handle dynamic state adjustment. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for cayman (v5)Alex Deucher16-28/+5344
This adds dpm support for cayman asics. This includes: - clockgating - dynamic engine clock scaling - dynamic memory clock scaling - dynamic voltage scaling - dynamic pcie gen1/gen2 switching (requires additional acpi support) - power containment - shader power scaling Set radeon.dpm=1 to enable. v2: fold in tdp fix v3: fix indentation v4: fix 64 bit div v5: attempt to fix state enable Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Jerome Glisse <[email protected]>
2013-06-27drm/radeon/dpm: fixup dynamic state adjust for btc (v2)Alex Deucher6-9/+400
Use a dedicated copy of the current power state since we may have to adjust it on the fly. v2: fix up redundant state sets Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: fixup dynamic state adjust for TNAlex Deucher2-0/+6
Use a dedicated copy of the current power state since we may have to adjust it on the fly. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: fixup dynamic state adjust for sumoAlex Deucher4-1/+19
Use a dedicated copy of the current power state since we may have to adjust it on the fly. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: track whether we are on AC or batteryAlex Deucher2-0/+8
Driver needs this information to validate power states. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: add helpers for extended power tables (v2)Alex Deucher3-0/+252
This data will be needed for dpm on newer asics. v2: fix typo in rebase Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: enable UVD as needed (v9)Alex Deucher4-6/+32
When using UVD, the driver must switch to a special UVD power state. In the CS ioctl, switch to the power state and schedule work to change the power state back, when the work comes up, check if uvd is still busy and if not, switch back to the user state, otherwise, reschedule the work. Note: We really need some better way to decide when to switch out of the uvd power state. Switching power states while playback is active make uvd angry. V2: fix locking. V3: switch from timer to delayed work V4: check fence driver for UVD jobs, reduce timeout to 1 second and rearm timeout on activity v5: rebase on new dpm tree v6: rebase on interim uvd on demand changes v7: fix UVD when DPM is disabled v8: unify non-DPM and DPM UVD handling v9: remove leftover idle work struct Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Christian König <[email protected]>
2013-06-27drm/radeon: add dpm UVD handling for TN asics (v2)Alex Deucher5-0/+249
v2: fix typo noticed by Dan Carpenter Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: add dpm UVD handling for sumo asicsAlex Deucher2-0/+65
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: add dpm UVD handling for evergreen/btc asicsAlex Deucher7-14/+107
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: add dpm UVD handling for r7xx asicsAlex Deucher2-0/+36
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/dpm: let atom control display phy powergatingAlex Deucher1-0/+7
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for trinity asicsAlex Deucher14-51/+2179
This adds dpm support for trinity asics. This includes: - clockgating - powergating - dynamic engine clock scaling - dynamic voltage scaling set radeon.dpm=1 to enable it. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for sumo asics (v2)Alex Deucher8-1/+2489
This adds dpm support for sumo asics. This includes: - clockgating - powergating - dynamic engine clock scaling - dynamic voltage scaling set radeon.dpm=1 to enable it. v2: fix indention Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Jerome Glisse <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for btc (v3)Alex Deucher10-1/+2540
This adds dpm support for btc asics. This includes: - clockgating - dynamic engine clock scaling - dynamic memory clock scaling - dynamic voltage scaling - dynamic pcie gen1/gen2 switching (requires additional acpi support) Set radeon.dpm=1 to enable. v2: reduce stack usage v3: attempt to fix state enable Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for evergreen (v4)Alex Deucher16-10/+2877
This adds dpm support for evergreen asics. This includes: - clockgating - dynamic engine clock scaling - dynamic memory clock scaling - dynamic voltage scaling - dynamic pcie gen1/gen2 switching (requires additional acpi support) Set radeon.dpm=1 to enable. v2: reduce stack usage, rename ulv struct v3: fix thermal interrupt check notices by Jerome v4: fix state enable Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for rv7xx (v4)Alex Deucher18-13/+4876
This adds dpm support for rv7xx 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: reduce stack usage v3: fix 64 bit div v4: fix state enable Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for rv6xx (v3)Alex Deucher16-3/+2477
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 <[email protected]> Reviewed-by: Christian König <[email protected]>
2013-06-27drm/radeon/kms: add dpm support for rs780/rs880Alex Deucher7-1/+1203
This adds dpm support for rs780/rs880 asics. This includes: - clockgating - dynamic engine clock scaling - dynamic voltage scaling set radeon.dpm=1 to enable it. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add common r600 dpm functionsAlex Deucher5-1/+1116
These are shared by rs780/rs880, rv6xx, and newer chips. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: fix up dce6 display watermark calc for dpmAlex Deucher1-25/+71
Calculate the low and high watermarks based on the low and high clocks for the current power state. The dynamic pm hw will select the appropriate watermark based on the internal dpm state. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: fix up dce4/5 display watermark calc for dpmAlex Deucher1-23/+66
Calculate the low and high watermarks based on the low and high clocks for the current power state. The dynamic pm hw will select the appropriate watermark based on the internal dpm state. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: fix up 6xx/7xx display watermark calc for dpmAlex Deucher1-92/+132
Calculate the low and high watermarks based on the low and high clocks for the current power state. The dynamic pm hw will select the appropriate watermark based on the internal dpm state. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: fix up rs780/rs880 display watermark calc for dpmAlex Deucher1-124/+167
calculate the low and high watermarks based on the low and high clocks for the current power state. The dynamic pm hw will select the appropriate watermark based on the internal dpm state. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add common dpm infrastructureAlex Deucher3-9/+591
This adds the common dpm (dynamic power management) infrastructure: - dpm callbacks - dpm init/fini/suspend/resume - dpm power state selection No device specific code is enabled yet. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add new asic struct for rv6xx (v4)Alex Deucher1-5/+97
Has a different dpm controller than r600. v2: rebase on gpu reset changes v3: rebase on get_xclk changes v4: update rptr/wtpr callbacks Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add atom helper functions for dpm (v3)Alex Deucher3-7/+743
dpm needs access to atombios data and command tables for setup and calculation of a number of parameters. v2: endian fix v3: fix mc reg table bug Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: properly set up the RLC on ON/LN/TN (v3)Alex Deucher9-43/+2721
This is required for certain advanced functionality. v2: save/restore list takes dword offsets v3: rebase on gpu reset changes Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: move ucode defines to a separate headerAlex Deucher4-33/+56
Avoids confusion and duplication. Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: add support for thermal sensor on tnAlex Deucher4-0/+13
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: make get_temperature functions a callbackAlex Deucher4-27/+19
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/evergreen: add indirect register accessors for CG registersAlex Deucher2-0/+20
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon/kms: add accessors for RCU indirect spaceAlex Deucher3-4/+22
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: add cik tile mode array queryAlex Deucher4-8/+14
Signed-off-by: Alex Deucher <[email protected]>
2013-06-27drm/radeon: add radeon_asic struct for CIK (v12)Alex Deucher2-0/+376
v2: fix up for latest reset changes v3: use CP for pt updates for now v4: update for 2 level PTs v5: update for ib_parse removal v6: vm_flush api change v7: rebase v8: fix gfx ring function pointers v9: fix vm_set_page function params v10: update for compute changes v11: cleanup for release v12: update rptr/wptr callbacks Signed-off-by: Alex Deucher <[email protected]>