[Intel-gfx] [v8][PATCH 04/10] drm/i915/display: Add macro to compare gamma hw/sw lut
Shankar, Uma
uma.shankar at intel.com
Wed Aug 28 15:35:06 UTC 2019
>-----Original Message-----
>From: Sharma, Swati2
>Sent: Monday, August 26, 2019 11:56 AM
>To: intel-gfx at lists.freedesktop.org
>Cc: Nikula, Jani <jani.nikula at intel.com>; Sharma, Shashank
><shashank.sharma at intel.com>; Manna, Animesh <animesh.manna at intel.com>;
>Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>; daniel.vetter at ffwll.ch;
>ville.syrjala at linux.intel.com; Shankar, Uma <uma.shankar at intel.com>; Sharma,
>Swati2 <swati2.sharma at intel.com>
>Subject: [v8][PATCH 04/10] drm/i915/display: Add macro to compare gamma hw/sw
>lut
>
>Add macro to compare hw/sw gamma lut values. First need to check whether hw/sw
>gamma mode matches or not. If not no need to compare lut values, if matches then
>only compare lut entries.
Looks good to me.
Reviewed-by: Uma Shankar <uma.shankar at intel.com>
>Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
>---
> drivers/gpu/drm/i915/display/intel_display.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display.c
>b/drivers/gpu/drm/i915/display/intel_display.c
>index ca88c70..63b7ad7 100644
>--- a/drivers/gpu/drm/i915/display/intel_display.c
>+++ b/drivers/gpu/drm/i915/display/intel_display.c
>@@ -12529,6 +12529,7 @@ static bool fastboot_enabled(struct drm_i915_private
>*dev_priv) {
> struct drm_i915_private *dev_priv = to_i915(current_config->base.crtc-
>>dev);
> bool ret = true;
>+ u32 bp_gamma = 0;
> bool fixup_inherited = fastset &&
> (current_config->base.mode.private_flags &
>I915_MODE_FLAG_INHERITED) &&
> !(pipe_config->base.mode.private_flags &
>I915_MODE_FLAG_INHERITED); @@ -12680,6 +12681,24 @@ static bool
>fastboot_enabled(struct drm_i915_private *dev_priv)
> } \
> } while (0)
>
>+#define PIPE_CONF_CHECK_COLOR_LUT(name1, name2, bit_precision) do { \
>+ if (current_config->name1 != pipe_config->name1) { \
>+ pipe_config_mismatch(fastset, __stringify(name1), \
>+ "(expected %i, found %i, won't compare lut
>values)\n", \
>+ current_config->name1, \
>+ pipe_config->name1); \
>+ ret = false;\
>+ } else { \
>+ if (!intel_color_lut_equal(current_config->name2, \
>+ pipe_config->name2, pipe_config->name1, \
>+ bit_precision)) { \
>+ pipe_config_mismatch(fastset, __stringify(name2), \
>+ "hw_state doesn't match sw_state\n"); \
>+ ret = false; \
>+ } \
>+ } \
>+} while (0)
>+
> #define PIPE_CONF_QUIRK(quirk) \
> ((current_config->quirks | pipe_config->quirks) & (quirk))
>
>@@ -12775,6 +12794,11 @@ static bool fastboot_enabled(struct drm_i915_private
>*dev_priv)
> PIPE_CONF_CHECK_X(csc_mode);
> PIPE_CONF_CHECK_BOOL(gamma_enable);
> PIPE_CONF_CHECK_BOOL(csc_enable);
>+
>+ bp_gamma = intel_color_get_gamma_bit_precision(pipe_config);
>+ if (bp_gamma)
>+ PIPE_CONF_CHECK_COLOR_LUT(gamma_mode,
>base.gamma_lut, bp_gamma);
>+
> }
>
> PIPE_CONF_CHECK_BOOL(double_wide);
>@@ -12837,6 +12861,7 @@ static bool fastboot_enabled(struct drm_i915_private
>*dev_priv) #undef PIPE_CONF_CHECK_P #undef PIPE_CONF_CHECK_FLAGS #undef
>PIPE_CONF_CHECK_CLOCK_FUZZY
>+#undef PIPE_CONF_CHECK_COLOR_LUT
> #undef PIPE_CONF_QUIRK
>
> return ret;
>--
>1.9.1
More information about the Intel-gfx
mailing list