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 02/18] drm/i915: Clean up 10bit precision palette defines
Date: Fri, 11 Nov 2022 17:10:46 +0200 [thread overview]
Message-ID: <8735ap5xxl.fsf@intel.com> (raw)
In-Reply-To: <20221110082144.19666-3-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>
>
> Use consistent bit definitions for the 10bit precision palette bits.
> We just define these alongside the ilk/snb register definitions and
> point to those from the ivb+ defines.
>
> 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 | 12 ++++++------
> drivers/gpu/drm/i915/i915_reg.h | 11 +++++------
> 2 files changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
> index ff4a5167df57..6486a0890583 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -470,16 +470,16 @@ static u16 i965_lut_11p6_max_pack(u32 val)
>
> static u32 ilk_lut_10(const struct drm_color_lut *color)
> {
> - return drm_color_lut_extract(color->red, 10) << 20 |
> - drm_color_lut_extract(color->green, 10) << 10 |
> - drm_color_lut_extract(color->blue, 10);
> + return REG_FIELD_PREP(PREC_PALETTE_10_RED_MASK, drm_color_lut_extract(color->red, 10)) |
> + REG_FIELD_PREP(PREC_PALETTE_10_GREEN_MASK, drm_color_lut_extract(color->green, 10)) |
> + REG_FIELD_PREP(PREC_PALETTE_10_BLUE_MASK, drm_color_lut_extract(color->blue, 10));
> }
>
> static void ilk_lut_10_pack(struct drm_color_lut *entry, u32 val)
> {
> - entry->red = intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_RED_MASK, val), 10);
> - entry->green = intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_GREEN_MASK, val), 10);
> - entry->blue = intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_BLUE_MASK, val), 10);
> + entry->red = intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_10_RED_MASK, val), 10);
> + entry->green = intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_10_GREEN_MASK, val), 10);
> + entry->blue = intel_color_lut_pack(REG_FIELD_GET(PREC_PALETTE_10_BLUE_MASK, val), 10);
> }
>
> /* ilk+ "12.4" interpolated format (high 10 bits) */
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 91ee00c347e4..3aa3db2b56f5 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -5387,9 +5387,10 @@
> /* ilk/snb precision palette */
> #define _PREC_PALETTE_A 0x4b000
> #define _PREC_PALETTE_B 0x4c000
> -#define PREC_PALETTE_RED_MASK REG_GENMASK(29, 20)
> -#define PREC_PALETTE_GREEN_MASK REG_GENMASK(19, 10)
> -#define PREC_PALETTE_BLUE_MASK REG_GENMASK(9, 0)
> +/* 10bit mode */
> +#define PREC_PALETTE_10_RED_MASK REG_GENMASK(29, 20)
> +#define PREC_PALETTE_10_GREEN_MASK REG_GENMASK(19, 10)
> +#define PREC_PALETTE_10_BLUE_MASK REG_GENMASK(9, 0)
> #define PREC_PALETTE(pipe, i) _MMIO(_PIPE(pipe, _PREC_PALETTE_A, _PREC_PALETTE_B) + (i) * 4)
>
> #define _PREC_PIPEAGCMAX 0x4d000
> @@ -7619,12 +7620,10 @@ enum skl_power_gate {
> #define _PAL_PREC_DATA_A 0x4A404
> #define _PAL_PREC_DATA_B 0x4AC04
> #define _PAL_PREC_DATA_C 0x4B404
> +/* see PREC_PALETTE_* for the bits */
> #define _PAL_PREC_GC_MAX_A 0x4A410
> #define _PAL_PREC_GC_MAX_B 0x4AC10
> #define _PAL_PREC_GC_MAX_C 0x4B410
> -#define PREC_PAL_DATA_RED_MASK REG_GENMASK(29, 20)
> -#define PREC_PAL_DATA_GREEN_MASK REG_GENMASK(19, 10)
> -#define PREC_PAL_DATA_BLUE_MASK REG_GENMASK(9, 0)
> #define _PAL_PREC_EXT_GC_MAX_A 0x4A420
> #define _PAL_PREC_EXT_GC_MAX_B 0x4AC20
> #define _PAL_PREC_EXT_GC_MAX_C 0x4B420
--
Jani Nikula, Intel Open Source Graphics Center
next prev parent reply other threads:[~2022-11-11 15:11 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 [this message]
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
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=8735ap5xxl.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.