Ken Wang
a334bc7df0
drm/amdgpu: remove gfx8 registers that vary between asics
...
those register mask definitions are different in polaris compare to
former gfx 8 gpus, so remove them from misusing.
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:21 -04:00
Rex Zhu
696b2d7370
drm/amd/powerplay: add mvdd dpm support.
...
SMC requires master switch bit to be set.
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 >
2016-07-07 15:06:21 -04:00
Rex Zhu
d826c982d7
drm/amdgpu: get number of shade engine by cgs interface.
...
the num of shade engine was needed to
measure the activity of the graphics core
and to enable di/dt feature.
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 >
2016-07-07 15:06:20 -04:00
Alex Deucher
33b7ed0122
drm/amdgpu: remove more of the ring backup code
...
Not used anymore.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:19 -04:00
Tom St Denis
bb06d7ef99
drm/amd/powerplay: Unify family defines
...
s/AMD_FAMILY_/AMDGPU_FAMILY_/
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 >
2016-07-07 15:06:19 -04:00
Chunming Zhou
40019dc4a3
drm/amdgpu: clean up ring_backup code, no need more
...
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 >
2016-07-07 15:06:18 -04:00
Chunming Zhou
1f46508721
drm/amdgpu: ib test first after gpu reset
...
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 >
2016-07-07 15:06:18 -04:00
Chunming Zhou
aa1c890008
drm/amdgpu: recovery hw jobs when gpu reset V3
...
V3: directly use pd_addr.
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 >
2016-07-07 15:06:17 -04:00
Chunming Zhou
192b7dcbb5
drm/amdgpu: abstract amdgpu_vm_is_gpu_reset
...
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 >
2016-07-07 15:06:16 -04:00
Chunming Zhou
fd53be302f
drm/amdgpu: add a bool to specify if needing vm flush V2
...
which avoids job->vm_pd_addr be changed.
V2: pass job structure to amdgpu_vm_grab_id and amdgpu_vm_flush directly.
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 >
2016-07-07 15:06:16 -04:00
Chunming Zhou
ec75f573c3
drm/amdgpu: add amd_sched_job_recovery
...
Which is to recover hw jobs when gpu reset.
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 >
2016-07-07 15:06:15 -04:00
Chunming Zhou
2200edac74
drm/amdgpu: force completion for gpu reset
...
After all hw jobs are reset, hw fence is meaningless, so force_completion
Cc: William Lewis <minutemaidpark@hotmail.com >
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 >
2016-07-07 15:06:15 -04:00
Chunming Zhou
a3c47d6bdc
drm/amdgpu: block ttm first before parking scheduler
...
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 >
2016-07-07 15:06:14 -04:00
Chunming Zhou
e686e75dac
drm/amd: add amd_sched_hw_job_reset
...
amd_sched_hw_job_reset will remove callback from hw fence.
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 >
2016-07-07 15:06:13 -04:00
Chunming Zhou
754ce0fa55
drm/amd: add parent for sched fence
...
Parent of sched fence is hw fence which is to signal sched fence.
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 >
2016-07-07 15:06:13 -04:00
Chunming Zhou
f263ec622f
drm/amdgpu: remove evict vram
...
Previous vm fault is since page talbe losts connection with vmid after gpu reset.
Now the issue is fixed by recovery. No need more.
If we want to save vram for some EDC card, we will need to consider a complete solution.
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 >
2016-07-07 15:06:12 -04:00
Chunming Zhou
c7c5fbcdc3
drm/amdgpu: put old hw fence of job if gpu reset
...
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 >
2016-07-07 15:06:12 -04:00
Christian König
595a9cd68c
drm/amdgpu: remove fence parameter from amd_sched_job_init
...
We return the fence as part of the job structur anyway,
no need to do this twice.
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 >
2016-07-07 15:06:11 -04:00
Christian König
a5fb4ec29c
drm/amdgpu: earlier free SA resources
...
Keep the time we don't have a fence associated with the resource smaller.
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 >
2016-07-07 15:06:10 -04:00
Christian König
a79a5bdcef
drm/amdgpu: shorten amdgpu_job_free_resources
...
The fence and the sync object are not hardware resources.
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 >
2016-07-07 15:06:10 -04:00
Christian König
b5f5acbc87
drm/amdgpu: fix user fence handling once more
...
Same problem as with the VM page tables. The user fence address must be
determined before the job is scheduled, not when the IB is executed.
This fixes a security problem where user fences could be used to overwrite
any part of VRAM.
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 >
2016-07-07 15:06:09 -04:00
Tom St Denis
5662815950
drm/amd/amdgpu: Add bank selection for MMIO debugfs (v3)
...
(v2) Added INSTANCE selector
(v3) Changed order of bank selectors
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:09 -04:00
Tom St Denis
1e0514131d
drm/amd/amdgpu: Add gca config debug entry (v4)
...
A binary entry that lists GCA configuration data (and can be
read by umr).
(v2) Use kmalloc instead of vmalloc
(v3) Minor indentation correction
(v4) agd: Squash in kmalloc fix
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:08 -04:00
Tom St Denis
9559ef5b12
drm/amd/gfx: add instance field to select_se_sh (v3)
...
Add ability to specify instance in select_se_sh callback.
Defaults to 0xffffffff all over the driver.
(v2) Don't enable INSTANCE_BROADCAST by default
(v3) Style changes
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:07 -04:00
Lyude
b636a1b3d6
drm/amdgpu: Poll for both connect/disconnect on analog connectors
...
DRM_CONNECTOR_POLL_CONNECT only enables polling for connections, not
disconnections. Because of this, we end up losing hotplug polling for
analog connectors once they get connected.
Easy way to reproduce:
- Grab a machine with an AMD GPU and a VGA port
- Plug a monitor into the VGA port, wait for it to update the connector
from disconnected to connected
- Disconnect the monitor on VGA, a hotplug event is never sent for the
removal of the connector.
Originally, only using DRM_CONNECTOR_POLL_CONNECT might have been a good
idea since doing VGA polling can sometimes result in having to mess with
the DAC voltages to figure out whether or not there's actually something
there since VGA doesn't have HPD. Doing this would have the potential of
showing visible artifacts on the screen every time we ran a poll while a
VGA display was connected. Luckily, amdgpu_vga_detect() only resorts to
this sort of polling if the poll is forced, and DRM's polling helper
doesn't force it's polls.
Additionally, this removes some assignments to connector->polled that
weren't actually doing anything.
Cc: stable@vger.kernel.org
Signed-off-by: Lyude <cpaul@redhat.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:07 -04:00
Chunming Zhou
f1aa7e082e
drm/amdgpu: stop/resume fb access when gpu reset V3
...
V2: Add wait_for_mc_idle after stopping fb access
V3:
1. Remove resume fb access since there is no need to
do that for gpu reset.
2. Move stop fb access to amdgpu_gpu_reset function,
since it's the same for all asics.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com > (V1)
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:06 -04:00
Rex Zhu
e013c91c06
drm/amd/powerplay: change condition judgment as function's return value changed.
...
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:05 -04:00
Rex Zhu
2a9126b94a
drm/amd/powerplay: functions's return state was reversed
...
In commit 195567e99b ,
use true/false instead of 1/0 to fix build warning.
But the original logic: '0' means true and '1' means false.
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 >
2016-07-07 15:06:04 -04:00
Christian König
1059e117cc
drm/amdgpu: stop disabling irqs when it isn't neccessary
...
A regular spin_lock/unlock should do here as well.
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 >
2016-07-07 15:06:04 -04:00
Chunming Zhou
b46b8a877c
drm/amdgpu: must update page table after gpu reset
...
Record the gpu reset count in vmid to identify if gpu reset happened.
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 >
2016-07-07 15:06:03 -04:00
Chunming Zhou
a0250d36bd
drm/amdgpu: save/restore bios scratch when gpu reset
...
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 >
2016-07-07 15:06:03 -04:00
Chunming Zhou
6adb0513a4
drm/amdgpu: must update page table after gpu reset
...
Record the gpu reset count in vmid to identify if gpu reset happened.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:02 -04:00
Alexandre Demers
880a076cde
drm/amd/powerplay: fix typos in comment in polaris' hwmgr
...
Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:06:01 -04:00
Alexandre Demers
023efca251
drm/amd/powerplay: fix trivial typo and tidy comment
...
Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:05:45 -04:00
Frank Binns
7056bb5c82
drm/amd/amdgpu: Set DRIVER_MODESET feature flag at build time
...
This flag was being set unconditionally at runtime so just set it at
compile time instead.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Frank Binns <frank.binns@imgtec.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:07 -04:00
Michel Dänzer
ee7fd95757
drm/amdgpu: Unpin BO if we can't get fences in amdgpu_crtc_page_flip
...
If reservation_object_get_fences_rcu failed, we'd previously go directly
to the cleanup label, so we'd leave the BO pinned.
While we're at it, remove two amdgpu_bo_unreserve calls in favour of two
new labels.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:06 -04:00
Alex Deucher
313c45fdb4
drm/amdgpu/gmc7: remove duplicate wait_for_idle functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:05 -04:00
Alex Deucher
34e3205e08
drm/amdgpu/gmc8: remove duplicate wait_for_idle functions
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:05 -04:00
Junwei Zhang
5a3f25dbcb
drm/amdgpu/dce8: fix flash with white screen on monitor
...
Fixed mc stop and resume hardware programming sequence.
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 >
2016-07-07 15:02:04 -04:00
Alex Deucher
9ecbe7f506
drm/amdgpu: skip invalid ip blocks in ip helpers
...
Skip IP blocks that are not enabled.
Reviewed-by: Chunming zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:04 -04:00
Alex Deucher
a225bf1c9c
drm/amdgpu: add missing breaks
...
Saves a few CPU cycles.
Reviewed-by: Chunming zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:03 -04:00
Alex Deucher
5dbbb60ba6
drm/amdgpu: add IP helpers for wait_for_idle and is_idle
...
Helpers to to call the IP functions for the selected IP.
Reviewed-by: Chunming zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:02 -04:00
Alex Deucher
bfa833558c
drm/amdgpu/powerplay/cz: add missing call to powergate VCE
...
Not enabled yet, but missing the call.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:02 -04:00
Alex Deucher
7359ee637d
drm/amdgpu/dce11: update async flip update time
...
Use UPDATE_IMMEDIATE (update on next data request boundary) rather
than UPDATE_H_RETRACE (update on next line boundary). The data
request boundary is less than a scanline, so it update will happen
sooner.
Cc: Vitaly Prosyak <vitaly.prosyak@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:02:01 -04:00
Christian König
9a79588c42
drm/amdgpu: don't update page tables for VM emulation
...
It's just overhead to do so and allocating a VMID
when we don't need one is actually a bit dangerous.
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 >
2016-07-07 15:02:00 -04:00
Christian König
d5b4e25d83
drm/amdgpu: implement HDP functions for UVD v2
...
Flush and invalidate the HDP caches.
v2: fix typo in comment
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 >
2016-07-07 15:01:59 -04:00
Huang Rui
d1371f8c5d
drm/amdgpu: change pcie_gen_cap magic code to macro
...
This patch changes pcie_gen_cap magic code to macro to make it more
readable.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Rex Zhu <Rex.Zhu@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Cc: Eric Huang <JinHuiEric.Huang@amd.com >
Cc: Ken Wang <Qingqing.Wang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:01:59 -04:00
Alex Deucher
4d54588e94
drm/amdgpu/gfx7: make gfx_v7_0_rlc_stop static
...
Not used outside of gfx7.
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:01:58 -04:00
Alex Deucher
06120a1e0f
drm/amdgpu/gfx7: switch to using the existing rlc callbacks
...
gfx8 already uses them. Remove the direct exports and
use the callbacks fpr gfx7.
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:01:57 -04:00
Alex Deucher
05fb7291fd
drm/amdgpu: move select_se_sh into the gfx struct
...
It's gfx IP specific, not asic specific, so move to a
gfx callback.
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-07-07 15:01:57 -04:00