diff options
| -rw-r--r-- | drivers/gpu/drm/i915/intel_lrc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index 4acb24c90c68..e2cf4f750c66 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c | |||
| @@ -442,8 +442,13 @@ static u64 execlists_update_context(struct i915_request *rq) | |||
| 442 | * may not be visible to the HW prior to the completion of the UC | 442 | * may not be visible to the HW prior to the completion of the UC |
| 443 | * register write and that we may begin execution from the context | 443 | * register write and that we may begin execution from the context |
| 444 | * before its image is complete leading to invalid PD chasing. | 444 | * before its image is complete leading to invalid PD chasing. |
| 445 | * | ||
| 446 | * Furthermore, Braswell, at least, wants a full mb to be sure that | ||
| 447 | * the writes are coherent in memory (visible to the GPU) prior to | ||
| 448 | * execution, and not just visible to other CPUs (as is the result of | ||
| 449 | * wmb). | ||
| 445 | */ | 450 | */ |
| 446 | wmb(); | 451 | mb(); |
| 447 | return ce->lrc_desc; | 452 | return ce->lrc_desc; |
| 448 | } | 453 | } |
| 449 | 454 | ||
