RE: [PATCH v8 09/14] drm/i915/histogram: Hook i915 histogram with drm histogram

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

 




> -----Original Message-----
> From: Murthy, Arun R <arun.r.murthy@xxxxxxxxx>
> Sent: Tuesday, January 28, 2025 9:21 PM
> To: intel-xe@xxxxxxxxxxxxxxxxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-
> devel@xxxxxxxxxxxxxxxxxxxxx
> Cc: Kandpal, Suraj <suraj.kandpal@xxxxxxxxx>; dmitry.baryshkov@xxxxxxxxxx;
> Murthy, Arun R <arun.r.murthy@xxxxxxxxx>
> Subject: [PATCH v8 09/14] drm/i915/histogram: Hook i915 histogram with drm
> histogram
> 
> Handle histogram caps and histogram config property in i915 driver. Fill the
> histogram hardware capability and act upon the histogram config property to
> enable/disable histogram in i915.

Need to fix comment its not just for i915 but xe as well.
Otherwise LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@xxxxxxxxx>

> 
> Signed-off-by: Arun R Murthy <arun.r.murthy@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/display/intel_crtc.c    |  7 +++++++
>  drivers/gpu/drm/i915/display/intel_display.c | 12 ++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> b/drivers/gpu/drm/i915/display/intel_crtc.c
> index
> e69b28779ac551bde56c9c3d394e784275a9b69e..b90017409a23de2a214ca43d
> 32ba537998ea0f78 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -28,6 +28,7 @@
>  #include "intel_drrs.h"
>  #include "intel_dsi.h"
>  #include "intel_fifo_underrun.h"
> +#include "intel_histogram.h"
>  #include "intel_pipe_crc.h"
>  #include "intel_psr.h"
>  #include "intel_sprite.h"
> @@ -211,6 +212,7 @@ static struct intel_crtc *intel_crtc_alloc(void)  static
> void intel_crtc_free(struct intel_crtc *crtc)  {
>  	intel_crtc_destroy_state(&crtc->base, crtc->base.state);
> +	intel_histogram_finish(crtc);
>  	kfree(crtc);
>  }
> 
> @@ -381,6 +383,11 @@ int intel_crtc_init(struct drm_i915_private *dev_priv,
> enum pipe pipe)
> 
> 	BIT(DRM_SCALING_FILTER_DEFAULT) |
> 
> 	BIT(DRM_SCALING_FILTER_NEAREST_NEIGHBOR));
> 
> +	intel_histogram_init(crtc);
> +	if (drm_crtc_create_histogram_property(&crtc->base,
> +					       crtc->histogram->caps))
> +		drm_err(&dev_priv->drm, "Failed to initialize histogram
> +properties\n");
> +
>  	intel_color_crtc_init(crtc);
>  	intel_drrs_crtc_init(crtc);
>  	intel_crtc_crc_init(crtc);
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index
> 7d68d652c1bc91acc68281c4761f688f3779bd79..c38a33ee90aef144931215254f
> 178ba955f998b0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -93,6 +93,7 @@
>  #include "intel_fifo_underrun.h"
>  #include "intel_frontbuffer.h"
>  #include "intel_hdmi.h"
> +#include "intel_histogram.h"
>  #include "intel_hotplug.h"
>  #include "intel_link_bw.h"
>  #include "intel_lvds.h"
> @@ -4675,6 +4676,12 @@ static int intel_crtc_atomic_check(struct
> intel_atomic_state *state,
>  	if (ret)
>  		return ret;
> 
> +	if (crtc_state->uapi.histogram_updated) {
> +		ret = intel_histogram_atomic_check(crtc);
> +		if (ret)
> +			return ret;
> +	}
> +
>  	return 0;
>  }
> 
> @@ -7933,6 +7940,11 @@ static void intel_atomic_commit_tail(struct
> intel_atomic_state *state)
>  		 */
>  		old_crtc_state->dsb_color_vblank =
> fetch_and_zero(&new_crtc_state->dsb_color_vblank);
>  		old_crtc_state->dsb_commit =
> fetch_and_zero(&new_crtc_state->dsb_commit);
> +
> +		if (new_crtc_state->uapi.histogram_updated)
> +			intel_histogram_update(crtc,
> +					       (struct drm_histogram_config *)
> +					       new_crtc_state-
> >uapi.histogram_enable->data);
>  	}
> 
>  	/* Underruns don't always raise interrupts, so check manually */
> 
> --
> 2.25.1





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

  Powered by Linux