summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/radeon/r600_dpm.c
AgeCommit message (Collapse)AuthorFilesLines
2015-03-16drm/radeon: use drm_mode_vrefresh() rather than mode->vrefreshAlex Deucher1-1/+1
commit 3d2d98ee1af0cf6eebfbd6bff4c17d3601ac1284 upstream. Just in case it hasn't been calculated for the mode. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2014-12-06drm/radeon: fix endian swapping in vbios fetch for tdp tableAlex Deucher1-1/+1
commit 28731d5818ae25b92d1fb82fe0ac196e97102c1b upstream. Value needs to be swapped on BE. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2014-06-06drm/radeon/pm: don't walk the crtc list before it has been initialized (v2)Alex Deucher1-16/+19
commit 3ed9a335cfc64b2c83545f341cdddf2347b12b97 upstream. Avoids a crash in certain cases when thermal irqs are generated before the display structures have been initialized. v2: fix the vblank and vrefresh helpers as well bug: https://bugzilla.kernel.org/show_bug.cgi?id=73931 Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
2013-09-23drm/radeon: fix missed variable sized accessAlex Deucher1-1/+1
I missed this when I fixed up this file. Noticed-by: Mathias Fröhlich <Mathias.Froehlich@gmx.net> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-09-11drm/radeon: clean up r600_free_extended_power_table()Dan Carpenter1-24/+14
kfree() can accept NULL pointers so I have removed the checks. Also I've used a pointer to shorten the lines. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: gcc fixes for extended dpm tablesAlex Deucher1-24/+50
Newer versions of gcc seem to wander off into the weeds when dealing with variable sizes arrays in structs. Rather than indexing the arrays, use pointer arithmetic. See bugs: https://bugs.freedesktop.org/show_bug.cgi?id=66932 https://bugs.freedesktop.org/show_bug.cgi?id=66972 https://bugs.freedesktop.org/show_bug.cgi?id=66945 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon/dpm: add helper to fetch the vrefresh of the current modeAlex Deucher1-0/+18
Needed for DPM on CI. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon/dpm: add a helper to encode pcie lane settingAlex Deucher1-0/+10
convert from number of lanes to register setting. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: add r600_get_pcie_lane_support helperAlex Deucher1-0/+23
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: parse the acp clock voltage deps tableAlex Deucher1-0/+26
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: parse the samu clock voltage deps tableAlex Deucher1-0/+26
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon/dpm: clean up the extended table error pathesAlex Deucher1-34/+6
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: parse the uvd clock voltage deps tableAlex Deucher1-0/+40
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: parse the vce clock voltage deps tableAlex Deucher1-1/+40
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon/dpm: grab mvdd_dependency_on_mclk info from vbiosAlex Deucher1-0/+19
Required for dpm on CI. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon/dpm: add support for parsing the atom powertune tableAlex Deucher1-0/+44
Needed for DPM on CI. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon/dpm: update cac leakage table parsing for CIAlex Deucher1-4/+13
Uses a different table format if the board supports EVV. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: add KB/KV to r600_is_internal_thermal_sensorAlex Deucher1-0/+1
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-08-31drm/radeon: add CI to r600_is_internal_thermal_sensor()Alex Deucher1-0/+1
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-07-26drm/radeon/dpm: fix r600_enable_sclk_control()Alex Deucher1-2/+2
Actually program the correct register to enable engine clock scaling control. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-07-09drm/radeon/dpm: add helper to calculate vblank timeAlex Deucher1-0/+24
Required for checking vblank time for mclk changes. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-28drm/radeon/kms: add dpm support for SI (v7)Alex Deucher1-0/+1
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-28drm/radeon: add SI to r600_is_internal_thermal_sensor()Alex Deucher1-0/+1
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-28drm/radeon/dpm: add pcie gen helper functionAlex Deucher1-0/+23
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-28drm/radeon: fix some memory leaks in extended table parsingAlex Deucher1-2/+11
Forgot to free some structs when allocation fails for some tables. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-28drm/radeon/dpm: pull in ppm info from atomAlex Deucher1-0/+47
Used by SI dpm. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-28drm/radeon/dpm: endian fixes for extended power tablesAlex Deucher1-3/+6
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-28drm/radeon/dpm: pull in phase shedding limits from atomAlex Deucher1-1/+29
Required for dpm on SI. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-06-28drm/radeon/dpm: add pre/post_set_power_state callbacks (6xx-eg)Alex Deucher1-0/+10
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-28drm/radeon/dpm: add helpers for extended power tables (v2)Alex Deucher1-0/+179
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-27drm/radeon/kms: add dpm support for rv6xx (v3)Alex Deucher1-0/+45
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-27drm/radeon/kms: add common r600 dpm functionsAlex Deucher1-0/+678
These are shared by rs780/rs880, rv6xx, and newer chips. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>