[Intel-gfx] [PATCH v2 9/9] drm/i915: Pass the crtc to the low level read_lut() funcs
Sharma, Swati2
swati2.sharma at intel.com
Fri Mar 6 15:36:10 UTC 2020
On 03-Mar-20 11:03 PM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> The low level read_lut() functions don't need the entire crtc state
> as they know exactly what they're reading. Just need to pass in the
> crtc to get at the pipe. This now neatly mirrors the load_lut()
> direction.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Swati Sharma <swati2.sharma at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_color.c | 51 +++++++++++-----------
> 1 file changed, 25 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
> index ed9996aacafd..c1cce93a1c25 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -1722,10 +1722,8 @@ bool intel_color_lut_equal(struct drm_property_blob *blob1,
> return true;
> }
>
> -static struct drm_property_blob *
> -i9xx_read_lut_8(const struct intel_crtc_state *crtc_state)
> +static struct drm_property_blob *i9xx_read_lut_8(struct intel_crtc *crtc)
> {
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> enum pipe pipe = crtc->pipe;
> struct drm_property_blob *blob;
> @@ -1751,16 +1749,16 @@ i9xx_read_lut_8(const struct intel_crtc_state *crtc_state)
>
> static void i9xx_read_luts(struct intel_crtc_state *crtc_state)
> {
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +
> if (!crtc_state->gamma_enable)
> return;
>
> - crtc_state->hw.gamma_lut = i9xx_read_lut_8(crtc_state);
> + crtc_state->hw.gamma_lut = i9xx_read_lut_8(crtc);
> }
>
> -static struct drm_property_blob *
> -i965_read_lut_10p6(const struct intel_crtc_state *crtc_state)
> +static struct drm_property_blob *i965_read_lut_10p6(struct intel_crtc *crtc)
> {
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> int i, lut_size = INTEL_INFO(dev_priv)->color.gamma_lut_size;
> enum pipe pipe = crtc->pipe;
> @@ -1791,19 +1789,19 @@ i965_read_lut_10p6(const struct intel_crtc_state *crtc_state)
>
> static void i965_read_luts(struct intel_crtc_state *crtc_state)
> {
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +
> if (!crtc_state->gamma_enable)
> return;
>
> if (crtc_state->gamma_mode == GAMMA_MODE_MODE_8BIT)
> - crtc_state->hw.gamma_lut = i9xx_read_lut_8(crtc_state);
> + crtc_state->hw.gamma_lut = i9xx_read_lut_8(crtc);
> else
> - crtc_state->hw.gamma_lut = i965_read_lut_10p6(crtc_state);
> + crtc_state->hw.gamma_lut = i965_read_lut_10p6(crtc);
> }
>
> -static struct drm_property_blob *
> -chv_read_cgm_gamma(const struct intel_crtc_state *crtc_state)
> +static struct drm_property_blob *chv_read_cgm_gamma(struct intel_crtc *crtc)
> {
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> int i, lut_size = INTEL_INFO(dev_priv)->color.gamma_lut_size;
> enum pipe pipe = crtc->pipe;
> @@ -1830,16 +1828,16 @@ chv_read_cgm_gamma(const struct intel_crtc_state *crtc_state)
>
> static void chv_read_luts(struct intel_crtc_state *crtc_state)
> {
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +
> if (crtc_state->cgm_mode & CGM_PIPE_MODE_GAMMA)
> - crtc_state->hw.gamma_lut = chv_read_cgm_gamma(crtc_state);
> + crtc_state->hw.gamma_lut = chv_read_cgm_gamma(crtc);
> else
> i965_read_luts(crtc_state);
> }
>
> -static struct drm_property_blob *
> -ilk_read_lut_8(const struct intel_crtc_state *crtc_state)
> +static struct drm_property_blob *ilk_read_lut_8(struct intel_crtc *crtc)
> {
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> enum pipe pipe = crtc->pipe;
> struct drm_property_blob *blob;
> @@ -1863,10 +1861,8 @@ ilk_read_lut_8(const struct intel_crtc_state *crtc_state)
> return blob;
> }
>
> -static struct drm_property_blob *
> -ilk_read_lut_10(const struct intel_crtc_state *crtc_state)
> +static struct drm_property_blob *ilk_read_lut_10(struct intel_crtc *crtc)
> {
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> int i, lut_size = INTEL_INFO(dev_priv)->color.gamma_lut_size;
> enum pipe pipe = crtc->pipe;
> @@ -1892,6 +1888,8 @@ ilk_read_lut_10(const struct intel_crtc_state *crtc_state)
>
> static void ilk_read_luts(struct intel_crtc_state *crtc_state)
> {
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +
> if (!crtc_state->gamma_enable)
> return;
>
> @@ -1899,15 +1897,14 @@ static void ilk_read_luts(struct intel_crtc_state *crtc_state)
> return;
>
> if (crtc_state->gamma_mode == GAMMA_MODE_MODE_8BIT)
> - crtc_state->hw.gamma_lut = ilk_read_lut_8(crtc_state);
> + crtc_state->hw.gamma_lut = ilk_read_lut_8(crtc);
> else
> - crtc_state->hw.gamma_lut = ilk_read_lut_10(crtc_state);
> + crtc_state->hw.gamma_lut = ilk_read_lut_10(crtc);
> }
>
> -static struct drm_property_blob *
> -glk_read_lut_10(const struct intel_crtc_state *crtc_state, u32 prec_index)
> +static struct drm_property_blob *glk_read_lut_10(struct intel_crtc *crtc,
> + u32 prec_index)
> {
> - struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> int i, hw_lut_size = ivb_lut_10_size(prec_index);
> enum pipe pipe = crtc->pipe;
> @@ -1938,13 +1935,15 @@ glk_read_lut_10(const struct intel_crtc_state *crtc_state, u32 prec_index)
>
> static void glk_read_luts(struct intel_crtc_state *crtc_state)
> {
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +
> if (!crtc_state->gamma_enable)
> return;
>
> if (crtc_state->gamma_mode == GAMMA_MODE_MODE_8BIT)
> - crtc_state->hw.gamma_lut = ilk_read_lut_8(crtc_state);
> + crtc_state->hw.gamma_lut = ilk_read_lut_8(crtc);
> else
> - crtc_state->hw.gamma_lut = glk_read_lut_10(crtc_state, PAL_PREC_INDEX_VALUE(0));
> + crtc_state->hw.gamma_lut = glk_read_lut_10(crtc, PAL_PREC_INDEX_VALUE(0));
> }
>
> void intel_color_init(struct intel_crtc *crtc)
>
--
~Swati Sharma
More information about the Intel-gfx
mailing list