aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2013-08-30drm/radeon: fix endian bugs in hw i2c atom routinesAlex Deucher2-4/+6
Need to swap the data fetched over i2c properly. This is the same fix as the endian fix for aux channel transactions. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2013-08-30drm/radeon/dpm: adjust the vblank time checks for eg, ni, siAlex Deucher2-2/+4
According to the internal teams, we never hit the limit for mclk switching on these asics, so we can disable the check. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add reclocking quirk for ASUS K70AFAlex Deucher1-1/+9
The LCD has a relatively short vblank time (216us), but the card is able to reclock memory fine in that time. Signed-off-by: Alex Deucher <[email protected]> Reported-by: [email protected]
2013-08-30drm/radeon/dpm: implement UVD powergating for CIAlex Deucher3-6/+3
Disable the UVD block when not in use to save power. The block is not actually powergated on CI, but we switch between UVD DPM (where the uvd clocks are adjusted on demand) and clocks off. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: implement UVD powergating for KB/KVAlex Deucher4-9/+19
Powergate the UVD block when not in use to save power. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: restructure UVD code to handle UVD PG (v2)Alex Deucher7-50/+50
When we PG (powergate) UVD, we need to re-initialize it before we can use it again. v2: rebase on UVD stop fixes Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add new callback for powergating UVD (v4)Alex Deucher2-18/+27
Starting on CIK, multi-media blocks like UVD no longer have special power state. Rather they have their own DPM implementation which adjusts their clocks dynamically when active. When they are not active, the blocks are powergated to save power. v2: add missing pm locks v3: rebase on uvd state selection rework v4: fix inverted logic typo noticed by Christian Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: implement force performance level for KB/KVAlex Deucher3-0/+46
Allows you to force the selected performance level via sysfs. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add debugfs support for KB/KVAlex Deucher4-0/+30
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: implement vblank_too_short callback for CIAlex Deucher3-1/+17
Check if we can switch the mclk during the vblank time otherwise we may get artifacts on the screen when the mclk changes. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: implement force performance level for CIAlex Deucher4-0/+157
Allows you to force the selected performance level via sysfs. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add debugfs support for CIAlex Deucher4-0/+26
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add dpm support for CI dGPUs (v2)Alex Deucher15-15/+6447
This adds dpm support for btc asics. This includes: - dynamic engine clock scaling - dynamic memory clock scaling - dynamic voltage scaling - dynamic pcie gen switching Set radeon.dpm=1 to enable. v2: remove unused radeon_atombios.c changes, make missing smc ucode non-fatal Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/kms: add dpm support for KB/KVAlex Deucher12-4/+3576
This adds dpm support for KB/KV asics. This includes: - dynamic engine clock scaling - dynamic voltage scaling - power containment - shader power scaling Set radeon.dpm=1 to enable. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add helper to fetch the vrefresh of the current modeAlex Deucher2-0/+19
Needed for DPM on CI. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add a helper to encode pcie lane settingAlex Deucher2-0/+11
convert from number of lanes to register setting. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add vce clocks to radeon_psAlex Deucher1-0/+3
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add r600_get_pcie_lane_support helperAlex Deucher2-0/+27
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: parse the acp clock voltage deps tableAlex Deucher1-0/+26
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: parse the samu clock voltage deps tableAlex Deucher1-0/+26
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: clean up the extended table error pathesAlex Deucher1-34/+6
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: parse the uvd clock voltage deps tableAlex Deucher1-0/+40
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: parse the vce clock voltage deps tableAlex Deucher1-1/+40
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add clock voltage dep tables for acp, samuAlex Deucher1-0/+2
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add structs to store vce clock voltage depsAlex Deucher1-0/+12
Used for vce power management. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: grab mvdd_dependency_on_mclk info from vbiosAlex Deucher2-0/+20
Required for dpm on CI. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: add support for parsing the atom powertune tableAlex Deucher2-0/+56
Needed for DPM on CI. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: update cac leakage table parsing for CIAlex Deucher2-8/+24
Uses a different table format if the board supports EVV. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: adjust si_dpm function for code sharingAlex Deucher1-7/+14
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add get_temperature() callbacks for CIK (v2)Alex Deucher5-0/+51
This added support for the on-chip thermal sensors on CIK asics. v2: fix register offset. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add KB/KV to r600_is_internal_thermal_sensorAlex Deucher1-0/+1
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add CI to r600_is_internal_thermal_sensor()Alex Deucher1-0/+1
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add support for thermal controller on KB/KVAlex Deucher2-0/+6
No support for reading temperature back yet. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/cik: add rlc helpers for DPMAlex Deucher2-0/+38
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add structs to store uvd clock voltage depsAlex Deucher1-0/+12
Used for uvd power management. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: switch to pptable.hAlex Deucher2-612/+685
Internally we switched to using a separate header for atombios pplib definitions. Switch over the open source driver. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/sumo add helper to go from vid7 to vid2Alex Deucher2-0/+17
Needed for DPM on KB/KV. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add indirect accessors for dift registers on CIKAlex Deucher2-0/+21
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: implement clock and power gating for CIK (v3)Alex Deucher7-24/+2565
Only the APUs support power gating. v2: disable cgcg for now v3: workaround hw issue in mgcg Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: convert SI,CIK to use sumo_rlc functionsAlex Deucher7-195/+49
and remove duplicate si_rlc functions. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: clean up sumo_rlc_init() for code sharingAlex Deucher1-108/+113
This will eventually be shared with newer asics to reduce code duplication. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/cik: restructure rlc setupAlex Deucher3-31/+56
Restructure rlc setup to handle clock and power gating. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: add support for ASPM on CIK asicsAlex Deucher2-1/+222
Enables PCIE ASPM (Active State Power Management) on CIK asics. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/cik: add support for pcie gen1/2/3 switchingAlex Deucher2-0/+218
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: switch CIK to use radeon_ucode.hAlex Deucher2-16/+15
Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/cik: implement some more atom helpers for DPMAlex Deucher1-0/+115
Required for DPM on CIK. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/kms: fix up dce8 display watermark calc for dpmAlex Deucher1-22/+74
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-08-30drm/radeon/dpm: use performance state if no UVD stateAlex Deucher1-2/+10
Newer asics don't have specific UVD states. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon: default to 1024M gart size on rv770+Alex Deucher2-7/+19
Newer asics have a lot of vram so it's less of an issue to waste a little more space for the gart page table. This gives us some additional gart space before having to migrate to non-gart system ram for games, etc. where we use up most of vram. Signed-off-by: Alex Deucher <[email protected]>
2013-08-30drm/radeon/dpm: rework thermal state handlingAlex Deucher2-31/+15
1. Handle the the thermal state directly in the work handler. Remove the state selection function since nothing else uses it now. 2. On some asics there is no thermal state, so we just use a regular state and force the low performance state. Signed-off-by: Alex Deucher <[email protected]>