drm/i915: Combine cleanup_status_page()
Pull the physical status page cleanup into a common cleanup_status_page() for caller simplicity. 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/20180903152304.31589-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
46223993c2
commit
a0e731f4e2
|
@ -530,19 +530,14 @@ void intel_engine_cleanup_scratch(struct intel_engine_cs *engine)
|
|||
i915_vma_unpin_and_release(&engine->scratch, 0);
|
||||
}
|
||||
|
||||
static void cleanup_phys_status_page(struct intel_engine_cs *engine)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = engine->i915;
|
||||
|
||||
if (!dev_priv->status_page_dmah)
|
||||
return;
|
||||
|
||||
drm_pci_free(&dev_priv->drm, dev_priv->status_page_dmah);
|
||||
engine->status_page.page_addr = NULL;
|
||||
}
|
||||
|
||||
static void cleanup_status_page(struct intel_engine_cs *engine)
|
||||
{
|
||||
struct drm_dma_handle *dmah;
|
||||
|
||||
dmah = fetch_and_zero(&engine->i915->status_page_dmah);
|
||||
if (dmah)
|
||||
drm_pci_free(&engine->i915->drm, dmah);
|
||||
|
||||
i915_vma_unpin_and_release(&engine->status_page.vma,
|
||||
I915_VMA_RELEASE_MAP);
|
||||
}
|
||||
|
@ -710,10 +705,7 @@ void intel_engine_cleanup_common(struct intel_engine_cs *engine)
|
|||
|
||||
intel_engine_cleanup_scratch(engine);
|
||||
|
||||
if (HWS_NEEDS_PHYSICAL(engine->i915))
|
||||
cleanup_phys_status_page(engine);
|
||||
else
|
||||
cleanup_status_page(engine);
|
||||
cleanup_status_page(engine);
|
||||
|
||||
intel_engine_fini_breadcrumbs(engine);
|
||||
intel_engine_cleanup_cmd_parser(engine);
|
||||
|
|
Loading…
Reference in New Issue