> -----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