All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Uma Shankar <uma.shankar@intel.com>,
	intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org
Cc: oe-kbuild-all@lists.linux.dev, chaitanya.kumar.borah@intel.com,
	ville.syrjala@linux.intel.com, pekka.paalanen@collabora.com,
	contact@emersion.fr, harry.wentland@amd.com, mwen@igalia.com,
	jadahl@redhat.com, sebastian.wick@redhat.com,
	swati2.sharma@intel.com, alex.hung@amd.com,
	jani.nikula@intel.com, suraj.kandpal@intel.com,
	Uma Shankar <uma.shankar@intel.com>
Subject: Re: [v7 11/15] drm/i915/color: Program Pre-CSC registers
Date: Tue, 2 Dec 2025 03:28:39 +0800	[thread overview]
Message-ID: <202512020343.7KKu4M4I-lkp@intel.com> (raw)
In-Reply-To: <20251201064655.3579280-12-uma.shankar@intel.com>

Hi Uma,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20251201]
[cannot apply to drm-xe/drm-xe-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip v6.18 v6.18-rc7 v6.18-rc6 linus/master v6.18]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Uma-Shankar/drm-i915-display-Add-identifiers-for-driver-specific-blocks/20251201-150245
base:   next-20251201
patch link:    https://lore.kernel.org/r/20251201064655.3579280-12-uma.shankar%40intel.com
patch subject: [v7 11/15] drm/i915/color: Program Pre-CSC registers
config: i386-buildonly-randconfig-006-20251201 (https://download.01.org/0day-ci/archive/20251202/202512020343.7KKu4M4I-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251202/202512020343.7KKu4M4I-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512020343.7KKu4M4I-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/gpu/drm/i915/display/intel_color.c:31:
   drivers/gpu/drm/i915/display/intel_display_types.h:1993:28: error: field 'base' has incomplete type
    1993 |         struct drm_colorop base;
         |                            ^~~~
   drivers/gpu/drm/i915/display/intel_color.c: In function 'xelpd_load_plane_csc_matrix':
   drivers/gpu/drm/i915/display/intel_color.c:3869:20: error: invalid use of undefined type 'struct drm_color_ctm_3x4'
    3869 |         input = ctm->matrix;
         |                    ^~
   drivers/gpu/drm/i915/display/intel_color.c: In function 'xelpd_program_plane_pre_csc_lut':
>> drivers/gpu/drm/i915/display/intel_color.c:3966:47: error: implicit declaration of function 'drm_color_lut32_extract'; did you mean 'drm_color_lut_extract'? [-Wimplicit-function-declaration]
    3966 |                                 u32 lut_val = drm_color_lut32_extract(pre_csc_lut[i].green, 24);
         |                                               ^~~~~~~~~~~~~~~~~~~~~~~
         |                                               drm_color_lut_extract
>> drivers/gpu/drm/i915/display/intel_color.c:3966:82: error: invalid use of undefined type 'struct drm_color_lut32'
    3966 |                                 u32 lut_val = drm_color_lut32_extract(pre_csc_lut[i].green, 24);
         |                                                                                  ^
>> drivers/gpu/drm/i915/display/intel_color.c:3966:85: error: invalid use of undefined type 'const struct drm_color_lut32'
    3966 |                                 u32 lut_val = drm_color_lut32_extract(pre_csc_lut[i].green, 24);
         |                                                                                     ^


vim +3966 drivers/gpu/drm/i915/display/intel_color.c

  3850	
  3851	static void
  3852	xelpd_load_plane_csc_matrix(struct intel_dsb *dsb,
  3853				    const struct intel_plane_state *plane_state)
  3854	{
  3855		struct intel_display *display = to_intel_display(plane_state);
  3856		const struct drm_plane_state *state = &plane_state->uapi;
  3857		enum pipe pipe = to_intel_plane(state->plane)->pipe;
  3858		enum plane_id plane = to_intel_plane(state->plane)->id;
  3859		const struct drm_property_blob *blob = plane_state->hw.ctm;
  3860		struct drm_color_ctm_3x4 *ctm;
  3861		const u64 *input;
  3862		u16 coeffs[9] = {};
  3863		int i, j;
  3864	
  3865		if (!icl_is_hdr_plane(display, plane) || !blob)
  3866			return;
  3867	
  3868		ctm = blob->data;
> 3869		input = ctm->matrix;
  3870	
  3871		/*
  3872		 * Convert fixed point S31.32 input to format supported by the
  3873		 * hardware.
  3874		 */
  3875		for (i = 0, j = 0; i < ARRAY_SIZE(coeffs); i++) {
  3876			u64 abs_coeff = ((1ULL << 63) - 1) & input[j];
  3877	
  3878			/*
  3879			 * Clamp input value to min/max supported by
  3880			 * hardware.
  3881			 */
  3882			abs_coeff = clamp_val(abs_coeff, 0, CTM_COEFF_4_0 - 1);
  3883	
  3884			/* sign bit */
  3885			if (CTM_COEFF_NEGATIVE(input[j]))
  3886				coeffs[i] |= 1 << 15;
  3887	
  3888			if (abs_coeff < CTM_COEFF_0_125)
  3889				coeffs[i] |= (3 << 12) |
  3890					      ILK_CSC_COEFF_FP(abs_coeff, 12);
  3891			else if (abs_coeff < CTM_COEFF_0_25)
  3892				coeffs[i] |= (2 << 12) |
  3893					      ILK_CSC_COEFF_FP(abs_coeff, 11);
  3894			else if (abs_coeff < CTM_COEFF_0_5)
  3895				coeffs[i] |= (1 << 12) |
  3896					      ILK_CSC_COEFF_FP(abs_coeff, 10);
  3897			else if (abs_coeff < CTM_COEFF_1_0)
  3898				coeffs[i] |= ILK_CSC_COEFF_FP(abs_coeff, 9);
  3899			else if (abs_coeff < CTM_COEFF_2_0)
  3900				coeffs[i] |= (7 << 12) |
  3901					      ILK_CSC_COEFF_FP(abs_coeff, 8);
  3902			else
  3903				coeffs[i] |= (6 << 12) |
  3904					      ILK_CSC_COEFF_FP(abs_coeff, 7);
  3905	
  3906			/* Skip postoffs */
  3907			if (!((j + 2) % 4))
  3908				j += 2;
  3909			else
  3910				j++;
  3911		}
  3912	
  3913		intel_de_write_dsb(display, dsb, PLANE_CSC_COEFF(pipe, plane, 0),
  3914				   coeffs[0] << 16 | coeffs[1]);
  3915		intel_de_write_dsb(display, dsb, PLANE_CSC_COEFF(pipe, plane, 1),
  3916				   coeffs[2] << 16);
  3917	
  3918		intel_de_write_dsb(display, dsb, PLANE_CSC_COEFF(pipe, plane, 2),
  3919				   coeffs[3] << 16 | coeffs[4]);
  3920		intel_de_write_dsb(display, dsb, PLANE_CSC_COEFF(pipe, plane, 3),
  3921				   coeffs[5] << 16);
  3922	
  3923		intel_de_write_dsb(display, dsb, PLANE_CSC_COEFF(pipe, plane, 4),
  3924				   coeffs[6] << 16 | coeffs[7]);
  3925		intel_de_write_dsb(display, dsb, PLANE_CSC_COEFF(pipe, plane, 5),
  3926				   coeffs[8] << 16);
  3927	
  3928		intel_de_write_dsb(display, dsb, PLANE_CSC_PREOFF(pipe, plane, 0), 0);
  3929		intel_de_write_dsb(display, dsb, PLANE_CSC_PREOFF(pipe, plane, 1), 0);
  3930		intel_de_write_dsb(display, dsb, PLANE_CSC_PREOFF(pipe, plane, 2), 0);
  3931	
  3932		/*
  3933		 * Conversion from S31.32 to S0.12. BIT[12] is the signed bit
  3934		 */
  3935		intel_de_write_dsb(display, dsb,
  3936				   PLANE_CSC_POSTOFF(pipe, plane, 0),
  3937				   ctm_to_twos_complement(input[3], 0, 12));
  3938		intel_de_write_dsb(display, dsb,
  3939				   PLANE_CSC_POSTOFF(pipe, plane, 1),
  3940				   ctm_to_twos_complement(input[7], 0, 12));
  3941		intel_de_write_dsb(display, dsb,
  3942				   PLANE_CSC_POSTOFF(pipe, plane, 2),
  3943				   ctm_to_twos_complement(input[11], 0, 12));
  3944	}
  3945	
  3946	static void
  3947	xelpd_program_plane_pre_csc_lut(struct intel_dsb *dsb,
  3948					const struct intel_plane_state *plane_state)
  3949	{
  3950		struct intel_display *display = to_intel_display(plane_state);
  3951		const struct drm_plane_state *state = &plane_state->uapi;
  3952		enum pipe pipe = to_intel_plane(state->plane)->pipe;
  3953		enum plane_id plane = to_intel_plane(state->plane)->id;
  3954		const struct drm_color_lut32 *pre_csc_lut = plane_state->hw.degamma_lut->data;
  3955		u32 i, lut_size;
  3956	
  3957		if (icl_is_hdr_plane(display, plane)) {
  3958			lut_size = 128;
  3959	
  3960			intel_de_write_dsb(display, dsb,
  3961					   PLANE_PRE_CSC_GAMC_INDEX_ENH(pipe, plane, 0),
  3962					   PLANE_PAL_PREC_AUTO_INCREMENT);
  3963	
  3964			if (pre_csc_lut) {
  3965				for (i = 0; i < lut_size; i++) {
> 3966					u32 lut_val = drm_color_lut32_extract(pre_csc_lut[i].green, 24);
  3967	
  3968					intel_de_write_dsb(display, dsb,
  3969							   PLANE_PRE_CSC_GAMC_DATA_ENH(pipe, plane, 0),
  3970							   lut_val);
  3971				}
  3972	
  3973				/* Program the max register to clamp values > 1.0. */
  3974				/* TODO: Restrict to 0x7ffffff */
  3975				do {
  3976					intel_de_write_dsb(display, dsb,
  3977							   PLANE_PRE_CSC_GAMC_DATA_ENH(pipe, plane, 0),
  3978							   (1 << 24));
  3979				} while (i++ > 130);
  3980			} else {
  3981				for (i = 0; i < lut_size; i++) {
  3982					u32 v = (i * ((1 << 24) - 1)) / (lut_size - 1);
  3983	
  3984					intel_de_write_dsb(display, dsb,
  3985							   PLANE_PRE_CSC_GAMC_DATA_ENH(pipe, plane, 0), v);
  3986				}
  3987	
  3988				do {
  3989					intel_de_write_dsb(display, dsb,
  3990							   PLANE_PRE_CSC_GAMC_DATA_ENH(pipe, plane, 0),
  3991							   1 << 24);
  3992				} while (i++ < 130);
  3993			}
  3994	
  3995			intel_de_write_dsb(display, dsb, PLANE_PRE_CSC_GAMC_INDEX_ENH(pipe, plane, 0), 0);
  3996		}
  3997	}
  3998	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  parent reply	other threads:[~2025-12-01 19:29 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-01  6:46 [v7 00/15] Plane Color Pipeline support for Intel platforms Uma Shankar
2025-12-01  6:46 ` [v7 01/15] drm/i915/display: Add identifiers for driver specific blocks Uma Shankar
2025-12-02  7:42   ` [v7, " Murthy, Arun R
2025-12-02  8:04     ` Borah, Chaitanya Kumar
2025-12-01  6:46 ` [v7 02/15] drm/i915: Add intel_color_op Uma Shankar
2025-12-01 14:21   ` kernel test robot
2025-12-01  6:46 ` [v7 03/15] drm/i915/color: Add helper to create intel colorop Uma Shankar
2025-12-01  6:46 ` [v7 04/15] drm/i915/color: Create a transfer function color pipeline Uma Shankar
2025-12-01  9:02   ` Kandpal, Suraj
2025-12-01 15:55   ` kernel test robot
2025-12-02  7:56   ` [v7,04/15] " Murthy, Arun R
2025-12-02  8:20     ` Borah, Chaitanya Kumar
2025-12-01  6:46 ` [v7 05/15] drm/i915/color: Add framework to program CSC Uma Shankar
2025-12-01  9:05   ` Kandpal, Suraj
2025-12-01 15:45   ` kernel test robot
2025-12-01  6:46 ` [v7 06/15] drm/i915/color: Preserve sign bit when int_bits is Zero Uma Shankar
2025-12-01  6:46 ` [v7 07/15] drm/i915/color: Add plane CTM callback for D12 and beyond Uma Shankar
2025-12-01  9:16   ` Kandpal, Suraj
2025-12-01 18:13   ` kernel test robot
2025-12-01  6:46 ` [v7 08/15] drm/i915: Add register definitions for Plane Degamma Uma Shankar
2025-12-01  9:18   ` Kandpal, Suraj
2025-12-01  6:46 ` [v7 09/15] drm/i915: Add register definitions for Plane Post CSC Uma Shankar
2025-12-01  9:21   ` Kandpal, Suraj
2025-12-01  6:46 ` [v7 10/15] drm/i915/color: Add framework to program PRE/POST CSC LUT Uma Shankar
2025-12-01  9:23   ` Kandpal, Suraj
2025-12-01  6:46 ` [v7 11/15] drm/i915/color: Program Pre-CSC registers Uma Shankar
2025-12-01  9:24   ` Kandpal, Suraj
2025-12-02  8:24     ` Shankar, Uma
2025-12-02 16:00       ` Kandpal, Suraj
2025-12-01 19:28   ` kernel test robot [this message]
2025-12-01  6:46 ` [v7 12/15] drm/i915/xelpd: Program Plane Post CSC Registers Uma Shankar
2025-12-02 15:32   ` Kandpal, Suraj
2025-12-02 16:10     ` Kandpal, Suraj
2025-12-01  6:46 ` [v7 13/15] drm/i915/display: Add registers for 3D LUT Uma Shankar
2025-12-01  9:26   ` Kandpal, Suraj
2025-12-01  6:46 ` [v7 14/15] drm/i915/color: Add 3D LUT to color pipeline Uma Shankar
2025-12-02 15:42   ` Kandpal, Suraj
2025-12-01  6:46 ` [v7 15/15] drm/i915/color: Enable Plane Color Pipelines Uma Shankar
2025-12-01 21:14   ` kernel test robot
2025-12-01  6:47 ` ✗ CI.checkpatch: warning for Plane Color Pipeline support for Intel platforms (rev6) Patchwork
2025-12-01  6:48 ` ✓ CI.KUnit: success " Patchwork
2025-12-01  7:03 ` ✗ CI.checksparse: warning " Patchwork
2025-12-01  7:48 ` ✓ i915.CI.BAT: success for Plane Color Pipeline support for Intel platforms (rev7) Patchwork
2025-12-01  7:50 ` ✓ Xe.CI.BAT: success for Plane Color Pipeline support for Intel platforms (rev6) Patchwork
2025-12-01  8:41 ` ✗ Xe.CI.Full: failure " Patchwork
2025-12-01  9:11 ` ✗ i915.CI.Full: failure for Plane Color Pipeline support for Intel platforms (rev7) Patchwork
2025-12-02  5:06 ` ✓ i915.CI.Full: success " 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=202512020343.7KKu4M4I-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alex.hung@amd.com \
    --cc=chaitanya.kumar.borah@intel.com \
    --cc=contact@emersion.fr \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jadahl@redhat.com \
    --cc=jani.nikula@intel.com \
    --cc=mwen@igalia.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pekka.paalanen@collabora.com \
    --cc=sebastian.wick@redhat.com \
    --cc=suraj.kandpal@intel.com \
    --cc=swati2.sharma@intel.com \
    --cc=uma.shankar@intel.com \
    --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.