+ if (job && !job->vm_needs_flush && ring->type == AMDGPU_RING_TYPE_GFX) {
+ extra_nop = 128;
+ }
+
Please remove the redundant braces here. With that fixed, the patch is
Reviewed-by: Hawking Zhang <[email protected]>
Regards,
Hawking
-----Original Message-----
From: amd-gfx [mailto:[email protected]] On Behalf Of Monk
Liu
Sent: Friday, September 30, 2016 13:00
To: [email protected]
Cc: Liu, Monk <[email protected]>
Subject: [PATCH] drm/amdgpu:fix exclusive mode game texture blank(v2)
this fix DOTA and other exclusive & full screen game textrue blank bug, the
root cause is that when no ctx switch between two DMAframe, CE go too faster
and step to the next DMAframe, thus DE and CE are not working on the same
DAMframe.
Change-Id: I92714a1d434bb05e94220a2db9b4a6113b0c2efc
Signed-off-by: Monk Liu <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
index 38261a0..4863426 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
@@ -129,6 +129,7 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned
num_ibs,
unsigned i;
int r = 0;
+ unsigned extra_nop = 0;
if (num_ibs == 0)
return -EINVAL;
@@ -155,6 +156,10 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned
num_ibs,
alloc_size = amdgpu_ring_get_dma_frame_size(ring) +
num_ibs * amdgpu_ring_get_emit_ib_size(ring);
+ if (job && !job->vm_needs_flush && ring->type == AMDGPU_RING_TYPE_GFX) {
+ extra_nop = 128;
+ }
+
r = amdgpu_ring_alloc(ring, alloc_size);
if (r) {
dev_err(adev->dev, "scheduling IB failed (%d).\n", r); @@
-165,6 +170,8 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned
num_ibs,
patch_offset = amdgpu_ring_init_cond_exec(ring);
if (vm) {
+ amdgpu_ring_insert_nop(ring, extra_nop); /* prevent CE go too
fast
+than DE */
+
r = amdgpu_vm_flush(ring, job);
if (r) {
amdgpu_ring_undo(ring);
--
1.9.1
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx