mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 22:41:11 +07:00
drm/i915/overlay: Stash the kernel context on initialisation
Simplify runtime request creation by storing the context we need to use during initialisation. This allows us to remove one more hardcoded engine lookup. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190704200455.14870-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
1ee2ae896b
commit
ec22f256a6
@ -175,6 +175,7 @@ struct overlay_registers {
|
|||||||
|
|
||||||
struct intel_overlay {
|
struct intel_overlay {
|
||||||
struct drm_i915_private *i915;
|
struct drm_i915_private *i915;
|
||||||
|
struct intel_context *context;
|
||||||
struct intel_crtc *crtc;
|
struct intel_crtc *crtc;
|
||||||
struct i915_vma *vma;
|
struct i915_vma *vma;
|
||||||
struct i915_vma *old_vma;
|
struct i915_vma *old_vma;
|
||||||
@ -239,9 +240,7 @@ static int intel_overlay_do_wait_request(struct intel_overlay *overlay,
|
|||||||
|
|
||||||
static struct i915_request *alloc_request(struct intel_overlay *overlay)
|
static struct i915_request *alloc_request(struct intel_overlay *overlay)
|
||||||
{
|
{
|
||||||
struct intel_engine_cs *engine = overlay->i915->engine[RCS0];
|
return i915_request_create(overlay->context);
|
||||||
|
|
||||||
return i915_request_create(engine->kernel_context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* overlay needs to be disable in OCMD reg */
|
/* overlay needs to be disable in OCMD reg */
|
||||||
@ -1359,11 +1358,16 @@ void intel_overlay_setup(struct drm_i915_private *dev_priv)
|
|||||||
if (!HAS_OVERLAY(dev_priv))
|
if (!HAS_OVERLAY(dev_priv))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (!HAS_ENGINE(dev_priv, RCS0))
|
||||||
|
return;
|
||||||
|
|
||||||
overlay = kzalloc(sizeof(*overlay), GFP_KERNEL);
|
overlay = kzalloc(sizeof(*overlay), GFP_KERNEL);
|
||||||
if (!overlay)
|
if (!overlay)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
overlay->i915 = dev_priv;
|
overlay->i915 = dev_priv;
|
||||||
|
overlay->context = dev_priv->engine[RCS0]->kernel_context;
|
||||||
|
GEM_BUG_ON(!overlay->context);
|
||||||
|
|
||||||
overlay->color_key = 0x0101fe;
|
overlay->color_key = 0x0101fe;
|
||||||
overlay->color_key_enabled = true;
|
overlay->color_key_enabled = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user