diff options
| author | Felix Kuehling <[email protected]> | 2020-01-17 20:29:13 -0500 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2020-02-25 11:01:57 -0500 |
| commit | b80cd524ac44a29635eec377c6f845b3c321b592 (patch) | |
| tree | fa578256b9e5a6ef35966d67f5e3f7824145dfeb /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |
| parent | 82c4ebfa35140a75259eed435134e150ac8e459a (diff) | |
drm/amdgpu: Improve Vega20 XGMI TLB flush workaround
Using a heavy-weight TLB flush once is not sufficient. Concurrent
memory accesses in the same TLB cache line can re-populate TLB entries
from stale texture cache (TC) entries while the heavy-weight TLB
flush is in progress. To fix this race condition, perform another TLB
flush after the heavy-weight one, when TC is known to be clean.
Move the workaround into the low-level TLB flushing functions. This way
they apply to amdgpu as well, and KIQ-based TLB flush only needs to
synchronize once.
Signed-off-by: Felix Kuehling <[email protected]>
Acked-by: Christian König <[email protected]>
Reviewed-by: shaoyun liu <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
0 files changed, 0 insertions, 0 deletions