Message ID | 1426768264-16996-23-git-send-email-John.C.Harrison@Intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 19/03/2015 12:30, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > The final step in removing the OLR from i915_gem_init_hw() is to pass the newly > allocated request structure in to each step rather than passing a ring > structure. This patch updates both i915_ppgtt_init_ring() and > i915_gem_context_enable() to take request pointers. > > For: VIZ-5115 > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> > --- > drivers/gpu/drm/i915/i915_drv.h | 2 +- > drivers/gpu/drm/i915/i915_gem.c | 4 ++-- > drivers/gpu/drm/i915/i915_gem_context.c | 3 ++- > drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +++--- > drivers/gpu/drm/i915/i915_gem_gtt.h | 2 +- > 5 files changed, 9 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index aa0695b..e139f0e 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -2890,7 +2890,7 @@ int __must_check i915_gem_context_init(struct drm_device *dev); > void i915_gem_context_fini(struct drm_device *dev); > void i915_gem_context_reset(struct drm_device *dev); > int i915_gem_context_open(struct drm_device *dev, struct drm_file *file); > -int i915_gem_context_enable(struct intel_engine_cs *ring); > +int i915_gem_context_enable(struct drm_i915_gem_request *req); > void i915_gem_context_close(struct drm_device *dev, struct drm_file *file); > int i915_switch_context(struct intel_engine_cs *ring, > struct intel_context *to); > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 4452618..9d776a5 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4915,7 +4915,7 @@ i915_gem_init_hw(struct drm_device *dev) > i915_gem_l3_remap(ring, i); > } > > - ret = i915_ppgtt_init_ring(ring); > + ret = i915_ppgtt_init_ring(req); > if (ret && ret != -EIO) { > DRM_ERROR("PPGTT enable ring #%d failed %d\n", i, ret); > i915_gem_request_cancel(req); > @@ -4923,7 +4923,7 @@ i915_gem_init_hw(struct drm_device *dev) > goto out; > } > > - ret = i915_gem_context_enable(ring); > + ret = i915_gem_context_enable(req); > if (ret && ret != -EIO) { > DRM_ERROR("Context enable ring #%d failed %d\n", i, ret); > i915_gem_request_cancel(req); > diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c > index f51faad..647b48d 100644 > --- a/drivers/gpu/drm/i915/i915_gem_context.c > +++ b/drivers/gpu/drm/i915/i915_gem_context.c > @@ -407,8 +407,9 @@ void i915_gem_context_fini(struct drm_device *dev) > i915_gem_context_unreference(dctx); > } > > -int i915_gem_context_enable(struct intel_engine_cs *ring) > +int i915_gem_context_enable(struct drm_i915_gem_request *req) > { > + struct intel_engine_cs *ring = req->ring; > int ret; > > if (i915.enable_execlists) { > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 83076d7..ac63572 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1301,9 +1301,9 @@ int i915_ppgtt_init_hw(struct drm_device *dev) > return 0; > } > > -int i915_ppgtt_init_ring(struct intel_engine_cs *ring) > +int i915_ppgtt_init_ring(struct drm_i915_gem_request *req) > { > - struct drm_i915_private *dev_priv = ring->dev->dev_private; > + struct drm_i915_private *dev_priv = req->ring->dev->dev_private; > struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; > > if (i915.enable_execlists) > @@ -1312,7 +1312,7 @@ int i915_ppgtt_init_ring(struct intel_engine_cs *ring) > if (!ppgtt) > return 0; > > - return ppgtt->switch_mm(ppgtt, ring); > + return ppgtt->switch_mm(ppgtt, req->ring); > } > > struct i915_hw_ppgtt * > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h > index 2941fbb..d4c7184 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.h > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h > @@ -311,7 +311,7 @@ void i915_global_gtt_cleanup(struct drm_device *dev); > > int i915_ppgtt_init(struct drm_device *dev, struct i915_hw_ppgtt *ppgtt); > int i915_ppgtt_init_hw(struct drm_device *dev); > -int i915_ppgtt_init_ring(struct intel_engine_cs *ring); > +int i915_ppgtt_init_ring(struct drm_i915_gem_request *req); > void i915_ppgtt_release(struct kref *kref); > struct i915_hw_ppgtt *i915_ppgtt_create(struct drm_device *dev, > struct drm_i915_file_private *fpriv); > Reviewed-by: Tomas Elf <tomas.elf@intel.com> Thanks, Tomas
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index aa0695b..e139f0e 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -2890,7 +2890,7 @@ int __must_check i915_gem_context_init(struct drm_device *dev); void i915_gem_context_fini(struct drm_device *dev); void i915_gem_context_reset(struct drm_device *dev); int i915_gem_context_open(struct drm_device *dev, struct drm_file *file); -int i915_gem_context_enable(struct intel_engine_cs *ring); +int i915_gem_context_enable(struct drm_i915_gem_request *req); void i915_gem_context_close(struct drm_device *dev, struct drm_file *file); int i915_switch_context(struct intel_engine_cs *ring, struct intel_context *to); diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 4452618..9d776a5 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4915,7 +4915,7 @@ i915_gem_init_hw(struct drm_device *dev) i915_gem_l3_remap(ring, i); } - ret = i915_ppgtt_init_ring(ring); + ret = i915_ppgtt_init_ring(req); if (ret && ret != -EIO) { DRM_ERROR("PPGTT enable ring #%d failed %d\n", i, ret); i915_gem_request_cancel(req); @@ -4923,7 +4923,7 @@ i915_gem_init_hw(struct drm_device *dev) goto out; } - ret = i915_gem_context_enable(ring); + ret = i915_gem_context_enable(req); if (ret && ret != -EIO) { DRM_ERROR("Context enable ring #%d failed %d\n", i, ret); i915_gem_request_cancel(req); diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c index f51faad..647b48d 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c @@ -407,8 +407,9 @@ void i915_gem_context_fini(struct drm_device *dev) i915_gem_context_unreference(dctx); } -int i915_gem_context_enable(struct intel_engine_cs *ring) +int i915_gem_context_enable(struct drm_i915_gem_request *req) { + struct intel_engine_cs *ring = req->ring; int ret; if (i915.enable_execlists) { diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 83076d7..ac63572 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1301,9 +1301,9 @@ int i915_ppgtt_init_hw(struct drm_device *dev) return 0; } -int i915_ppgtt_init_ring(struct intel_engine_cs *ring) +int i915_ppgtt_init_ring(struct drm_i915_gem_request *req) { - struct drm_i915_private *dev_priv = ring->dev->dev_private; + struct drm_i915_private *dev_priv = req->ring->dev->dev_private; struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; if (i915.enable_execlists) @@ -1312,7 +1312,7 @@ int i915_ppgtt_init_ring(struct intel_engine_cs *ring) if (!ppgtt) return 0; - return ppgtt->switch_mm(ppgtt, ring); + return ppgtt->switch_mm(ppgtt, req->ring); } struct i915_hw_ppgtt * diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h index 2941fbb..d4c7184 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.h +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h @@ -311,7 +311,7 @@ void i915_global_gtt_cleanup(struct drm_device *dev); int i915_ppgtt_init(struct drm_device *dev, struct i915_hw_ppgtt *ppgtt); int i915_ppgtt_init_hw(struct drm_device *dev); -int i915_ppgtt_init_ring(struct intel_engine_cs *ring); +int i915_ppgtt_init_ring(struct drm_i915_gem_request *req); void i915_ppgtt_release(struct kref *kref); struct i915_hw_ppgtt *i915_ppgtt_create(struct drm_device *dev, struct drm_i915_file_private *fpriv);