Alex Deucher
c3b16f16a4
drm/radeon: move ci_send_msg_to_smc to where it's used
...
It's used in ci_dpm.c so move it there and make it static.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-08 20:16:28 -04:00
Dave Airlie
2a1720376a
Backmerge tag 'v4.12-rc3' into drm-next
...
Linux 4.12-rc3
Daniel has requested this for some drm-intel-next work.
2017-05-30 15:54:15 +10:00
Alex Deucher
58d7e3e427
drm/radeon/ci: disable mclk switching for high refresh rates (v2)
...
Even if the vblank period would allow it, it still seems to
be problematic on some cards.
v2: fix logic inversion (Nils)
bug: https://bugs.freedesktop.org/show_bug.cgi?id=96868
Cc: stable@vger.kernel.org
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-05-24 16:45:03 -04:00
Masahiro Yamada
64a9dfc447
drm/radeon: fix include notation and remove -Iinclude/drm flag
...
Include <drm/*.h> instead of relative path from include/drm, then
remove the -Iinclude/drm compiler flag.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com >
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1493009447-31524-14-git-send-email-yamada.masahiro@socionext.com
2017-05-17 14:36:40 +02:00
Nicholas Mc Guire
ecb2caae6a
drm/radeon/ci add comment to document intentionally unreachable code
...
commit d967be9b80
("drm/radeon/ci: disable needless sclk changes")
introduces an unreachable if(C != C) conditional code section
flagged by coccinelle script bad_conditional.cocci:
Add a comment to make it clear that this is intentional.
Fixes: d967be9b80
("drm/radeon/ci: disable needless sclk changes")
Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-29 14:36:45 -04:00
Jérome Glisse
3cf8bb1ad1
drm/radeon: fix indentation.
...
I hate doing this but it hurts my eyes to go over code that does not
comply with indentation rules. Only thing that is not only space change
is in atom.c all other files are space indentation issues.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Jérôme Glisse <jglisse@redhat.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-03-16 18:08:06 -04:00
Alex Deucher
bda5e3e97f
drm/radeon/ci: silence a harmless PCC warning
...
This has been a source of confusion. Make it debug only.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-07-16 12:39:43 -04:00
Alex Deucher
dbbd3c81b0
drm/radeon/ci: implement get_current_sclk/mclk
...
Will be used for exposing current clocks via INFO ioctl.
Tested-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-03-19 12:26:34 -04:00
Alex Deucher
64e580447f
drm/radeon: comment out some currently unused ci dpm code
...
Keep it around for reference.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:38:53 -05:00
Oleg Chernovskiy
36689e5750
drm/radeon: bind fan control on CI cards to hwmon interface (v2)
...
This adds a possibility to control fan on CI parts
via exported hwmon variables. Note that automatic
ucode fan management pauses if you choose to enable
manual fan control. Use with caution!
v2: agd5f: fix formatting, squash in:
minor fix for pwm1_enable exposed value
Track smc control in addition to fan mode
This fixes pwm1_enable being constantly set
to 1 because of enabled smc control
also handle the case where smc fan control is disabled.
Signed-off-by: Oleg Chernovskiy <algonkvel@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-01-22 10:38:48 -05:00
Alex Deucher
eb8d4d0d99
drm/radeon: enable smc fan control on CI
...
This seems to work well on CI boards after fixing the
last few bugs noticed by Chernovsky Oleg.
On boards with a high default fan speed this should
reduce fan noise. Manual fan control is not enabled
yet.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-12-03 19:05:19 -05:00
Alex Deucher
6554d9a0e6
drm/radeon: fix copy paste typos in fan control for si/ci
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-12-03 18:26:51 -05:00
Alex Deucher
d967be9b80
drm/radeon/ci: disable needless sclk changes
...
The current code always reprogrammed the sclk levels,
but we don't currently handle disp sclk requirements
so just skip it.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:13 -05:00
Alex Deucher
7f6233ca87
drm/radeon/ci: force pcie level before sclk and mclk
...
Preferred ordering.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:13 -05:00
Alex Deucher
e745c3c9aa
drm/radeon/ci: use different smc command for pcie dpm
...
Use unforce levels rather than enable mask instruction.
This is the preferred method.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:12 -05:00
Alex Deucher
f281d0a37c
drm/radeon/ci: apply disp voltage changes before clk changes
...
Apply voltage changes for displays before changing clocks.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:12 -05:00
Alex Deucher
66648b81ce
drm/radeon: fix PCC debugging message for CI DPM
...
Add missing newline and print the bad gpio shift.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:11 -05:00
Alex Deucher
0e4ed1c190
drm/radeon/dpm: add thermal dpm support for CI
...
Not currently used.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:10 -05:00
Alex Deucher
e03cea367f
drm/radeon/dpm: add smc fan control for CI (v2)
...
Enable smc fan control for CI boards. Should
reduce the fan noise on systems with a higher
default fan profile.
v2: disable by default, add additional fan setup, rpm control
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=73338
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-20 13:00:10 -05:00
Alex Deucher
b94b95e7e3
drm/radeon: set power control in ci dpm enable
...
Necessary for poper operation.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:46 -05:00
Alex Deucher
542b379b55
drm/radeon: powertune fixes for hawaii
...
- bapm is not available on hawaii
- update pt defaults
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:45 -05:00
Alex Deucher
90b2fee35c
drm/radeon: fix dpm mc init for certain hawaii boards
...
Needs special overrides for certain vram configurations.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:44 -05:00
Alex Deucher
4e21518c3d
drm/radeon: set bootup pcie level to max for ci dpm
...
Avoids problems when re-loading the driver. Does not
affect power saving when dpm is enabled.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:44 -05:00
Alex Deucher
b6b41cf3b6
drm/radeon: fix default dpm state setup
...
Only enable the first levels for mclk and sclk.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:43 -05:00
Alex Deucher
36654dd4b9
drm/radeon: workaround a hw bug in bonaire pcie dpm
...
Some boards get stuck in pcie x1 otherwise.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:42 -05:00
Alex Deucher
127e056e2a
drm/radeon: fix mclk vddc configuration for cards for hawaii
...
Need to use vddc0 for vdcc1 for certain hawaii configurations.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:42 -05:00
Alex Deucher
489ba72c1e
drm/radeon: fix sclk DS enablement
...
Only enable it for levels 0 and 1.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:41 -05:00
Alex Deucher
d3052b8ce8
drm/radeon: fix activity settings for sclk and mclk for CI
...
Only need to be enabled on the first level.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:40 -05:00
Alex Deucher
c0392f8f09
drm/radeon: improve mclk param calcuations for ci dpm
...
Properly take into account the post divider.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:40 -05:00
Alex Deucher
21b8a36904
drm/radeon: fix dram timing for certain hawaii boards
...
Certain memory configurations need a fix.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:39 -05:00
Alex Deucher
1c52279f57
drm/radeon: switch force state commands for CI
...
Use the preferred SMC commands for forcing state on CI.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:38 -05:00
Alex Deucher
34fc0b58d9
drm/radeon/ci: handle gpio controlled dpm features properly
...
Certain feature enablement depends on entries in the atom
gpio pin table.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:37 -05:00
Alex Deucher
129acb7c0b
drm/radeon: fix typo in CI dpm disable
...
Need to disable DS, not enable it when disabling dpm.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2014-11-12 11:56:35 -05:00
Alex Deucher
1955f107a7
drm/radeon: rework CI dpm thermal setup
...
In preparation for fan control.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-11-12 11:56:35 -05:00
Michele Curti
01467a9b5e
drm/radeon: reduce sparse false positive warnings
...
include radeon_asic.h header file in the various xxx_dpm.c files
to reduce sparse false positive warnings. Not so great patch
in itself, but reducing warning count from 391 to 258 may help
to see real problems..
Signed-off-by: Michele Curti <michele.curti@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-10-16 18:34:10 -04:00
Alex Deucher
3e15c35374
drm/radeon/ci: add uvd/vce info to dpm debugfs output
...
Track whether UVD or VCE are enabled in debugfs.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-10-03 09:19:17 -04:00
Alex Deucher
6aff1e282a
drm/radeon/dpm: drop clk/voltage dependency filters for CI
...
Not sure this was ever necessary for CI, was just done
to be on the safe side.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=69721
Reviewed-by: Alexandre Demers <alexandre.f.demers@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-10-01 09:00:06 -04:00
Oleg Chernovskiy
6bce8d9772
drm/radeon: Add missing lines to ci_set_thermal_temperature_range
...
Properly set the thermal min and max temp on CI.
Otherwise, we end up setting the thermal ranges
to 0 on resume and end up in the lowest power state.
Signed-off-by: Oleg Chernovskiy <algonkvel@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2014-08-15 00:58:18 -04:00
Alex Deucher
6b57f20cb5
drm/radeon/dpm: handle voltage info fetching on hawaii
...
Some hawaii cards use a different method to fetch the
voltage info from the vbios.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=74250
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2014-08-05 08:53:47 -04:00
Alex Deucher
ed96377132
drm/radeon: fix typo in ci_stop_dpm()
...
Need to use the RREG32_SMC() accessor since the register
is an smc indirect index.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2014-07-10 17:01:30 -04:00
Alex Deucher
7e1858f9af
drm/radeon: re-enable mclk dpm on R7 260X asics
...
If the new mc ucode is available.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2014-04-17 13:59:53 +02:00
Alex Deucher
6abc6d5c73
drm/radeon: update CI DPM powertune settings
...
As per internal recommendations.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-04-17 13:59:41 +02:00
Alex Deucher
57700ad1f2
drm/radeon: disable mclk dpm on R7 260X
...
Setting higher mclks seems to cause stability issues
on some R7 260X boards. Disable it for now for stability
until we find a proper fix.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=75992
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2014-04-17 13:59:36 +02:00
Alex Deucher
a1d6f97c8c
drm/radeon/cik: enable/disable vce cg when encoding v2
...
Some of the vce clocks are automatic, others need to
be manually enabled. For ease, just disable cg when
vce is active.
v2: rebased
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-02-18 16:11:46 +01:00
Alex Deucher
ee35b0024a
drm/radeon: enable vce dpm on CI
...
VCE dpm dynamically adjusts the uvd clocks on
demand.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-02-18 16:11:38 +01:00
Alex Deucher
8cd366823e
drm/radeon: add vce dpm support for CI
...
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-02-18 16:11:36 +01:00
Alex Deucher
82f79cc54b
drm/radeon/dpm: move platform caps fetching to a separate function
...
It's needed by by both the asic specific functions and the
extended table parser.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2014-02-18 16:11:30 +01:00
Alex Deucher
9a04dad3a1
drm/radeon/dpm: make some functions static for CI
...
Noticed by Rashika Kheria and cherry-picked from
her larger patch set.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: Rashika Kheria <rashika.kheria@gmail.com >
2014-01-07 12:55:37 -05:00
Alex Deucher
6c7bccea39
drm/radeon/pm: move pm handling into the asic specific code
...
We need more control over the ordering of dpm init with
respect to the rest of the asic. Specifically, the SMC
has to be initialized before the rlc and cg/pg. The pm
code currently initializes late in the driver, but we need
it to happen much earlier so move pm handling into the asic
specific callbacks.
This makes dpm more reliable and makes clockgating work
properly on CIK parts and should help on SI parts as well.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-12-24 17:57:06 -05:00
Alex Deucher
e14cd2bbcb
drm/radeon/dpm: switch on new late_enable callback
...
Right now it's called right after enable, but after
reworking the dpm init order, it will get called later
to accomodate loading the smc early, but enabling
thermal interrupts and block powergating later after
the ring tests are complete.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2013-12-24 17:56:50 -05:00