]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/log
mirror_ubuntu-disco-kernel.git
6 years agodrm/amd/pp: Change activity_target for performance optimization on Polaris
Rex Zhu [Tue, 23 Jan 2018 08:28:09 +0000 (16:28 +0800)]
drm/amd/pp: Change activity_target for performance optimization on Polaris

And not support perDPM level optimization on Polaris, so
delete sclk activity_target array.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Remove timer handler.
Andrey Grodzovsky [Fri, 19 Jan 2018 21:35:06 +0000 (16:35 -0500)]
drm/amd/display: Remove timer handler.

Dead code, looks obsolete.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Remove unsued mutex and spinlock.
Andrey Grodzovsky [Fri, 19 Jan 2018 21:35:05 +0000 (16:35 -0500)]
drm/amd/display: Remove unsued mutex and spinlock.

They seem to be obsolete.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Fix warning about misaligned code
Harry Wentland [Tue, 16 Jan 2018 22:15:25 +0000 (17:15 -0500)]
drm/amd/display: Fix warning about misaligned code

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Charlene Liu <charlene.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Add temporary delay on disconnect patch
John Barberiz [Mon, 15 Jan 2018 23:30:22 +0000 (18:30 -0500)]
drm/amd/display: Add temporary delay on disconnect patch

- Sequencing bug of not resetting delay on disconnect to default values

Signed-off-by: John Barberiz <jbarberi@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Remove unnecessary register programming
Mikita Lipski [Mon, 15 Jan 2018 19:27:15 +0000 (14:27 -0500)]
drm/amd/display: Remove unnecessary register programming

Remove aux engine register programming,when freeing the engine
as it was a temporary workaround.

Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Add temporary delay on disconnect patch
John Barberiz [Fri, 12 Jan 2018 19:51:21 +0000 (14:51 -0500)]
drm/amd/display: Add temporary delay on disconnect patch

Signed-off-by: John Barberiz <jbarberi@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Fix unused variable compilation error
Leo (Sunpeng) Li [Fri, 12 Jan 2018 20:47:48 +0000 (15:47 -0500)]
drm/amd/display: Fix unused variable compilation error

Fix:

drivers/gpu/drm/amd/amdgpu/../dal-dev/dc/dce110/dce110_hw_sequencer.c:
In function ‘dce110_blank_stream’:
drivers/gpu/drm/amd/amdgpu/../dal-dev/dc/dce110/dce110_hw_sequencer.c:1008:31:
error: unused variable ‘params’ [-Werror=unused-variable]
  struct encoder_unblank_param params = { { 0 } };

Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Reviewed-by: Wesley Chalmers <Wesley.Chalmers@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: eDP sequence BL off first then DP blank.
Charlene Liu [Thu, 11 Jan 2018 20:31:26 +0000 (15:31 -0500)]
drm/amd/display: eDP sequence BL off first then DP blank.

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Add debug flag for p010_mpo_support
Geling Li [Thu, 11 Jan 2018 19:21:12 +0000 (14:21 -0500)]
drm/amd/display: Add debug flag for p010_mpo_support

Signed-off-by: Geling Li <geling.li@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Force full update on pixel_format_change
Krunoslav Kovac [Wed, 10 Jan 2018 22:40:32 +0000 (17:40 -0500)]
drm/amd/display: Force full update on pixel_format_change

Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: dal 3.1.29
Tony Cheng [Wed, 10 Jan 2018 22:31:14 +0000 (17:31 -0500)]
drm/amd/display: dal 3.1.29

Signed-off-by: Tony Cheng <tony.cheng@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: dpms off mute az audio endpoint only.
Charlene Liu [Tue, 9 Jan 2018 23:37:04 +0000 (18:37 -0500)]
drm/amd/display: dpms off mute az audio endpoint only.

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: revert to hacking bounding box for pipe split
Dmytro Laktyushkin [Tue, 9 Jan 2018 21:37:03 +0000 (16:37 -0500)]
drm/amd/display: revert to hacking bounding box for pipe split

Directly editing pipe config outside of formula is error prone
and results in higher clocks being used when splitting.
For this reason we reverted to using bounding box hacking
to split. Since sometimes this erroneusly results in higher dpm
being required we unhack the bounding box and recalculate to allow
dpm0 is possible.
Side effect is we will lose some stutter efficiency
in non dpm0 cases. This is not a big concern since increased stutter
efficiency saves an order of magnitude less power than lower dpm.

Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: disable az_clock_gating for endpoint register access only
Charlene Liu [Tue, 9 Jan 2018 22:24:10 +0000 (17:24 -0500)]
drm/amd/display: disable az_clock_gating for endpoint register access only

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Define dpp1_set_cursor_position in header
Arun Pandey [Mon, 8 Jan 2018 12:37:49 +0000 (20:37 +0800)]
drm/amd/display: Define dpp1_set_cursor_position in header

Signed-off-by: Arun Pandey <Arun.Pandey@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: fix backlight not off at resume from S4
Charlene Liu [Mon, 8 Jan 2018 21:47:39 +0000 (16:47 -0500)]
drm/amd/display: fix backlight not off at resume from S4

Signed-off-by: Charlene Liu <charlene.liu@amd.com>
Reviewed-by: Krunoslav Kovac <Krunoslav.Kovac@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Add timing generator count to resource pool.
Yongqiang Sun [Fri, 5 Jan 2018 18:53:06 +0000 (13:53 -0500)]
drm/amd/display: Add timing generator count to resource pool.

Use tg count in resource pool for further reference.

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Synchronize update plane addr for freesync
SivapiriyanKumarasamy [Thu, 4 Jan 2018 19:29:58 +0000 (14:29 -0500)]
drm/amd/display: Synchronize update plane addr for freesync

Lock top_pipe when doing update plane addr for split pipe freesync case

Signed-off-by: SivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Call update_stream_signal directly from amdgpu_dm
Harry Wentland [Mon, 18 Dec 2017 17:01:30 +0000 (12:01 -0500)]
drm/amd/display: Call update_stream_signal directly from amdgpu_dm

There's no good place in DC to cover all place where stream signal should
be updated. update_stream_signal depends on timing which comes from DM.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Early return on crc get
Leo (Sunpeng) Li [Wed, 3 Jan 2018 18:04:21 +0000 (13:04 -0500)]
drm/amd/display: Early return on crc get

If crc is disabled, early return when getting crc's. That way, we avoid
reading extra registers within the pflip high irq.

Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Move output_tf to stream_state/update
Yongqiang Sun [Wed, 3 Jan 2018 16:33:27 +0000 (11:33 -0500)]
drm/amd/display: Move output_tf to stream_state/update

Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Remove unused param in DML
Ken Chalmers [Wed, 3 Jan 2018 18:53:24 +0000 (13:53 -0500)]
drm/amd/display: Remove unused param in DML

Signed-off-by: Ken Chalmers <ken.chalmers@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Update the register GRPH_SWAP_CNTL if surface pixel format changed.
Duke Du [Thu, 4 Jan 2018 01:32:06 +0000 (09:32 +0800)]
drm/amd/display: Update the register GRPH_SWAP_CNTL if surface pixel format changed.

Signed-off-by: Duke Du <Duke.Du@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: dc: Remove unused display_mode_vba.c
Harry Wentland [Thu, 18 Jan 2018 14:54:44 +0000 (09:54 -0500)]
drm/amd/display: dc: Remove unused display_mode_vba.c

We're currently not using this.

v2: More files and includes to remove.

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu/soc15: don't abuse IP soft reset for adapter reset
Alex Deucher [Tue, 23 Jan 2018 21:27:31 +0000 (16:27 -0500)]
drm/amdgpu/soc15: don't abuse IP soft reset for adapter reset

The IP soft reset interface is for per IP reset but it was
being abused for adapter reset on soc15 asics.  Adjust the
interface to make it explicit.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu/psp: use a function pointer structure
Alex Deucher [Tue, 23 Jan 2018 21:17:24 +0000 (16:17 -0500)]
drm/amdgpu/psp: use a function pointer structure

This way we can make all of the IP specific functions static,
and we only need a single entry point into the PSP IP modules.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: consistently use AMDGPU_CSA_VADDR
Christian König [Tue, 23 Jan 2018 09:03:46 +0000 (10:03 +0100)]
drm/amdgpu: consistently use AMDGPU_CSA_VADDR

Instead of repeating this multiple times.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: apply top reserved VA space to pre Vega10 as well
Christian König [Mon, 22 Jan 2018 10:19:50 +0000 (11:19 +0100)]
drm/amdgpu: apply top reserved VA space to pre Vega10 as well

Reserve VA space at the top for older generations as well.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: reduce reserved VA size
Christian König [Mon, 22 Jan 2018 10:17:18 +0000 (11:17 +0100)]
drm/amdgpu: reduce reserved VA size

1MB should be more than enough, currently we use about 8K.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_crtc_idx_to_irq_type
Samuel Li [Fri, 19 Jan 2018 21:06:41 +0000 (16:06 -0500)]
drm/amdgpu: rename amdgpu_crtc_idx_to_irq_type

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_get_crtc_scanoutpos
Samuel Li [Fri, 19 Jan 2018 20:53:16 +0000 (15:53 -0500)]
drm/amdgpu: rename amdgpu_get_crtc_scanoutpos

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_crtc_scaling_mode_fixup
Samuel Li [Fri, 19 Jan 2018 20:36:43 +0000 (15:36 -0500)]
drm/amdgpu: rename amdgpu_crtc_scaling_mode_fixup

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_update_display_priority
Samuel Li [Fri, 19 Jan 2018 20:28:27 +0000 (15:28 -0500)]
drm/amdgpu: rename amdgpu_update_display_priority

Rename as amdgpu_display_update_priority for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_modeset_create_props
Samuel Li [Fri, 19 Jan 2018 17:47:40 +0000 (12:47 -0500)]
drm/amdgpu: rename amdgpu_modeset_create_props

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_user_framebuffer_create
Samuel Li [Fri, 19 Jan 2018 17:24:39 +0000 (12:24 -0500)]
drm/amdgpu: rename amdgpu_user_framebuffer_create

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_framebuffer_init
Samuel Li [Fri, 19 Jan 2018 17:17:42 +0000 (12:17 -0500)]
drm/amdgpu: rename amdgpu_framebuffer_init

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_ddc_probe
Samuel Li [Fri, 19 Jan 2018 17:10:52 +0000 (12:10 -0500)]
drm/amdgpu: rename amdgpu_ddc_probe

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_print_display_setup
Samuel Li [Fri, 19 Jan 2018 17:02:45 +0000 (12:02 -0500)]
drm/amdgpu: rename amdgpu_print_display_setup

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_crtc_set_config
Samuel Li [Fri, 19 Jan 2018 16:53:31 +0000 (11:53 -0500)]
drm/amdgpu: rename amdgpu_crtc_set_config

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename amdgpu_crtc_page_flip_target
Samuel Li [Fri, 19 Jan 2018 16:22:59 +0000 (11:22 -0500)]
drm/amdgpu: rename amdgpu_crtc_page_flip_target

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: rename static functions in amdgpu_display.c
Samuel Li [Thu, 18 Jan 2018 22:47:29 +0000 (17:47 -0500)]
drm/amdgpu: rename static functions in amdgpu_display.c

Add display to the name for consistency.

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: remove now superflous *_hdp operation
Christian König [Fri, 19 Jan 2018 14:19:16 +0000 (15:19 +0100)]
drm/amdgpu: remove now superflous *_hdp operation

All HDP invalidation and most flush can now be replaced by the generic
ASIC function.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: fallback to generic HDP operation
Christian König [Fri, 19 Jan 2018 13:21:47 +0000 (14:21 +0100)]
drm/amdgpu: fallback to generic HDP operation

When ring special operations aren't available we can fallback to the
generic ASIC operations.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: add optional ring to *_hdp callbacks
Christian König [Fri, 19 Jan 2018 13:17:40 +0000 (14:17 +0100)]
drm/amdgpu: add optional ring to *_hdp callbacks

This adds an optional ring to the invalidate_hdp and flush_hdp
callbacks. If the ring isn't specified or the emit_wreg function not
available the HDP operation will be done with the CPU otherwise by
writing on the ring.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add update_avfs call when set_power_state
Rex Zhu [Tue, 2 Jan 2018 07:20:55 +0000 (15:20 +0800)]
drm/amd/pp: Add update_avfs call when set_power_state

when Overdrive voltage, need to disable AVFS.
when OverDriv engine clock, need to recalculate
AVFS voltage by disable/enable avfs feature.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Update smu7 dpm table with OD clock/voltage
Rex Zhu [Wed, 17 Jan 2018 08:49:29 +0000 (16:49 +0800)]
drm/amd/pp: Update smu7 dpm table with OD clock/voltage

Delete old OD type code path when populate clk.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Implement edit_dpm_table on smu7
Rex Zhu [Tue, 16 Jan 2018 08:04:43 +0000 (16:04 +0800)]
drm/amd/pp: Implement edit_dpm_table on smu7

v2: - check clk against OverDrive limits from VBIOS
    - set OD flag when user commit the setting.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Disable OD feature on APU/Iceland
Rex Zhu [Fri, 19 Jan 2018 07:44:49 +0000 (15:44 +0800)]
drm/amd/pp: Disable OD feature on APU/Iceland

Not supported on APUs or Iceland.
and still not enabled on CI.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Disable OD feature if VBIOS limits
Rex Zhu [Fri, 19 Jan 2018 05:21:52 +0000 (13:21 +0800)]
drm/amd/pp: Disable OD feature if VBIOS limits

Check vbios to determine whether we can enable OD

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add edit/commit/show OD clock/voltage support in sysfs
Rex Zhu [Tue, 16 Jan 2018 10:35:15 +0000 (18:35 +0800)]
drm/amd/pp: Add edit/commit/show OD clock/voltage support in sysfs

when cat pp_od_clk_voltage it show
OD_SCLK:
0:        300Mhz        800 mV
1:        466Mhz        818 mV
2:        751Mhz        824 mV
3:       1019Mhz        987 mV
4:       1074Mhz       1037 mV
5:       1126Mhz       1087 mV
6:       1169Mhz       1137 mV
7:       1206Mhz       1150 mV
OD_MCLK:
0:        300Mhz        800 mV
1:       1650Mhz       1000 mV

echo "s/m level clock voltage" to change
sclk/mclk's  clock and voltage

echo "r" to restore default value.
echo "c" to commit the user setting.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add hwmgr interface for edit dpm table
Rex Zhu [Thu, 11 Jan 2018 07:02:15 +0000 (15:02 +0800)]
drm/amd/pp: Add hwmgr interface for edit dpm table

Add odn_edit_dpm_table function
points for setting user assigned clock/voltage.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: drop the drm irq pre/post/un install callbacks
Alex Deucher [Fri, 19 Jan 2018 00:05:36 +0000 (19:05 -0500)]
drm/amdgpu: drop the drm irq pre/post/un install callbacks

The preinstall callback didn't do anything because not all
of the IPs were initialized when it was called.

Move the postinstall setup into sequence in the driver.

The uninstall callback disabled all interrupt source, but
it got called too late in the driver sequence and caused problems
with IPs who already freed the relevant data structures.  Move
the call into the right place in the driver sequence.

Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Tested-By: Mikita Lipski <mikita.lipski@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu/powerplay/vega10: fix compute profile name
Alex Deucher [Fri, 19 Jan 2018 17:08:15 +0000 (12:08 -0500)]
drm/amdgpu/powerplay/vega10: fix compute profile name

COMPUTER -> COMPUTE

Reviewed-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: retire soc15ip.h
Hawking Zhang [Tue, 16 Jan 2018 03:15:40 +0000 (11:15 +0800)]
drm/amdgpu: retire soc15ip.h

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/dc: include new ip and ip_offset headers
Hawking Zhang [Mon, 15 Jan 2018 07:43:23 +0000 (15:43 +0800)]
drm/amd/dc: include new ip and ip_offset headers

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: include new ip and ip offset headers
Hawking Zhang [Mon, 15 Jan 2018 07:11:06 +0000 (15:11 +0800)]
drm/amd/pp: include new ip and ip offset headers

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: include new ip and ip offset headers
Hawking Zhang [Mon, 15 Jan 2018 07:09:40 +0000 (15:09 +0800)]
drm/amdgpu: include new ip and ip offset headers

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: split soc15ip header into ip and ip_offset header
Hawking Zhang [Mon, 22 Jan 2018 11:36:02 +0000 (19:36 +0800)]
drm/amdgpu: split soc15ip header into ip and ip_offset header

ip base could be different per ASIC since from soc15. split soc15
header into common ip/hw_id header and asic specific ip offset header

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: Use new TTM flag to avoid OOM triggering.
Andrey Grodzovsky [Tue, 16 Jan 2018 15:06:36 +0000 (10:06 -0500)]
drm/amdgpu: Use new TTM flag to avoid OOM triggering.

Avoid OOM on syatem pages allocations.

v2:
Remove modeprobe parameter, make this behaviour the only option.

v3:
Move setting no_retry flag into amdgpu_ttm_init.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: add PASID mapping for GMC v9
Christian König [Tue, 16 Jan 2018 19:31:15 +0000 (20:31 +0100)]
drm/amdgpu: add PASID mapping for GMC v9

This way we can see the PASID in VM faults.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: add PASID mapping for GMC v8
Christian König [Tue, 16 Jan 2018 19:26:03 +0000 (20:26 +0100)]
drm/amdgpu: add PASID mapping for GMC v8

This way we can see the PASID in VM faults.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: add PASID mapping for GMC v7
Christian König [Tue, 16 Jan 2018 19:24:55 +0000 (20:24 +0100)]
drm/amdgpu: add PASID mapping for GMC v7

This way we can see the PASID in VM faults.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: implement gmc_v9_0_emit_flush_gpu_tlb
Christian König [Fri, 12 Jan 2018 20:57:53 +0000 (21:57 +0100)]
drm/amdgpu: implement gmc_v9_0_emit_flush_gpu_tlb

Unify tlb flushing for gmc v9.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: implement gmc_v8_0_emit_flush_gpu_tlb
Christian König [Fri, 12 Jan 2018 18:14:42 +0000 (19:14 +0100)]
drm/amdgpu: implement gmc_v8_0_emit_flush_gpu_tlb

Unify tlb flushing for gmc v8.

v2: handle UVD v6 as well

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: implement gmc_v7_0_emit_flush_gpu_tlb
Christian König [Fri, 12 Jan 2018 16:08:22 +0000 (17:08 +0100)]
drm/amdgpu: implement gmc_v7_0_emit_flush_gpu_tlb

Unify tlb flushing for gmc v7.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: implement gmc_v6_0_emit_flush_gpu_tlb
Christian König [Fri, 12 Jan 2018 15:58:18 +0000 (16:58 +0100)]
drm/amdgpu: implement gmc_v6_0_emit_flush_gpu_tlb

Unify tlb flushing for gmc v6.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: add new amdgpu_gmc_emit_flush_gpu_tlb callback
Christian König [Fri, 12 Jan 2018 15:57:33 +0000 (16:57 +0100)]
drm/amdgpu: add new amdgpu_gmc_emit_flush_gpu_tlb callback

Add a new GMC function to unify vm flushing.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for VCN v1
Christian König [Fri, 12 Jan 2018 15:35:16 +0000 (16:35 +0100)]
drm/amdgpu: wire up emit_wreg for VCN v1

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for VCE v4
Christian König [Fri, 12 Jan 2018 15:35:01 +0000 (16:35 +0100)]
drm/amdgpu: wire up emit_wreg for VCE v4

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for UVD v7
Christian König [Fri, 12 Jan 2018 15:34:44 +0000 (16:34 +0100)]
drm/amdgpu: wire up emit_wreg for UVD v7

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for UVD v6
Christian König [Fri, 12 Jan 2018 15:34:22 +0000 (16:34 +0100)]
drm/amdgpu: wire up emit_wreg for UVD v6

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for SDMA v4
Christian König [Fri, 12 Jan 2018 15:34:03 +0000 (16:34 +0100)]
drm/amdgpu: wire up emit_wreg for SDMA v4

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for SDMA v3
Christian König [Fri, 12 Jan 2018 15:33:49 +0000 (16:33 +0100)]
drm/amdgpu: wire up emit_wreg for SDMA v3

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for SDMA v2.4
Christian König [Fri, 12 Jan 2018 15:33:34 +0000 (16:33 +0100)]
drm/amdgpu: wire up emit_wreg for SDMA v2.4

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for CIK SDMA
Christian König [Fri, 12 Jan 2018 15:33:15 +0000 (16:33 +0100)]
drm/amdgpu: wire up emit_wreg for CIK SDMA

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for SI DMA
Christian König [Fri, 12 Jan 2018 15:33:03 +0000 (16:33 +0100)]
drm/amdgpu: wire up emit_wreg for SI DMA

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for gfx v9
Christian König [Fri, 12 Jan 2018 13:30:41 +0000 (14:30 +0100)]
drm/amdgpu: wire up emit_wreg for gfx v9

Needed for vm_flush unification.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for gfx v8
Christian König [Fri, 12 Jan 2018 15:31:35 +0000 (16:31 +0100)]
drm/amdgpu: wire up emit_wreg for gfx v8

Needed for vm_flush unification.

v2: handle compute rings as well

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for gfx v7
Christian König [Fri, 12 Jan 2018 15:31:15 +0000 (16:31 +0100)]
drm/amdgpu: wire up emit_wreg for gfx v7

Needed for vm_flush unification.

v2: handle compute rings as well

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: wire up emit_wreg for gfx v6
Christian König [Fri, 12 Jan 2018 15:30:19 +0000 (16:30 +0100)]
drm/amdgpu: wire up emit_wreg for gfx v6

Needed for vm_flush unification.

v2: handle compute rings as well.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/ttm: add the missed global memory count update
Roger He [Fri, 19 Jan 2018 07:17:27 +0000 (15:17 +0800)]
drm/ttm: add the missed global memory count update

when ttm_mem_global_alloc_page fails, we should call
ttm_mem_global_free_page to update memory count for
the ttm pages which already run ttm_mem_global_alloc_page
successfully

Signed-off-by: Roger He <Hongbo.He@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/ttm: Allow page allocations w/o triggering OOM..
Andrey Grodzovsky [Fri, 22 Dec 2017 13:12:40 +0000 (08:12 -0500)]
drm/ttm: Allow page allocations w/o triggering OOM..

This to allow drivers to choose to avoid OOM invocation and handle
page allocation failures instead.

v2:
Remove extra new lines.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: Bump driver version for sensor pstate clk
Rex Zhu [Thu, 18 Jan 2018 03:00:19 +0000 (11:00 +0800)]
drm/amdgpu: Bump driver version for sensor pstate clk

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: Expose more GPU sensor queries
Rex Zhu [Wed, 17 Jan 2018 05:18:47 +0000 (13:18 +0800)]
drm/amdgpu: Expose more GPU sensor queries

Add sub-queries for stable pstate shader/memory clock.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: all vram is visible for APU (v2)
Chunming Zhou [Wed, 17 Jan 2018 08:51:16 +0000 (16:51 +0800)]
drm/amdgpu: all vram is visible for APU (v2)

missed in gmc9.

v2: squash in build fix (Rex)

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add OD driver clock/voltage display on smu7
Rex Zhu [Mon, 15 Jan 2018 10:01:35 +0000 (18:01 +0800)]
drm/amd/pp: Add OD driver clock/voltage display on smu7

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add and initialize OD_dpm_table for CI/VI.
Rex Zhu [Thu, 4 Jan 2018 09:08:14 +0000 (17:08 +0800)]
drm/amd/pp: Add and initialize OD_dpm_table for CI/VI.

Add initial infrastructure for manual dpm control.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add a new pp feature mask bit for OD feature
Rex Zhu [Thu, 4 Jan 2018 08:42:06 +0000 (16:42 +0800)]
drm/amd/pp: Add a new pp feature mask bit for OD feature

when this bit was set on module load,
driver will allow the user over/under gpu
clock and voltage through sysfs.

by default, this bit was not set.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Move DPMTABLE_* definitions to common header file
Rex Zhu [Tue, 16 Jan 2018 08:00:02 +0000 (16:00 +0800)]
drm/amd/pp: Move DPMTABLE_* definitions to common header file

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Refine code abbreviate variable name
Rex Zhu [Fri, 12 Jan 2018 09:05:37 +0000 (17:05 +0800)]
drm/amd/pp: Refine code abbreviate variable name

abbreviate variable name number_of_performance_levels
to num_of_pl in struct phm_odn_clock_levels

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add stable Pstate clk display support in debugfs
Rex Zhu [Mon, 8 Jan 2018 05:59:05 +0000 (13:59 +0800)]
drm/amd/pp: Add stable Pstate clk display support in debugfs

The additional output are: PSTATE_SCLK and PSTATE_MCLK value
in MHz as:

300 MHz (PSTATE_SCLK)
300 MHz (PSTATE_MCLK)

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Store stable Pstate clocks
Rex Zhu [Fri, 5 Jan 2018 11:02:48 +0000 (19:02 +0800)]
drm/amd/pp: Store stable Pstate clocks

User can use to calculate profiling ratios when
set UMD Pstate.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add custom power profile mode support on Vega10
Rex Zhu [Wed, 10 Jan 2018 10:48:06 +0000 (18:48 +0800)]
drm/amd/pp: Add custom power profile mode support on Vega10

v2: delete uncessary blank line.
    Add static const modifiers to an array

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: add custom power policy support in sysfs
Rex Zhu [Wed, 10 Jan 2018 10:42:36 +0000 (18:42 +0800)]
drm/amdgpu: add custom power policy support in sysfs

when cat pp_power_profile_mode on Vega10
NUM        MODE_NAME BUSY_SET_POINT FPS USE_RLC_BUSY MIN_ACTIVE_LEVEL
  0 3D_FULL_SCREEN :             70  60          1              3
  1   POWER_SAVING :             90  60          0              0
  2          VIDEO*:             70  60          0              0
  3             VR :             70  90          0              0
  4       COMPUTER :             30  60          0              6
  5         CUSTOM :              0   0          0              0

the result show all the profile mode we can support and custom mode.
user can echo the num(0-4) to pp_power_profile_mode to select the profile
mode or can echo "5 value value value value" to enter CUSTOM mode.
the four parameter is set_point/FPS/USER_RLC_BUSY/MIN_ACTIVE_LEVEL.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Fix SMIO implementation on CI
Rex Zhu [Wed, 3 Jan 2018 09:10:53 +0000 (17:10 +0800)]
drm/amd/pp: Fix SMIO implementation on CI

Setup smio table(smio registers's address and voltage ID)
for various voltage domain.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Implement voltage regulator config on CI
Rex Zhu [Wed, 3 Jan 2018 09:05:35 +0000 (17:05 +0800)]
drm/amd/pp: Implement voltage regulator config on CI

Store the voltage regulator configuration
so we can properly query the voltage

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add querying current gfx voltage for Vega10
Rex Zhu [Tue, 2 Jan 2018 06:10:45 +0000 (14:10 +0800)]
drm/amd/pp: Add querying current gfx voltage for Vega10

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Add querying current gfx voltage for CI/VI
Rex Zhu [Wed, 3 Jan 2018 09:21:28 +0000 (17:21 +0800)]
drm/amd/pp: Add querying current gfx voltage for CI/VI

Store the voltage regulator configuration,
so we can properly query the voltage.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/pp: Export registers for read vddc on VI/Vega10
Rex Zhu [Tue, 2 Jan 2018 06:06:05 +0000 (14:06 +0800)]
drm/amd/pp: Export registers for read vddc on VI/Vega10

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>