Re: [PATCH] drm/i915/dsb: modified to drm_info in dsb_prepare()

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

 




> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Animesh
> Manna
> Sent: Friday, March 25, 2022 9:42 PM
> To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Das, Nirmoy <nirmoy.das@xxxxxxxxx>
> Subject:  [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@xxxxxxxxx>
> Cc: Nirmoy Das <nirmoy.das@xxxxxxxxxxxxxxx>
> Signed-off-by: Animesh Manna <animesh.manna@xxxxxxxxx>
> ---
>  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





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux