Alex Deucher
35c7a9526a
drm/amdgpu: rename gmc_v8_0_init_compute_vmid
...
It should be gfx_v8_0_init_compute_vmid since it's
part of the gfx block.
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-04 16:36:28 -04:00
Alex Deucher
be4f38e28c
drm/amdgpu: fix vce3 instance handling
...
Need to properly handle the instances for the idle
checks and soft reset.
Acked-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-04 16:35:54 -04:00
Leo Liu
898e50d444
drm/amdgpu: remove ib test for the second VCE Ring
...
it seems the VCE ring 1 ib test not reliable, remove it for now.
Signed-off-by: Leo Liu <leo.liu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Tested-and-Reviewed-by: Sonny Jiang <sonny.jiang@amd.com >
2015-09-04 16:31:22 -04:00
Christian König
140b519f7a
drm/amdgpu: properly enable VM fault interrupts
...
This fixes not printing VM faults.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-04 16:31:16 -04:00
Christian König
270e869d84
drm/amdgpu: fix buffer placement under memory pressure
...
Some buffers (UVD/VM page tables) must be placed in VRAM,
but the byte restriction for moving buffers didn't took this
into account.
Port of radeon commit 4b09556660
.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-09-03 14:30:49 -04:00
Alex Deucher
362eda04ba
drm/amdgpu/cz: fix cz_dpm_update_low_memory_pstate logic
...
The logic was reversed. This feature is not enabled
at the moment, but fix it now for the future.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-03 12:06:47 -04:00
Alex Deucher
99a0923837
drm/amdgpu: fix typo in dce11 watermark setup
...
Using the wrong watermwark value for the secondary
watermark. Copy paste typo. Noticed by Mykola.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-09-03 12:06:41 -04:00
Alex Deucher
be9fd2e978
drm/amdgpu: fix typo in dce10 watermark setup
...
Using the wrong watermwark value for the secondary
watermark. Copy paste typo. Noticed by Mykola.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-09-03 12:06:01 -04:00
Alex Deucher
cace5dce55
drm/amdgpu: use top down allocation for non-CPU accessible vram
...
Should help avoid fragmentation of vram due to CPU access
requirements.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-03 10:29:32 -04:00
Alex Deucher
857d913d05
drm/amdgpu: be explicit about cpu vram access for driver BOs (v2)
...
For kernel driver BOs, be explicit about whether we need
vram access up front. This avoids unecessary migrations and
avoids using visible vram for buffers were it's not needed.
v2: line wrap fixes
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-03 10:29:32 -04:00
Jammy Zhou
bddf802638
drm/amdgpu: set MEC doorbell range for Fiji
...
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:35:52 -04:00
Jammy Zhou
ac01db3dd5
drm/amdgpu: implement burst NOP for SDMA
...
Customize the insert_nop func for SDMA rings, and use burst NOP for
ring/IB submissions in other places as well
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:35:39 -04:00
Jammy Zhou
edff0e2826
drm/amdgpu: add insert_nop ring func and default implementation
...
The insert_nop function is added to amdgpu_ring_funcs structure as
well as the default implementation
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:24:43 -04:00
Jammy Zhou
4b2f7e2ca9
drm/amdgpu: add amdgpu_get_sdma_instance helper function
...
This function is added to map the ring to sdma instance
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:23:58 -04:00
Jammy Zhou
36f523a7c0
drm/amdgpu: add AMDGPU_MAX_SDMA_INSTANCES
...
Remove the hardcoded usage
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:23:12 -04:00
Jammy Zhou
18111de0df
drm/amdgpu: add burst_nop flag for sdma
...
The burst NOP is supported for SDMA when feature_version is >= 20.
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:22:28 -04:00
Jammy Zhou
4207a734c3
drm/amdgpu: add count field for the SDMA NOP packet v2
...
This is added to support the burst NOP
v2: squash the typo fix
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-09-02 12:21:35 -04:00
Christian König
a60c42320b
drm/amdgpu: use PT for VM sync on unmap
...
Instead of the array which is used for ID management.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-09-02 12:19:54 -04:00
Christian König
4c28fb0b27
drm/amdgpu: fix amdgpu_bo_unreserve order in GEM_OP IOCTL v2
...
No copy_(to|from)_user while BO is reserved.
v2: handle default path as well
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-09-02 12:19:53 -04:00
Christian König
8221d706f4
drm/amdgpu: partially revert "modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple()" v2
...
That isn't used any more.
v2: rebase
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 >
2015-09-02 12:19:52 -04:00
Chunming Zhou
423a9480ad
drm/amdgpu: re-work sync_resv
...
sync_resv is to handle both amdgpu_fence and sched_fence.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-09-02 12:05:08 -04:00
Alex Deucher
e39daf2c63
drm/amdgpu/atom: Send out the full AUX address
...
AUX addresses are 20 bits long. Send out the entire address instead of
just the low 16 bits.
Port of:
drm/radeon/atom: Send out the full AUX address
to amdgpu
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-09-02 12:04:54 -04:00
Chunming Zhou
6e7a384074
drm/amdgpu: use IB for fill_buffer instead of direct command
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-08-28 15:04:19 -04:00
Christian König
8f8202f771
drm/amdgpu: stop trying to suspend UVD sessions v2
...
Saving the current UVD state on suspend and restoring it on resume
just doesn't work reliable. Just close cleanup all sessions on suspend.
Ported from radeon commit "12e49feadff6d7b7ebbe852b36943a71524d8d34".
v2: rebased
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com > (v1)
2015-08-28 15:04:18 -04:00
Christian König
e61235db62
drm/amdgpu: add scheduler dependency callback v2
...
This way the scheduler doesn't wait in it's work thread any more.
v2: fix race conditions
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-08-28 15:04:17 -04:00
Christian König
bd755d0870
drm/amdgpu: remove extra parameters from scheduler callbacks
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-26 17:54:10 -04:00
Christian König
02537d6362
drm/amdgpu: fix postclose order
...
The context needs to finish before everything else.
Signed-off-by: Christian König <christian.koenig@amd.com >
Acked-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-26 17:51:37 -04:00
Chunming Zhou
c7ae72c01b
drm/amdgpu: use IB for copy buffer of eviction
...
This aids handling buffers moves with the scheduler.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-26 17:50:42 -04:00
Junwei Zhang
113cd9dacb
drm/amdgpu: adjust the judgement of removing fence callback
...
The fence in the array may be skipped if wait_all is false,
thus the related callback is not initialized with list head.
So removing this kind callback will cause NULL pointer reference.
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
2015-08-26 17:50:04 -04:00
Chunming Zhou
9066b0c318
drm/amdgpu: fix no sync_wait in copy_buffer
...
when eviction is happening, if don't handle
dependency, then the fence could be dead off.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:53:48 -04:00
Chunming Zhou
3c62338c26
drm/amdgpu: fix last_vm_update fence is not effetive for sched fence
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:53:05 -04:00
Chunming Zhou
f38fdfddfa
drm/amdgpu: add priv data to sched
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:52:18 -04:00
Chunming Zhou
84f76ea6b0
drm/amdgpu: add owner for sched fence
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:51:32 -04:00
Christian König
c14692f0a7
drm/amdgpu: remove entity reference from sched fence
...
Entity don't live as long as scheduler fences.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-25 10:50:42 -04:00
Christian König
6c859274f3
drm/amdgpu: fix and cleanup amd_sched_entity_push_job
...
Calling schedule() is probably the worse things we can do.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-25 10:49:57 -04:00
Christian König
87e0a87dab
drm/amdgpu: remove amdgpu_bo_list_clone
...
Not used any more.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-25 10:49:12 -04:00
Christian König
3a185a33a2
drm/amdgpu: remove the context from amdgpu_job
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-25 10:48:27 -04:00
Christian König
69f7dd652c
drm/amdgpu: remove unused parameters to amd_sched_create
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-25 10:47:41 -04:00
Christian König
eb98d1c54d
drm/amdgpu: fix user fences when scheduler is enabled
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-25 10:40:25 -04:00
Christian König
f91b3a6941
drm/amdgpu: fix fence wait in sync_fence, instead should be in sync_rings
...
Signed-off-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:39:39 -04:00
Christian König
ce882e6dc2
drm/amdgpu: remove v_seq handling from the scheduler v2
...
Simply not used any more. Only keep 32bit atomic for fence sequence numbering.
v2: trivial rebase
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com > (v1)
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com > (v1)
Reviewed-by: Chunming Zhou <david1.zhou@amd.com > (v1)
2015-08-25 10:39:16 -04:00
Chunming Zhou
4ce9891ee1
drm/amdgpu: improve sa_bo->fence by kernel fence
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-25 10:38:41 -04:00
Junwei Zhang
1aa4051b7f
drm/amdgpu: modify amdgpu_fence_wait_any() to amdgpu_fence_wait_multiple()
...
Rename the function and update the related code with this modified function.
Add the new parameter of bool wait_all.
If wait_all is true, it will return when all fences are signaled or timeout.
If wait_all is false, it will return when any fence is signaled or timeout.
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Monk Liu <monk.liu@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
2015-08-25 10:38:28 -04:00
Alex Deucher
52293c67f1
drm/amdgpu: fix IH ring allocation for bus addresses (v2)
...
Use pci_alloc_consistent rather than kzalloc since we
need 256 byte aligned memory for the ring buffer.
v2: fix copy paste typo in free function noticed
by Jammy.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=91749
Reviewed-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-08-25 10:09:30 -04:00
Alex Deucher
a887adadb7
drm/amdgpu: Don't link train DisplayPort on HPD until we get the dpcd
...
This is a port of:
DRM - radeon: Don't link train DisplayPort on HPD until we get the dpcd
to amdgpu.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
Cc: stable@vger.kernel.org
2015-08-21 18:07:38 -04:00
Christian König
26a6980cf4
drm/amdgpu: fix CS error handling v2
...
Stop double freeing the the BO list by pulling the content
of amdgpu_cs_parser_prepare_job() into the IOCTL function again.
v2: better commit message
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com > (v1)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-08-20 17:06:10 -04:00
Christian König
b203dd9594
drm/amdgpu: fix zeroing all IB fields manually v2
...
The problem now is that we don't necessarily call amdgpu_ib_get()
in some error paths and so work with uninitialized data.
Better require that the memory is already zeroed.
v2: better commit message
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com > (v1)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
2015-08-20 17:05:34 -04:00
Christian König
bf7ebaeed4
drm/amdgpu: free the job immediately after dispatching it
...
Fixes a whole bunch of lockdep warnings.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
2015-08-20 17:05:01 -04:00
Chunming Zhou
a3348bb801
drm/amdgpu: don't need to use bo_list_clone any more
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-20 17:02:58 -04:00
Chunming Zhou
3c4adead84
drm/amdgpu: some clean up for cs_ioctl
...
Signed-off-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian K?nig <christian.koenig@amd.com >
2015-08-20 17:02:09 -04:00