Monk Liu
81758c5595
drm/amdgpu:invoke new implemented AI MB func
...
Implement the sr-iov mailbox for soc15 asics.
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:28:07 -04:00
Monk Liu
8758cb6a96
drm/amdgpu/vega10:timeout set to equal with VI
...
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:28:06 -04:00
Monk Liu
f98b617ed5
drm/amdgpu:implement the reset MB func for vega10
...
they are lack in the bringup stage, we need them for GPU reset
feature.
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:28:05 -04:00
Monk Liu
94b4fd725b
drm/amdgpu:fix typo for mxgpu_ai
...
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:28:05 -04:00
Monk Liu
377e275946
drm/amdgpu:no need to involv HDP in KIQ
...
1,KIQ won't touch VRAM so no need to involv HDP flush/invalidate at all.
2,According to CP hw designer KIQ better not use any PM4 package lead to wait behave.
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:28:04 -04:00
Monk Liu
bb5c9ca588
drm/amdgpu:add PSP block only load_type=PSP (v2)
...
SRIOV currently only can load ucode directly, and PSP
block is not supported by VF temporarily.
will remove this restrict and use PSP load all ucode
even for SRIOV later
v2: squash in check against module parameter
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:28:04 -04:00
Evan Quan
ba8a21cfbc
drm/amdgpu/smu9: update to latest driver interface
...
Signed-off-by: Evan Quan <evan.quan@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:26 -04:00
Tom St Denis
40f0677337
drm/amd/amdgpu: cleanup gfx_v9_0_gpu_init()
...
Use new WREG32_FIELD15 macro
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:26 -04:00
Tom St Denis
596c8e8b7f
drm/amd/amdgpu: cleanup gfx_v9_0_rlc_reset()
...
Use new WREG32_FIELD15 macro
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:25 -04:00
Tom St Denis
342cda2522
drm/amd/amdgpu: cleanup gfx_v9_0_rlc_start()
...
Use new WREG32_FIELD15 macro
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:25 -04:00
Tom St Denis
ea64468e36
drm/amd/amdgpu: simplify gfx_v9_0_cp_gfx_enable()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:24 -04:00
Tom St Denis
72edadd53e
drm/amd/amdgpu: cleanup gfx_v9_0_kiq_init_register()
...
Use new WREG32_FIELD macro
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:24 -04:00
Tom St Denis
75bac5c679
drm/amd/amdgpu: Drop gfx_v9_0_print_status()
...
It's not used in gfx 6/7/8 so drop it from gfx 9 as well.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:23 -04:00
Tom St Denis
9da2c65269
drm/amd/amdgpu: cleanup gfx_v9_0_set_gfx_eop_interrupt_state()
...
Use new WREG32_FIELD15 macro.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:22 -04:00
Tom St Denis
8dd553e156
drm/amd/amdgpu: cleanup gfx_v9_0_set_priv_reg_fault_state()
...
Use new WREG32_FIELD15 macro.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:22 -04:00
Tom St Denis
98709ca635
drm/amd/amdgpu: cleanup gfx_v9_0_set_priv_inst_fault_state()
...
Use new WREG32_FIELD15 macro.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:21 -04:00
Tom St Denis
efe53d8a46
drm/amd/amdgpu: cleanup gfx_v9_0_init_queue()
...
Introduce WREG32_FIELD15 macro for SOC15 architectures.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:21 -04:00
Alex Xie
714f88e06f
drm/amdgpu: Move function amdgpu_has_atpx near other similar functions
...
Signed-off-by: Alex Xie <AlexBin.Xie@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:20 -04:00
Christian König
6e3f187cc0
drm/amdgpu: fix over allocating of IRQ sources
...
We need an array of pointers to IRQ sources, not an array of sources.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reported-by: Dan Carpenter <dan.carpenter@oracle.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:20 -04:00
Tom St Denis
8b5de0ebe4
drm/amd/amdgpu: Clean up psp reload_quirk()
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:19 -04:00
Tom St Denis
61a8cee51f
drm/amd/amdgpu: Fix psp_v3_1 compare sram
...
Had the wrong sense in the loop
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:18 -04:00
Christian König
03f89feb57
drm/amdgpu: cleanup get_invalidate_req v2
...
The two hubs are just instances of the same hardware,
so the register bits are identical.
v2: keep the function pointer
Signed-off-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 >
2017-04-06 13:27:18 -04:00
Zhang, Jerry
36b32a682b
drm/amdgpu: fix vm size and block size for VMPT (v5)
...
Set reasonable defaults per family.
v2: set both of them in gmc
v3: move vm size and block size in vm manager
v4: squash in warning fix from Alex Xie
v5: squash in min() warning fix
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:27:17 -04:00
Tom St Denis
d1a5b2502c
drm/amd/amdgpu: Fix srbm_indexing in init/inactive hqd code
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:50 -04:00
Tom St Denis
bb215962f6
drm/amd/amdgpu: Clean up gfx_v8_0_mqd_init()
...
Clean up a toggle with ?:.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:49 -04:00
Tom St Denis
699d12b755
drm/amd/amdgpu: de-numberify HQD_ACTIVE check.
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:49 -04:00
Tom St Denis
0ac642c5b5
drm/amd/amdgpu: clean up gfx_v8_0_kiq_init_register()
...
Swap read/write pattern for WREG32_FIELD()
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:48 -04:00
Tom St Denis
35e259d525
drm/amd/amdgpu: Clean up gfx_v8_0_inactive_hqd()
...
Swap read/write pattern for WREG32_FIELD()
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:48 -04:00
Tom St Denis
ccaf357445
drm/amd/amdgpu: Clean up gfx_v8_0_kiq_set_interrupt_state()
...
Use new WREG32_FIELD_OFFSET() to clean up code.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:47 -04:00
Alex Deucher
fcf17a43ff
drm/amdgpu/gfx8: KIQ is also disabled when MEC is disabled
...
Set the ready flag to reflect this.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:47 -04:00
Christian König
1125016426
drm/amdgpu: cleanup VMHUB bit definitions v2
...
The two hubs are just instances of the same hardware,
so the register bits are identical.
v2: only remove get_vm_protection_bits for now
Signed-off-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 >
2017-04-06 13:26:46 -04:00
Christian König
9bbdcc0fbc
drm/amdgpu: handle CPU access for split VRAM buffers (v2)
...
This avoids merging them together on page fault.
v2: squash in 64-bit division fix
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Michel Dänzer <michel.daenzer@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-06 13:26:45 -04:00
Daniel Vetter
6d124ff845
drm: Add acquire ctx to ->gamma_set hook
...
Atomic helpers really want this instead of the hacked-up legacy
backoff trick, which unfortunately prevents drivers from using their
own private drm_modeset_locks.
Aside: There's a few atomic drivers (nv50, vc4, soon vmwgfx) which
don't yet use the new atomic color mgmt/gamma table stuff. Would be
nice if they could switch over and just hook up
drm_atomic_helper_legacy_gamma_set() instead.
Cc: Dave Airlie <airlied@redhat.com >
Cc: Alex Deucher <alexander.deucher@amd.com >
Cc: Christian König <christian.koenig@amd.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Ben Skeggs <bskeggs@redhat.com >
Cc: Sinclair Yeh <syeh@vmware.com >
Cc: Thomas Hellstrom <thellstrom@vmware.com >
Cc: Eric Anholt <eric@anholt.net >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Sinclair Yeh <syeh@vmware.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/20170403083304.9083-13-daniel.vetter@ffwll.ch
2017-04-06 10:21:55 +02:00
Christian König
89bb5752c0
drm/amdgpu: use TTM_PL_FLAG_CONTIGUOUS v2
...
Implement AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS using TTM_PL_FLAG_CONTIGUOUS
instead of a placement limit. That allows us to better handle CPU
accessible placements.
v2: prevent virtual BO start address from overflowing
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Michel Dänzer <michel.daenzer@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 23:34:27 -04:00
Christian König
f75e237c41
drm/amdgpu: move adjust_mc_addr into amdgpu_gart_funcs
...
We should probably rename amdgpu_gart_funcs sooner or later.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:34:21 -04:00
Christian König
f7d015b90d
drm/amdgpu: cleanup logic in amdgpu_vm_flush
...
Remove some of the extra checks where they don't hurt us.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:34:15 -04:00
Christian König
c0e51931a1
drm/amdgpu: cleanup coding style in amdgpu_vm_flush
...
Abort early if there is nothing todo and correctly indent the "if"s.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:34:09 -04:00
Christian König
641e940089
drm/amdgpu: coding style of amdgpu_vm_is_gpu_reset
...
The name is a bit confusing and the extra "? true : false" is superflous.
Additional to that remove setting the reset counter directly after checking it.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:34:03 -04:00
Christian König
6332ab906a
drm/amdgpu: remove VMID first tracking
...
Not used any more.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:33:57 -04:00
Christian König
eb60ef2b4d
drm/amdgpu: move VM related defines into amdgpu_vm.h
...
Try to clean up amdgpu.h.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:33:50 -04:00
Christian König
5a9b8e8a0b
drm/amdgpu: fix VMHUB order to match the hardware
...
Match our defines with what the hw uses.
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Signed-off-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 >
2017-04-04 23:33:44 -04:00
Christian König
b94e433660
drm/amdgpu: drop alpha support
...
We will probably never see this combination.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 23:33:43 -04:00
Christian König
ea642c3216
drm/ttm: add io_mem_pfn callback
...
This allows the driver to handle io_mem mappings on their own.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 23:33:42 -04:00
Alex Deucher
76e15e029b
drm/amdgpu/vi: add defines for KIQ packets
...
Make it clearer how these packets work.
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 23:33:41 -04:00
Alex Deucher
1fdc639b7a
drm/amdgpu/soc15: Fix static checker warnings
...
vega10 is the only soc15 asic at the moment so these
warnings are invalid, but add a default case to silence
the warnings.
Fixes: 220ab9bd1c
: "drm/amdgpu: soc15 enable (v3)"
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reported-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 23:33:26 -04:00
Harry Wentland
1ce65f5284
drm/amdgpu: Read vram width from integrated system info table
...
On KB, KV, CZ we should read the vram width from integrated system
table, if we can. The NOOFCHAN in MC_SHARED_CHMAP is not accurate.
With this change we can enable two 4k displays on CZ again. This use
case was broken sometime in January when we started looking at
vram_width for bandwidth calculations instead of hardcoding this value.
v2:
Return 0 if integrated system info table is not available.
Tested-by: Roman Li <roman.li@amd.com >
Signed-off-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 14:42:40 -04:00
Zhang, Jerry
83ca145d15
drm/amdgpu: create a func to check vm size
...
break it out from the check parameters function.
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-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 >
2017-04-04 14:42:40 -04:00
Dan Carpenter
486a68f544
drm/amdgpu: Fix a NULL deref in amdgpu_vm_add_prt_cb()
...
We accidentally dereference "cb" if the kmalloc() fails.
Fixes: 451bc8eb8f
("drm/amdgpu: fix PRT teardown on VM fini v3")
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 14:42:21 -04:00
Dan Carpenter
99147e6442
drm/amd/powerplay: fix a couple locking issues
...
We should return unlock on the error path in pp_dpm_dispatch_tasks()
and there is a double lock bug in pp_dpm_set_sclk_od().
Fixes: 2a5071056e
("drm/amd/powerplay: add global PowerPlay mutex.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 13:40:34 -04:00
Dan Carpenter
0f987cd0d7
drm/amd/powerplay: fix pp_dpm_get_current_power_state() (v2)
...
This switch statement is missing breaks.
v2: agd: break in default case as well
Fixes: 2a5071056e
("drm/amd/powerplay: add global PowerPlay mutex.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-04-04 13:40:33 -04:00