[Intel-gfx] [PATCH 1/6] drm/i915: Extract ilk_lut_10()
Matt Roper
matthew.d.roper at intel.com
Fri Mar 29 00:15:01 UTC 2019
On Thu, Mar 28, 2019 at 11:05:00PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at 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.roper at intel.com>
> It's already duplicated twice, and soon we'll have more.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at 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
More information about the Intel-gfx
mailing list