diff options
author | David S. Miller <davem@davemloft.net> | 2019-08-06 21:44:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-06 21:44:57 -0400 |
commit | 13dfb3fa494361ea9a5950f27c9cd8b06d28c04f (patch) | |
tree | 1bf30874f57c6c6b21160a10282191fcd0868055 /drivers/gpu/drm/i915/i915_gpu_error.c | |
parent | 05bb520376af2c5146d3c44832c22ec3bb54d778 (diff) | |
parent | 33920f1ec5bf47c5c0a1d2113989bdd9dfb3fae9 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Just minor overlapping changes in the conflicts here.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gpu_error.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gpu_error.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c index b7e9fddef270..8bc76fcff70d 100644 --- a/drivers/gpu/drm/i915/i915_gpu_error.c +++ b/drivers/gpu/drm/i915/i915_gpu_error.c | |||
@@ -1194,6 +1194,7 @@ static void error_record_engine_registers(struct i915_gpu_state *error, | |||
1194 | switch (engine->id) { | 1194 | switch (engine->id) { |
1195 | default: | 1195 | default: |
1196 | MISSING_CASE(engine->id); | 1196 | MISSING_CASE(engine->id); |
1197 | /* fall through */ | ||
1197 | case RCS0: | 1198 | case RCS0: |
1198 | mmio = RENDER_HWS_PGA_GEN7; | 1199 | mmio = RENDER_HWS_PGA_GEN7; |
1199 | break; | 1200 | break; |
@@ -1417,6 +1418,7 @@ static void gem_record_rings(struct i915_gpu_state *error) | |||
1417 | struct intel_engine_cs *engine = i915->engine[i]; | 1418 | struct intel_engine_cs *engine = i915->engine[i]; |
1418 | struct drm_i915_error_engine *ee = &error->engine[i]; | 1419 | struct drm_i915_error_engine *ee = &error->engine[i]; |
1419 | struct i915_request *request; | 1420 | struct i915_request *request; |
1421 | unsigned long flags; | ||
1420 | 1422 | ||
1421 | ee->engine_id = -1; | 1423 | ee->engine_id = -1; |
1422 | 1424 | ||
@@ -1428,10 +1430,11 @@ static void gem_record_rings(struct i915_gpu_state *error) | |||
1428 | error_record_engine_registers(error, engine, ee); | 1430 | error_record_engine_registers(error, engine, ee); |
1429 | error_record_engine_execlists(engine, ee); | 1431 | error_record_engine_execlists(engine, ee); |
1430 | 1432 | ||
1433 | spin_lock_irqsave(&engine->active.lock, flags); | ||
1431 | request = intel_engine_find_active_request(engine); | 1434 | request = intel_engine_find_active_request(engine); |
1432 | if (request) { | 1435 | if (request) { |
1433 | struct i915_gem_context *ctx = request->gem_context; | 1436 | struct i915_gem_context *ctx = request->gem_context; |
1434 | struct intel_ring *ring; | 1437 | struct intel_ring *ring = request->ring; |
1435 | 1438 | ||
1436 | ee->vm = ctx->vm ?: &ggtt->vm; | 1439 | ee->vm = ctx->vm ?: &ggtt->vm; |
1437 | 1440 | ||
@@ -1461,7 +1464,6 @@ static void gem_record_rings(struct i915_gpu_state *error) | |||
1461 | ee->rq_post = request->postfix; | 1464 | ee->rq_post = request->postfix; |
1462 | ee->rq_tail = request->tail; | 1465 | ee->rq_tail = request->tail; |
1463 | 1466 | ||
1464 | ring = request->ring; | ||
1465 | ee->cpu_ring_head = ring->head; | 1467 | ee->cpu_ring_head = ring->head; |
1466 | ee->cpu_ring_tail = ring->tail; | 1468 | ee->cpu_ring_tail = ring->tail; |
1467 | ee->ringbuffer = | 1469 | ee->ringbuffer = |
@@ -1469,6 +1471,7 @@ static void gem_record_rings(struct i915_gpu_state *error) | |||
1469 | 1471 | ||
1470 | engine_record_requests(engine, request, ee); | 1472 | engine_record_requests(engine, request, ee); |
1471 | } | 1473 | } |
1474 | spin_unlock_irqrestore(&engine->active.lock, flags); | ||
1472 | 1475 | ||
1473 | ee->hws_page = | 1476 | ee->hws_page = |
1474 | i915_error_object_create(i915, | 1477 | i915_error_object_create(i915, |