openwrt/staging/blogic.git
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>
6 years agodrm/amd/pp: Add memory clock info display on Cz/St
Rex Zhu [Mon, 8 Jan 2018 08:50:59 +0000 (16:50 +0800)]
drm/amd/pp: Add memory clock info display on Cz/St

show mclk info as in MHz on Cz/St as
0: 333Mhz *
1: 800Mhz

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: forward pasid to backend flush implementations
Christian König [Mon, 8 Jan 2018 13:48:11 +0000 (14:48 +0100)]
drm/amdgpu: forward pasid to backend flush implementations

rd the pasid from the VM code to the emit_vm_flush function and update
all implementations with the new parameter.

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: trace the PASID instead of the VM pointer
Christian König [Fri, 5 Jan 2018 13:23:56 +0000 (14:23 +0100)]
drm/amdgpu: trace the PASID instead of the VM pointer

Makes more sense than tracing the kernel pointer.

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: trace allocated PASIDs
Christian König [Tue, 9 Jan 2018 18:32:58 +0000 (19:32 +0100)]
drm/amdgpu: trace allocated PASIDs

Trace all allocated PASIDs.

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: always allocate a PASIDs for each VM v2
Christian König [Fri, 5 Jan 2018 13:17:08 +0000 (14:17 +0100)]
drm/amdgpu: always allocate a PASIDs for each VM v2

Start to always allocate a pasid for each VM.

v2: use dev_warn when we run out of PASIDs

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 amdgpu_pasid_free_delayed v2
Christian König [Fri, 5 Jan 2018 10:16:22 +0000 (11:16 +0100)]
drm/amdgpu: add amdgpu_pasid_free_delayed v2

Free up a pasid after all fences signaled.

v2: also handle the case when we can't allocate a fence array.

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: move PD/PT address calculation into backend function
Christian König [Tue, 16 Jan 2018 15:54:25 +0000 (16:54 +0100)]
drm/amdgpu: move PD/PT address calculation into backend function

This way we can better handle the differences for CPU based updates.

Signed-off-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: move struct gart_funcs into amdgpu_gmc.h
Christian König [Fri, 12 Jan 2018 14:26:08 +0000 (15:26 +0100)]
drm/amdgpu: move struct gart_funcs into amdgpu_gmc.h

And rename it to struct gmc_funcs.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Samuel Li <Samuel.Li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: move struct amdgpu_mc into amdgpu_gmc.h
Christian König [Fri, 12 Jan 2018 13:52:22 +0000 (14:52 +0100)]
drm/amdgpu: move struct amdgpu_mc into amdgpu_gmc.h

And rename it to amdgpu_gmc as well.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Samuel Li <Samuel.Li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: remove agp_base
Christian König [Fri, 12 Jan 2018 13:49:21 +0000 (14:49 +0100)]
drm/amdgpu: remove agp_base

No AGP support for in this driver.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Samuel Li <Samuel.Li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: print the PASID with VM faults on GMC v8
Christian König [Tue, 9 Jan 2018 18:50:01 +0000 (19:50 +0100)]
drm/amdgpu: print the PASID with VM faults on GMC v8

Print that extra information on GMC v8.

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: print the PASID with VM faults on GMC v7
Christian König [Tue, 9 Jan 2018 18:49:21 +0000 (19:49 +0100)]
drm/amdgpu: print the PASID with VM faults on GMC v7

Print that extra information on GMC v7.

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: rename pas_id to pasid
Christian König [Tue, 9 Jan 2018 18:47:37 +0000 (19:47 +0100)]
drm/amdgpu: rename pas_id to pasid

sed -i "s/pas_id/pasid/g" drivers/gpu/drm/amd/amdgpu/*.c
sed -i "s/pas_id/pasid/g" drivers/gpu/drm/amd/amdgpu/*.h

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: Move to gtt before cpu accesses dma buf.
Samuel Li [Fri, 8 Dec 2017 21:18:59 +0000 (16:18 -0500)]
drm/amdgpu: Move to gtt before cpu accesses dma buf.

To improve cpu read performance. This is implemented for APUs currently.

v2: Adapt to change https://lists.freedesktop.org/archives/amd-gfx/2017-October/015174.html
v3: Adapt to change "forward begin_cpu_access callback to drivers"
v4: Instead of v3, reuse drm_gem dmabuf_ops here. Also some minor fixes as suggested.
v5: only set dma_buf ops when it is valid (Samuel)

Signed-off-by: Samuel Li <Samuel.Li@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Enable VM support only on APUs newer than CZ
Harry Wentland [Mon, 30 Oct 2017 17:41:51 +0000 (13:41 -0400)]
drm/amd/display: Enable VM support only on APUs newer than CZ

VM support is only available for CZ and newer APUs. Trying to
enable it for dGPU will blow up in DC.

v2: Don't enable gpu_vm_support for Raven yet since it leads to
    a black screen. Need to debug this further before enabling.

Change-Id: Ibe467c36affe2e7a7ee740c8d4f73027ca807178
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Suggested-by: Alex Deucher <alexander.deucher@amd.com>
CC: Christian Koenig <christian.koenig@amd.com>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: only allow scatter/gather display with DC
Alex Deucher [Fri, 12 Jan 2018 19:56:49 +0000 (14:56 -0500)]
drm/amdgpu: only allow scatter/gather display with DC

Check if DC is enabled before allowing scanout buffers
to be pinned in system memory.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: allow framebuffer in GART memory as well
Christian König [Thu, 26 Oct 2017 16:06:23 +0000 (18:06 +0200)]
drm/amdgpu: allow framebuffer in GART memory as well

On CZ and newer APUs we can pin the fb into GART as well as VRAM.

v2: Don't enable gpu_vm_support for Raven yet since it leads to
    a black screen. Need to debug this further before enabling.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Samuel Li <samuel.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amdgpu: Update MMHUB power gating register settings
Yong Zhao [Thu, 21 Dec 2017 21:19:03 +0000 (16:19 -0500)]
drm/amdgpu: Update MMHUB power gating register settings

The new register settings are needed to fix a tlb invalidation issue
when MMHUB power gating is turned on for Raven.

Signed-off-by: Yong Zhao <yong.zhao@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Eric Huang <JinhuiEric.Huang@amd.com>
Reviewed-by: Eric Huang <JinhuiEric.Huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: [RS4][RV] SDR Brightness Boost
Krunoslav Kovac [Fri, 22 Dec 2017 16:22:39 +0000 (11:22 -0500)]
drm/amd/display: [RS4][RV] SDR Brightness Boost

We assume FP16 1.0 frame buffer value maps to 80 nits.
DC changes are to make this configurable.

Signed-off-by: Krunoslav Kovac <Krunoslav.Kovac@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: Update dcn10_init_hw for FPGA
Eric Bernstein [Tue, 2 Jan 2018 22:04:55 +0000 (17:04 -0500)]
drm/amd/display: Update dcn10_init_hw for FPGA

Update dcn10_init_hw such that initialization of relevant
HW blocks for Maximus FPGA are also initialized (and not skipped).

Signed-off-by: Eric Bernstein <eric.bernstein@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: Implement CRTC CRC for DCE110
Leo (Sunpeng) Li [Mon, 18 Dec 2017 19:38:41 +0000 (14:38 -0500)]
drm/amd/display: Implement CRTC CRC for DCE110

Implement the timing generator hooks for configure_crc and get_crc.
Also implement is_tg_enabled, as configure_crc uses it.

Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: Implement interface for CRC on CRTC
Leo (Sunpeng) Li [Mon, 18 Dec 2017 19:20:39 +0000 (14:20 -0500)]
drm/amd/display: Implement interface for CRC on CRTC

Add interfaces in DC for per CRTC CRC configuration and fetching.
Also implement amdgpu_dm functions to hook onto DRM.

Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agodrm/amd/display: clean up DCHUBBUB register definition in hwseq
Eric Bernstein [Tue, 2 Jan 2018 20:13:25 +0000 (15:13 -0500)]
drm/amd/display: clean up DCHUBBUB register definition in hwseq

Cleanup to remove unused register definition from hw sequencer
header file since implementation moved from hw sequencer to dchubub file.

Signed-off-by: Eric Bernstein <eric.bernstein@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>