Skip to content

Commit

Permalink
drm/i915: Drop final few uses of drm_i915_private.engine
Browse files Browse the repository at this point in the history
We've migrated all the heavy users over to the intel_gt, and can finally
drop the last few users and with that the mirror in dev_priv->engine[].

Signed-off-by: Chris Wilson <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Cc: Andi Shyti <[email protected]>
Reviewed-by: Tvrtko Ursulin <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
  • Loading branch information
ickle committed Mar 26, 2020
1 parent 9642b4f commit 73c8bfb
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 18 deletions.
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/display/intel_overlay.c
Original file line number Diff line number Diff line change
Expand Up @@ -1342,7 +1342,7 @@ void intel_overlay_setup(struct drm_i915_private *dev_priv)
if (!HAS_OVERLAY(dev_priv))
return;

engine = dev_priv->engine[RCS0];
engine = dev_priv->gt.engine[RCS0];
if (!engine || !engine->kernel_context)
return;

Expand Down
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -1925,7 +1925,7 @@ static int mock_context_barrier(void *arg)
goto out;
}

rq = igt_request_alloc(ctx, i915->engine[RCS0]);
rq = igt_request_alloc(ctx, i915->gt.engine[RCS0]);
if (IS_ERR(rq)) {
pr_err("Request allocation failed!\n");
goto out;
Expand Down
4 changes: 0 additions & 4 deletions drivers/gpu/drm/i915/gt/intel_engine_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -347,8 +347,6 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id)
gt->engine_class[info->class][info->instance] = engine;
gt->engine[id] = engine;

i915->engine[id] = engine;

return 0;
}

Expand Down Expand Up @@ -425,8 +423,6 @@ void intel_engines_release(struct intel_gt *gt)
engine->release = NULL;

memset(&engine->reset, 0, sizeof(engine->reset));

gt->i915->engine[id] = NULL;
}
}

Expand Down
1 change: 0 additions & 1 deletion drivers/gpu/drm/i915/i915_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -884,7 +884,6 @@ struct drm_i915_private {

struct pci_dev *bridge_dev;

struct intel_engine_cs *engine[I915_NUM_ENGINES];
struct rb_root uabi_engines;

struct resource mch_res;
Expand Down
8 changes: 4 additions & 4 deletions drivers/gpu/drm/i915/i915_irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -3648,7 +3648,7 @@ static irqreturn_t i8xx_irq_handler(int irq, void *arg)
intel_uncore_write16(&dev_priv->uncore, GEN2_IIR, iir);

if (iir & I915_USER_INTERRUPT)
intel_engine_signal_breadcrumbs(dev_priv->engine[RCS0]);
intel_engine_signal_breadcrumbs(dev_priv->gt.engine[RCS0]);

if (iir & I915_MASTER_ERROR_INTERRUPT)
i8xx_error_irq_handler(dev_priv, eir, eir_stuck);
Expand Down Expand Up @@ -3753,7 +3753,7 @@ static irqreturn_t i915_irq_handler(int irq, void *arg)
I915_WRITE(GEN2_IIR, iir);

if (iir & I915_USER_INTERRUPT)
intel_engine_signal_breadcrumbs(dev_priv->engine[RCS0]);
intel_engine_signal_breadcrumbs(dev_priv->gt.engine[RCS0]);

if (iir & I915_MASTER_ERROR_INTERRUPT)
i9xx_error_irq_handler(dev_priv, eir, eir_stuck);
Expand Down Expand Up @@ -3895,10 +3895,10 @@ static irqreturn_t i965_irq_handler(int irq, void *arg)
I915_WRITE(GEN2_IIR, iir);

if (iir & I915_USER_INTERRUPT)
intel_engine_signal_breadcrumbs(dev_priv->engine[RCS0]);
intel_engine_signal_breadcrumbs(dev_priv->gt.engine[RCS0]);

if (iir & I915_BSD_USER_INTERRUPT)
intel_engine_signal_breadcrumbs(dev_priv->engine[VCS0]);
intel_engine_signal_breadcrumbs(dev_priv->gt.engine[VCS0]);

if (iir & I915_MASTER_ERROR_INTERRUPT)
i9xx_error_irq_handler(dev_priv, eir, eir_stuck);
Expand Down
14 changes: 10 additions & 4 deletions drivers/gpu/drm/i915/selftests/i915_request.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "gem/selftests/mock_context.h"

#include "gt/intel_engine_pm.h"
#include "gt/intel_engine_user.h"
#include "gt/intel_gt.h"

#include "i915_random.h"
Expand All @@ -51,14 +52,19 @@ static unsigned int num_uabi_engines(struct drm_i915_private *i915)
return count;
}

static struct intel_engine_cs *rcs0(struct drm_i915_private *i915)
{
return intel_engine_lookup_user(i915, I915_ENGINE_CLASS_RENDER, 0);
}

static int igt_add_request(void *arg)
{
struct drm_i915_private *i915 = arg;
struct i915_request *request;

/* Basic preliminary test to create a request and let it loose! */

request = mock_request(i915->engine[RCS0]->kernel_context, HZ / 10);
request = mock_request(rcs0(i915)->kernel_context, HZ / 10);
if (!request)
return -ENOMEM;

Expand All @@ -76,7 +82,7 @@ static int igt_wait_request(void *arg)

/* Submit a request, then wait upon it */

request = mock_request(i915->engine[RCS0]->kernel_context, T);
request = mock_request(rcs0(i915)->kernel_context, T);
if (!request)
return -ENOMEM;

Expand Down Expand Up @@ -145,7 +151,7 @@ static int igt_fence_wait(void *arg)

/* Submit a request, treat it as a fence and wait upon it */

request = mock_request(i915->engine[RCS0]->kernel_context, T);
request = mock_request(rcs0(i915)->kernel_context, T);
if (!request)
return -ENOMEM;

Expand Down Expand Up @@ -420,7 +426,7 @@ static int mock_breadcrumbs_smoketest(void *arg)
{
struct drm_i915_private *i915 = arg;
struct smoketest t = {
.engine = i915->engine[RCS0],
.engine = rcs0(i915),
.ncontexts = 1024,
.max_batch = 1024,
.request_alloc = __mock_request_alloc
Expand Down
6 changes: 3 additions & 3 deletions drivers/gpu/drm/i915/selftests/mock_gem_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,11 @@ struct drm_i915_private *mock_gem_device(void)

mkwrite_device_info(i915)->engine_mask = BIT(0);

i915->engine[RCS0] = mock_engine(i915, "mock", RCS0);
if (!i915->engine[RCS0])
i915->gt.engine[RCS0] = mock_engine(i915, "mock", RCS0);
if (!i915->gt.engine[RCS0])
goto err_unlock;

if (mock_engine_init(i915->engine[RCS0]))
if (mock_engine_init(i915->gt.engine[RCS0]))
goto err_context;

__clear_bit(I915_WEDGED, &i915->gt.reset.flags);
Expand Down

0 comments on commit 73c8bfb

Please sign in to comment.