Commit 296cd8ec authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/i915: Change glk_load_degamma_lut() calling convention



Make glk_load_degamma_lut() more like most everyone else and
pass in the LUT explicitly.

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220929071521.26612-6-ville.syrjala@linux.intel.com


Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 7671fc62
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -826,13 +826,14 @@ static int glk_degamma_lut_size(struct drm_i915_private *i915)
		return 35;
		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 intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
	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;
	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
	 * 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)
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;
	const struct drm_property_blob *gamma_lut = crtc_state->hw.gamma_lut;
	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
	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
	 * the degama LUT so that we don't have to reload
	 * it every time the pipe CSC is being enabled.
	 * it every time the pipe CSC is being enabled.
	 */
	 */
	if (crtc_state->hw.degamma_lut)
	if (degamma_lut)
		glk_load_degamma_lut(crtc_state);
		glk_load_degamma_lut(crtc_state, degamma_lut);
	else
	else
		glk_load_degamma_lut_linear(crtc_state);
		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)
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;
	const struct drm_property_blob *gamma_lut = crtc_state->hw.gamma_lut;
	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);


	if (crtc_state->hw.degamma_lut)
	if (degamma_lut)
		glk_load_degamma_lut(crtc_state);
		glk_load_degamma_lut(crtc_state, degamma_lut);


	switch (crtc_state->gamma_mode & GAMMA_MODE_MODE_MASK) {
	switch (crtc_state->gamma_mode & GAMMA_MODE_MODE_MASK) {
	case GAMMA_MODE_MODE_8BIT:
	case GAMMA_MODE_MODE_8BIT: