OSDN Git Service

drm/i915: Change glk_load_degamma_lut() calling convention
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 29 Sep 2022 07:15:16 +0000 (10:15 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 30 Sep 2022 12:59:32 +0000 (15:59 +0300)
Make glk_load_degamma_lut() more like most everyone else and
pass in the LUT explicitly.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220929071521.26612-6-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_color.c

index 96687ec..0c73b2b 100644 (file)
@@ -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: