From: Ville Syrjälä <ville.syrj...@linux.intel.com>

We have a nice little helper to compute a single LUT entry
for everything except the 8bpc legacy gamma mode. Let's
complete the set.

Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_color.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_color.c 
b/drivers/gpu/drm/i915/display/intel_color.c
index f20809d91f85..5443b8ec0a4c 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -367,6 +367,13 @@ static void chv_load_cgm_csc(struct intel_crtc *crtc,
        I915_WRITE(CGM_PIPE_CSC_COEFF8(pipe), coeffs[8]);
 }
 
+static u32 i9xx_lut_8(const struct drm_color_lut *color)
+{
+       return drm_color_lut_extract(color->red, 8) << 16 |
+               drm_color_lut_extract(color->green, 8) << 8 |
+               drm_color_lut_extract(color->blue, 8);
+}
+
 /* i965+ "10.6" bit interpolated format "even DW" (low 8 bits) */
 static u32 i965_lut_10p6_ldw(const struct drm_color_lut *color)
 {
@@ -410,10 +417,7 @@ static void i9xx_load_luts_internal(const struct 
intel_crtc_state *crtc_state,
                const struct drm_color_lut *lut = blob->data;
 
                for (i = 0; i < 256; i++) {
-                       u32 word =
-                               (drm_color_lut_extract(lut[i].red, 8) << 16) |
-                               (drm_color_lut_extract(lut[i].green, 8) << 8) |
-                               drm_color_lut_extract(lut[i].blue, 8);
+                       u32 word = i9xx_lut_8(&lut[i]);
 
                        if (HAS_GMCH(dev_priv))
                                I915_WRITE(PALETTE(pipe, i), word);
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to