From: Jani Nikula <jani.nikula@linux.intel.com>
To: Ville Syrjala <ville.syrjala@linux.intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH v2 04/18] drm/i915: Clean up chv CGM (de)gamma defines
Date: Fri, 11 Nov 2022 17:15:35 +0200 [thread overview]
Message-ID: <87wn814j54.fsf@intel.com> (raw)
In-Reply-To: <20221110082144.19666-5-ville.syrjala@linux.intel.com>
On Thu, 10 Nov 2022, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add the missing ldw vs. udw information to the CGM (de)gamma
> bit definitions to make it a bit easier to see which should
> be used where.
>
> Also use the these appropriately in the LUT entry pack/unpack
> functions.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_color.c | 18 +++++++++---------
> drivers/gpu/drm/i915/i915_reg.h | 16 ++++++++++------
> 2 files changed, 19 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
> index 758869971e45..8e92eb61abac 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -1077,13 +1077,13 @@ static void icl_load_luts(const struct intel_crtc_state *crtc_state)
>
> static u32 chv_cgm_degamma_ldw(const struct drm_color_lut *color)
> {
> - return drm_color_lut_extract(color->green, 14) << 16 |
> - drm_color_lut_extract(color->blue, 14);
> + return REG_FIELD_PREP(CGM_PIPE_DEGAMMA_GREEN_LDW_MASK, drm_color_lut_extract(color->green, 14)) |
> + REG_FIELD_PREP(CGM_PIPE_DEGAMMA_BLUE_LDW_MASK, drm_color_lut_extract(color->blue, 14));
> }
>
> static u32 chv_cgm_degamma_udw(const struct drm_color_lut *color)
> {
> - return drm_color_lut_extract(color->red, 14);
> + return REG_FIELD_PREP(CGM_PIPE_DEGAMMA_RED_UDW_MASK, drm_color_lut_extract(color->red, 14));
> }
>
> static void chv_load_cgm_degamma(struct intel_crtc *crtc,
> @@ -1104,20 +1104,20 @@ static void chv_load_cgm_degamma(struct intel_crtc *crtc,
>
> static u32 chv_cgm_gamma_ldw(const struct drm_color_lut *color)
> {
> - return drm_color_lut_extract(color->green, 10) << 16 |
> - drm_color_lut_extract(color->blue, 10);
> + return REG_FIELD_PREP(CGM_PIPE_GAMMA_GREEN_LDW_MASK, drm_color_lut_extract(color->green, 10)) |
> + REG_FIELD_PREP(CGM_PIPE_GAMMA_BLUE_LDW_MASK, drm_color_lut_extract(color->blue, 10));
> }
>
> static u32 chv_cgm_gamma_udw(const struct drm_color_lut *color)
> {
> - return drm_color_lut_extract(color->red, 10);
> + return REG_FIELD_PREP(CGM_PIPE_GAMMA_RED_UDW_MASK, drm_color_lut_extract(color->red, 10));
> }
>
> static void chv_cgm_gamma_pack(struct drm_color_lut *entry, u32 ldw, u32 udw)
> {
> - entry->green = intel_color_lut_pack(REG_FIELD_GET(CGM_PIPE_GAMMA_GREEN_MASK, ldw), 10);
> - entry->blue = intel_color_lut_pack(REG_FIELD_GET(CGM_PIPE_GAMMA_BLUE_MASK, ldw), 10);
> - entry->red = intel_color_lut_pack(REG_FIELD_GET(CGM_PIPE_GAMMA_RED_MASK, udw), 10);
> + entry->green = intel_color_lut_pack(REG_FIELD_GET(CGM_PIPE_GAMMA_GREEN_LDW_MASK, ldw), 10);
> + entry->blue = intel_color_lut_pack(REG_FIELD_GET(CGM_PIPE_GAMMA_BLUE_LDW_MASK, ldw), 10);
> + entry->red = intel_color_lut_pack(REG_FIELD_GET(CGM_PIPE_GAMMA_RED_UDW_MASK, udw), 10);
> }
>
> static void chv_load_cgm_gamma(struct intel_crtc *crtc,
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index ecb34f133980..f4c08509e629 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -7725,13 +7725,17 @@ enum skl_power_gate {
> #define _CGM_PIPE_A_CSC_COEFF67 (VLV_DISPLAY_BASE + 0x6790C)
> #define _CGM_PIPE_A_CSC_COEFF8 (VLV_DISPLAY_BASE + 0x67910)
> #define _CGM_PIPE_A_DEGAMMA (VLV_DISPLAY_BASE + 0x66000)
> -#define CGM_PIPE_DEGAMMA_RED_MASK REG_GENMASK(13, 0)
> -#define CGM_PIPE_DEGAMMA_GREEN_MASK REG_GENMASK(29, 16)
> -#define CGM_PIPE_DEGAMMA_BLUE_MASK REG_GENMASK(13, 0)
> +/* cgm degamma ldw */
> +#define CGM_PIPE_DEGAMMA_GREEN_LDW_MASK REG_GENMASK(29, 16)
> +#define CGM_PIPE_DEGAMMA_BLUE_LDW_MASK REG_GENMASK(13, 0)
> +/* cgm degamma udw */
> +#define CGM_PIPE_DEGAMMA_RED_UDW_MASK REG_GENMASK(13, 0)
> #define _CGM_PIPE_A_GAMMA (VLV_DISPLAY_BASE + 0x67000)
> -#define CGM_PIPE_GAMMA_RED_MASK REG_GENMASK(9, 0)
> -#define CGM_PIPE_GAMMA_GREEN_MASK REG_GENMASK(25, 16)
> -#define CGM_PIPE_GAMMA_BLUE_MASK REG_GENMASK(9, 0)
> +/* cgm gamma ldw */
> +#define CGM_PIPE_GAMMA_GREEN_LDW_MASK REG_GENMASK(25, 16)
> +#define CGM_PIPE_GAMMA_BLUE_LDW_MASK REG_GENMASK(9, 0)
> +/* cgm gamma udw */
> +#define CGM_PIPE_GAMMA_RED_UDW_MASK REG_GENMASK(9, 0)
> #define _CGM_PIPE_A_MODE (VLV_DISPLAY_BASE + 0x67A00)
> #define CGM_PIPE_MODE_GAMMA (1 << 2)
> #define CGM_PIPE_MODE_CSC (1 << 1)
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2022-11-11 15:16 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-10 8:21 [Intel-gfx] [PATCH v2 00/18] drm/i915: Finish (de)gamma readout Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 01/18] drm/i915: Clean up legacy palette defines Ville Syrjala
2022-11-11 15:09 ` Jani Nikula
2022-11-11 18:24 ` Ville Syrjälä
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 02/18] drm/i915: Clean up 10bit precision " Ville Syrjala
2022-11-11 15:10 ` Jani Nikula
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 03/18] drm/i915: Clean up 12.4bit " Ville Syrjala
2022-11-11 15:13 ` Jani Nikula
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 04/18] drm/i915: Clean up chv CGM (de)gamma defines Ville Syrjala
2022-11-11 15:15 ` Jani Nikula [this message]
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 05/18] drm/i915: Reorder 12.4 lut udw vs. ldw functions Ville Syrjala
2022-11-11 15:15 ` Jani Nikula
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 06/18] drm/i915: Fix adl+ degamma LUT size Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 07/18] drm/i915: Add glk+ degamma readout Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 08/18] drm/i915: Read out CHV CGM degamma Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 09/18] drm/i915: Add gamma/degamma readout for bdw+ Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 10/18] drm/i915: Add gamma/degamma readout for ivb/hsw Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 11/18] drm/i915: Make ilk_read_luts() capable of degamma readout Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 12/18] drm/i915: Make .read_luts() mandatory Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 13/18] drm/i915: Finish the LUT state checker Ville Syrjala
2022-11-12 15:55 ` [Intel-gfx] [PATCH v3 " Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 14/18] drm/i915: Rework legacy LUT handling Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 15/18] drm/i915: Use hw degamma LUT for sw gamma on glk with YCbCr output Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 16/18] drm/i915: Use gamma LUT for RGB limited range compression Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 17/18] drm/i915: Add 10bit gamma mode for gen2/3 Ville Syrjala
2022-11-12 15:56 ` [Intel-gfx] [PATCH v3 " Ville Syrjala
2022-11-10 8:21 ` [Intel-gfx] [PATCH v2 18/18] drm/i915: Do state check for color management changes Ville Syrjala
2022-11-11 14:37 ` [Intel-gfx] [PATCH v3 " Ville Syrjala
2022-11-10 21:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Finish (de)gamma readout (rev2) Patchwork
2022-11-10 21:55 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-11-10 22:17 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-11-11 14:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915: Finish (de)gamma readout (rev3) Patchwork
2022-11-11 15:24 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-11-11 19:27 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Finish (de)gamma readout (rev4) Patchwork
2022-11-11 19:27 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-11-11 19:49 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-11-12 12:47 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-11-12 16:37 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Finish (de)gamma readout (rev6) Patchwork
2022-11-12 16:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-11-12 16:59 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-11-12 19:47 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Finish (de)gamma readout (rev7) Patchwork
2022-11-12 19:47 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-11-12 20:09 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-11-12 21:49 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wn814j54.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.