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
next prev 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.