[Intel-gfx] [PATCH] drm/i915/dsb: modified to drm_info in dsb_prepare()

Shankar, Uma uma.shankar at intel.com
Tue Apr 5 11:44:33 UTC 2022



> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf Of Animesh
> Manna
> Sent: Friday, March 25, 2022 9:42 PM
> To: intel-gfx at lists.freedesktop.org
> Cc: Das, Nirmoy <nirmoy.das at 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.das at intel.com>
> Cc: Nirmoy Das <nirmoy.das at linux.intel.com>
> Signed-off-by: Animesh Manna <animesh.manna at 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



More information about the Intel-gfx mailing list