> -----Original Message-----
> From: Intel-gfx <intel-gfx-boun...@lists.freedesktop.org> On Behalf Of Animesh
> Manna
> Sent: Friday, March 25, 2022 9:42 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Das, Nirmoy <nirmoy....@intel.com>
> Subject: [Intel-gfx] [PATCH] drm/i915/dsb: modified to drm_info in 
> dsb_prepare()
> 
> The request to aqquire gem resources is failing for DSB in rare scenario 
> where it is
> busy and the register programming will be done through mmio fallback path.
> 
> DSB has extra advantage of faster register programming which may go away
> through mmio path. Adding wait for gem resource also may not be right as 
> anyways
> losing time.
> 
> To make the CI execution happy replaced drm_err() to drm_info() for printing 
> debug
> info during dsb buffer preparation.
> 
> v1: Initial version.
> v2: Added print for mmio fallback at out label. [Nirmoy]
> v3: Improved debug message. [Nirmoy]

Pushed to drm-intel-next. Thanks for the patch and reviews.

Regards,
Uma Shankar

> Reviewed-by: Nirmoy Das <nirmoy....@intel.com>
> Cc: Nirmoy Das <nirmoy....@linux.intel.com>
> Signed-off-by: Animesh Manna <animesh.ma...@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dsb.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dsb.c
> b/drivers/gpu/drm/i915/display/intel_dsb.c
> index b34a67309976..c4affcb216fd 100644
> --- a/drivers/gpu/drm/i915/display/intel_dsb.c
> +++ b/drivers/gpu/drm/i915/display/intel_dsb.c
> @@ -283,14 +283,12 @@ void intel_dsb_prepare(struct intel_crtc_state
> *crtc_state)
> 
>       obj = i915_gem_object_create_internal(i915, DSB_BUF_SIZE);
>       if (IS_ERR(obj)) {
> -             drm_err(&i915->drm, "Gem object creation failed\n");
>               kfree(dsb);
>               goto out;
>       }
> 
>       vma = i915_gem_object_ggtt_pin(obj, NULL, 0, 0, 0);
>       if (IS_ERR(vma)) {
> -             drm_err(&i915->drm, "Vma creation failed\n");
>               i915_gem_object_put(obj);
>               kfree(dsb);
>               goto out;
> @@ -298,7 +296,6 @@ void intel_dsb_prepare(struct intel_crtc_state 
> *crtc_state)
> 
>       buf = i915_gem_object_pin_map_unlocked(vma->obj, I915_MAP_WC);
>       if (IS_ERR(buf)) {
> -             drm_err(&i915->drm, "Command buffer creation failed\n");
>               i915_vma_unpin_and_release(&vma, I915_VMA_RELEASE_MAP);
>               kfree(dsb);
>               goto out;
> @@ -311,6 +308,10 @@ void intel_dsb_prepare(struct intel_crtc_state 
> *crtc_state)
>       dsb->ins_start_offset = 0;
>       crtc_state->dsb = dsb;
>  out:
> +     if (!crtc_state->dsb)
> +             drm_info(&i915->drm,
> +                      "DSB queue setup failed, will fallback to MMIO for 
> display
> HW
> +programming\n");
> +
>       intel_runtime_pm_put(&i915->runtime_pm, wakeref);  }
> 
> --
> 2.29.0

Reply via email to