On Thu, 29 Sep 2022, Ville Syrjala <ville.syrj...@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
>
> Make glk_load_degamma_lut() more like most everyone else and
> pass in the LUT explicitly.
>
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nik...@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_color.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c 
> b/drivers/gpu/drm/i915/display/intel_color.c
> index 96687ec30b19..0c73b2ba1283 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -826,13 +826,14 @@ static int glk_degamma_lut_size(struct drm_i915_private 
> *i915)
>               return 35;
>  }
>  
> -static void glk_load_degamma_lut(const struct intel_crtc_state *crtc_state)
> +static void glk_load_degamma_lut(const struct intel_crtc_state *crtc_state,
> +                              const struct drm_property_blob *blob)
>  {
>       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>       struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> +     const struct drm_color_lut *lut = blob->data;
> +     int i, lut_size = drm_color_lut_size(blob);
>       enum pipe pipe = crtc->pipe;
> -     int i, lut_size = INTEL_INFO(dev_priv)->display.color.degamma_lut_size;
> -     const struct drm_color_lut *lut = crtc_state->hw.degamma_lut->data;
>  
>       /*
>        * When setting the auto-increment bit, the hardware seems to
> @@ -899,6 +900,7 @@ static void glk_load_degamma_lut_linear(const struct 
> intel_crtc_state *crtc_stat
>  
>  static void glk_load_luts(const struct intel_crtc_state *crtc_state)
>  {
> +     const struct drm_property_blob *degamma_lut = 
> crtc_state->hw.degamma_lut;
>       const struct drm_property_blob *gamma_lut = crtc_state->hw.gamma_lut;
>       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  
> @@ -910,8 +912,8 @@ static void glk_load_luts(const struct intel_crtc_state 
> *crtc_state)
>        * the degama LUT so that we don't have to reload
>        * it every time the pipe CSC is being enabled.
>        */
> -     if (crtc_state->hw.degamma_lut)
> -             glk_load_degamma_lut(crtc_state);
> +     if (degamma_lut)
> +             glk_load_degamma_lut(crtc_state, degamma_lut);
>       else
>               glk_load_degamma_lut_linear(crtc_state);
>  
> @@ -1043,11 +1045,12 @@ icl_program_gamma_multi_segment(const struct 
> intel_crtc_state *crtc_state)
>  
>  static void icl_load_luts(const struct intel_crtc_state *crtc_state)
>  {
> +     const struct drm_property_blob *degamma_lut = 
> crtc_state->hw.degamma_lut;
>       const struct drm_property_blob *gamma_lut = crtc_state->hw.gamma_lut;
>       struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  
> -     if (crtc_state->hw.degamma_lut)
> -             glk_load_degamma_lut(crtc_state);
> +     if (degamma_lut)
> +             glk_load_degamma_lut(crtc_state, degamma_lut);
>  
>       switch (crtc_state->gamma_mode & GAMMA_MODE_MODE_MASK) {
>       case GAMMA_MODE_MODE_8BIT:

-- 
Jani Nikula, Intel Open Source Graphics Center

Reply via email to