On Thu, Mar 28, 2019 at 11:05:00PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
> 
> Extract a helper to calculate the ILK+ 10it gamma LUT entry.

Missing a 'b' in '10it' but otherwise:

Reviewed-by: Matt Roper <matthew.d.ro...@intel.com>

> It's already duplicated twice, and soon we'll have more.
> 
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_color.c | 27 +++++++++++----------------
>  1 file changed, 11 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_color.c 
> b/drivers/gpu/drm/i915/intel_color.c
> index ff910ed08468..d7c38a2bbd8f 100644
> --- a/drivers/gpu/drm/i915/intel_color.c
> +++ b/drivers/gpu/drm/i915/intel_color.c
> @@ -359,6 +359,13 @@ static void cherryview_load_csc_matrix(const struct 
> intel_crtc_state *crtc_state
>       I915_WRITE(CGM_PIPE_MODE(pipe), crtc_state->cgm_mode);
>  }
>  
> +static u32 ilk_lut_10(const struct drm_color_lut *color)
> +{
> +     return drm_color_lut_extract(color->red, 10) << 20 |
> +             drm_color_lut_extract(color->green, 10) << 10 |
> +             drm_color_lut_extract(color->blue, 10);
> +}
> +
>  /* Loads the legacy palette/gamma unit for the CRTC. */
>  static void i9xx_load_luts_internal(const struct intel_crtc_state 
> *crtc_state,
>                                   const struct drm_property_blob *blob)
> @@ -473,14 +480,8 @@ static void bdw_load_degamma_lut(const struct 
> intel_crtc_state *crtc_state)
>       if (degamma_lut) {
>               const struct drm_color_lut *lut = degamma_lut->data;
>  
> -             for (i = 0; i < lut_size; i++) {
> -                     u32 word =
> -                     drm_color_lut_extract(lut[i].red, 10) << 20 |
> -                     drm_color_lut_extract(lut[i].green, 10) << 10 |
> -                     drm_color_lut_extract(lut[i].blue, 10);
> -
> -                     I915_WRITE(PREC_PAL_DATA(pipe), word);
> -             }
> +             for (i = 0; i < lut_size; i++)
> +                     I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>       } else {
>               for (i = 0; i < lut_size; i++) {
>                       u32 v = (i * ((1 << 10) - 1)) / (lut_size - 1);
> @@ -509,14 +510,8 @@ static void bdw_load_gamma_lut(const struct 
> intel_crtc_state *crtc_state, u32 of
>       if (gamma_lut) {
>               const struct drm_color_lut *lut = gamma_lut->data;
>  
> -             for (i = 0; i < lut_size; i++) {
> -                     u32 word =
> -                     (drm_color_lut_extract(lut[i].red, 10) << 20) |
> -                     (drm_color_lut_extract(lut[i].green, 10) << 10) |
> -                     drm_color_lut_extract(lut[i].blue, 10);
> -
> -                     I915_WRITE(PREC_PAL_DATA(pipe), word);
> -             }
> +             for (i = 0; i < lut_size; i++)
> +                     I915_WRITE(PREC_PAL_DATA(pipe), ilk_lut_10(&lut[i]));
>  
>               /* Program the max register to clamp values > 1.0. */
>               i = lut_size - 1;
> -- 
> 2.19.2
> 

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to