Re: [PATCH] drm/i915: Combine cleanup_status_page()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Chris Wilson (2018-02-01 08:36:34)
> Pull the physical status page cleanup into a common
> cleanup_status_page() for caller simplicity.
> 
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_engine_cs.c | 23 +++++++----------------
>  1 file changed, 7 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
> index 7eebfbb95e89..a3ad6925abaa 100644
> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
> @@ -488,21 +488,15 @@ static void intel_engine_cleanup_scratch(struct intel_engine_cs *engine)
>         i915_vma_unpin_and_release(&engine->scratch);
>  }
>  
> -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 i915_vma *vma;
>         struct drm_i915_gem_object *obj;
> +       struct drm_dma_handle *dmah;
> +       struct i915_vma *vma;
> +
> +       dmah = fetch_and_zero(&engine->i915->status_page_dmah);
> +       if (dmah)
> +               drm_pci_free(&engine->i915->drm, dmah);
>  
>         vma = fetch_and_zero(&engine->status_page.vma);
>         if (!vma)
> @@ -674,10 +668,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);

Should do the corresponding side for alloc as well.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux