mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Harry Wentland <harry.wentland@amd.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Alex Hung <alex.hung@amd.com>
Subject: drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1590:48: sparse: sparse: incorrect type in assignment (different base types)
Date: Sat, 18 Jul 2026 07:22:56 +0800	[thread overview]
Message-ID: <202607180739.2fo10qKo-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   af5e34a41cd607c00ef752e00331736570992354
commit: af3f2f5db2659a13c256d2fb096c473eb50412ef drm/amdgpu: Remove UML build exclusion from Kconfig
date:   9 weeks ago
config: um-randconfig-r133-20260717 (https://download.01.org/0day-ci/archive/20260718/202607180739.2fo10qKo-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260718/202607180739.2fo10qKo-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
| Fixes: af3f2f5db265 ("drm/amdgpu: Remove UML build exclusion from Kconfig")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607180739.2fo10qKo-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1590:48: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1590:48: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1590:48: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1591:48: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1591:48: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1591:48: sparse:     got restricted __be16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1629:25: sparse: sparse: restricted __be16 degrades to integer
>> drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1629:64: sparse: sparse: restricted __le16 degrades to integer
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1631:25: sparse: sparse: restricted __be16 degrades to integer
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1631:61: sparse: sparse: restricted __le16 degrades to integer
>> drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1639:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] min_abm_backlight @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1639:38: sparse:     expected unsigned short [usertype] min_abm_backlight
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1639:38: sparse:     got restricted __be16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1643:36: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] blRampReduction @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1643:36: sparse:     expected unsigned short [usertype] blRampReduction
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1643:36: sparse:     got restricted __be16 [usertype]
>> drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1645:32: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] blRampStart @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1645:32: sparse:     expected unsigned short [usertype] blRampStart
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1645:32: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1780:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1780:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1780:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1781:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1781:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1781:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1782:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1782:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1782:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1783:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1783:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1783:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1784:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1784:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1784:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1785:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1785:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1785:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1786:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1786:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1786:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1787:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1787:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1787:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1788:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1788:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1788:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1789:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1789:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1789:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1790:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1790:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1790:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1791:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1791:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1791:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1792:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1792:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1792:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1793:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1793:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1793:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1794:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1794:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1794:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1795:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1795:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1795:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1796:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1796:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1796:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1797:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1797:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1797:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1798:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1798:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1798:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1799:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1799:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1799:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1800:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1800:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1800:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1801:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1801:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1801:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1802:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1802:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1802:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1803:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1803:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1803:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1815:38: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] min_abm_backlight @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1815:38: sparse:     expected unsigned short [usertype] min_abm_backlight
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1815:38: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1926:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1926:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1926:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1927:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1927:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1927:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1928:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1928:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1928:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1929:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1929:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1929:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1930:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1930:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1930:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1931:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1931:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1931:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1932:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1932:35: sparse:     expected unsigned short
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1932:35: sparse:     got restricted __be16 [usertype]
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1933:35: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short @@     got restricted __be16 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c:1933:35: sparse:     expected unsigned short

vim +1590 drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_abm.c

254a47ce0c8a52 Lohita Mudimela 2026-03-10  1555  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1556  static void fill_backlight_transform_table(struct dmcu_iram_parameters params,
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1557  		struct iram_table_v_2 *table)
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1558  {
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1559  	unsigned int i;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1560  	unsigned int num_entries = NUM_BL_CURVE_SEGS;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1561  	unsigned int lut_index;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1562  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1563  	table->backlight_thresholds[0] = 0;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1564  	ASSERT(params.backlight_lut_array[0] <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1565  	table->backlight_offsets[0] = (uint16_t)params.backlight_lut_array[0];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1566  	table->backlight_thresholds[num_entries-1] = 0xFFFF;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1567  	ASSERT(params.backlight_lut_array[params.backlight_lut_array_size - 1] <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1568  	table->backlight_offsets[num_entries-1] =
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1569  		(uint16_t)params.backlight_lut_array[params.backlight_lut_array_size - 1];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1570  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1571  	/* Setup all brightness levels between 0% and 100% exclusive
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1572  	 * Fills brightness-to-backlight transform table. Backlight custom curve
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1573  	 * describes transform from brightness to backlight. It will be defined
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1574  	 * as set of thresholds and set of offsets, together, implying
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1575  	 * extrapolation of custom curve into 16 uniformly spanned linear
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1576  	 * segments.  Each threshold/offset represented by 16 bit entry in
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1577  	 * format U4.10.
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1578  	 */
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1579  	for (i = 1; i+1 < num_entries; i++) {
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1580  		lut_index = (params.backlight_lut_array_size - 1) * i / (num_entries - 1);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1581  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1582  		ASSERT(lut_index < params.backlight_lut_array_size);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1583  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1584  		unsigned int threshold_val = DIV_ROUNDUP((i * 65536), num_entries);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1585  		unsigned int offset_val = params.backlight_lut_array[lut_index];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1586  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1587  		ASSERT(threshold_val <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1588  		ASSERT(offset_val <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1589  
254a47ce0c8a52 Lohita Mudimela 2026-03-10 @1590  		table->backlight_thresholds[i] = cpu_to_be16((uint16_t)threshold_val);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1591  		table->backlight_offsets[i]    = cpu_to_be16((uint16_t)offset_val);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1592  	}
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1593  }
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1594  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1595  static void fill_backlight_transform_table_v_2_2(struct dmcu_iram_parameters params,
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1596  		struct iram_table_v_2_2 *table, bool big_endian)
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1597  {
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1598  	unsigned int i;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1599  	unsigned int num_entries = NUM_BL_CURVE_SEGS;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1600  	unsigned int lut_index;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1601  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1602  	table->backlight_thresholds[0] = 0;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1603  	ASSERT(params.backlight_lut_array[0] <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1604  	table->backlight_offsets[0] = (uint16_t)params.backlight_lut_array[0];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1605  	table->backlight_thresholds[num_entries-1] = 0xFFFF;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1606  	ASSERT(params.backlight_lut_array[params.backlight_lut_array_size - 1] <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1607  	table->backlight_offsets[num_entries-1] =
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1608  		(uint16_t)params.backlight_lut_array[params.backlight_lut_array_size - 1];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1609  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1610  	/* Setup all brightness levels between 0% and 100% exclusive
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1611  	 * Fills brightness-to-backlight transform table. Backlight custom curve
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1612  	 * describes transform from brightness to backlight. It will be defined
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1613  	 * as set of thresholds and set of offsets, together, implying
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1614  	 * extrapolation of custom curve into 16 uniformly spanned linear
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1615  	 * segments.  Each threshold/offset represented by 16 bit entry in
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1616  	 * format U4.10.
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1617  	 */
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1618  	for (i = 1; i+1 < num_entries; i++) {
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1619  		lut_index = DIV_ROUNDUP((i * params.backlight_lut_array_size), num_entries);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1620  		ASSERT(lut_index < params.backlight_lut_array_size);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1621  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1622  		unsigned int threshold_val = DIV_ROUNDUP((i * 65536), num_entries);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1623  		unsigned int offset_val = params.backlight_lut_array[lut_index];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1624  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1625  		ASSERT(threshold_val <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1626  		ASSERT(offset_val <= 0xFFFF);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1627  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1628  		table->backlight_thresholds[i] = (big_endian) ?
254a47ce0c8a52 Lohita Mudimela 2026-03-10 @1629  			cpu_to_be16((uint16_t)threshold_val) : cpu_to_le16((uint16_t)threshold_val);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1630  		table->backlight_offsets[i] = (big_endian) ?
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1631  			cpu_to_be16((uint16_t)offset_val) : cpu_to_le16((uint16_t)offset_val);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1632  	}
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1633  }
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1634  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1635  static void fill_iram_v_2(struct iram_table_v_2 *ram_table, struct dmcu_iram_parameters params)
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1636  {
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1637  	unsigned int set = params.set;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1638  
254a47ce0c8a52 Lohita Mudimela 2026-03-10 @1639  	ram_table->min_abm_backlight =
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1640  			cpu_to_be16(params.min_abm_backlight);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1641  	ram_table->deviation_gain = 0xb3;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1642  
254a47ce0c8a52 Lohita Mudimela 2026-03-10 @1643  	ram_table->blRampReduction =
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1644  		cpu_to_be16(params.backlight_ramping_reduction);
254a47ce0c8a52 Lohita Mudimela 2026-03-10 @1645  	ram_table->blRampStart =
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1646  		cpu_to_be16(params.backlight_ramping_start);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1647  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1648  	ram_table->min_reduction[0][0] = min_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1649  	ram_table->min_reduction[1][0] = min_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1650  	ram_table->min_reduction[2][0] = min_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1651  	ram_table->min_reduction[3][0] = min_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1652  	ram_table->min_reduction[4][0] = min_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1653  	ram_table->max_reduction[0][0] = max_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1654  	ram_table->max_reduction[1][0] = max_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1655  	ram_table->max_reduction[2][0] = max_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1656  	ram_table->max_reduction[3][0] = max_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1657  	ram_table->max_reduction[4][0] = max_reduction_table[abm_config[set][0]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1658  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1659  	ram_table->min_reduction[0][1] = min_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1660  	ram_table->min_reduction[1][1] = min_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1661  	ram_table->min_reduction[2][1] = min_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1662  	ram_table->min_reduction[3][1] = min_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1663  	ram_table->min_reduction[4][1] = min_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1664  	ram_table->max_reduction[0][1] = max_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1665  	ram_table->max_reduction[1][1] = max_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1666  	ram_table->max_reduction[2][1] = max_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1667  	ram_table->max_reduction[3][1] = max_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1668  	ram_table->max_reduction[4][1] = max_reduction_table[abm_config[set][1]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1669  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1670  	ram_table->min_reduction[0][2] = min_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1671  	ram_table->min_reduction[1][2] = min_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1672  	ram_table->min_reduction[2][2] = min_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1673  	ram_table->min_reduction[3][2] = min_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1674  	ram_table->min_reduction[4][2] = min_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1675  	ram_table->max_reduction[0][2] = max_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1676  	ram_table->max_reduction[1][2] = max_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1677  	ram_table->max_reduction[2][2] = max_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1678  	ram_table->max_reduction[3][2] = max_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1679  	ram_table->max_reduction[4][2] = max_reduction_table[abm_config[set][2]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1680  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1681  	ram_table->min_reduction[0][3] = min_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1682  	ram_table->min_reduction[1][3] = min_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1683  	ram_table->min_reduction[2][3] = min_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1684  	ram_table->min_reduction[3][3] = min_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1685  	ram_table->min_reduction[4][3] = min_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1686  	ram_table->max_reduction[0][3] = max_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1687  	ram_table->max_reduction[1][3] = max_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1688  	ram_table->max_reduction[2][3] = max_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1689  	ram_table->max_reduction[3][3] = max_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1690  	ram_table->max_reduction[4][3] = max_reduction_table[abm_config[set][3]];
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1691  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1692  	ram_table->bright_pos_gain[0][0] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1693  	ram_table->bright_pos_gain[0][1] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1694  	ram_table->bright_pos_gain[0][2] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1695  	ram_table->bright_pos_gain[0][3] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1696  	ram_table->bright_pos_gain[1][0] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1697  	ram_table->bright_pos_gain[1][1] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1698  	ram_table->bright_pos_gain[1][2] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1699  	ram_table->bright_pos_gain[1][3] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1700  	ram_table->bright_pos_gain[2][0] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1701  	ram_table->bright_pos_gain[2][1] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1702  	ram_table->bright_pos_gain[2][2] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1703  	ram_table->bright_pos_gain[2][3] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1704  	ram_table->bright_pos_gain[3][0] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1705  	ram_table->bright_pos_gain[3][1] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1706  	ram_table->bright_pos_gain[3][2] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1707  	ram_table->bright_pos_gain[3][3] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1708  	ram_table->bright_pos_gain[4][0] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1709  	ram_table->bright_pos_gain[4][1] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1710  	ram_table->bright_pos_gain[4][2] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1711  	ram_table->bright_pos_gain[4][3] = 0x20;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1712  	ram_table->bright_neg_gain[0][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1713  	ram_table->bright_neg_gain[0][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1714  	ram_table->bright_neg_gain[0][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1715  	ram_table->bright_neg_gain[0][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1716  	ram_table->bright_neg_gain[1][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1717  	ram_table->bright_neg_gain[1][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1718  	ram_table->bright_neg_gain[1][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1719  	ram_table->bright_neg_gain[1][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1720  	ram_table->bright_neg_gain[2][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1721  	ram_table->bright_neg_gain[2][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1722  	ram_table->bright_neg_gain[2][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1723  	ram_table->bright_neg_gain[2][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1724  	ram_table->bright_neg_gain[3][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1725  	ram_table->bright_neg_gain[3][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1726  	ram_table->bright_neg_gain[3][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1727  	ram_table->bright_neg_gain[3][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1728  	ram_table->bright_neg_gain[4][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1729  	ram_table->bright_neg_gain[4][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1730  	ram_table->bright_neg_gain[4][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1731  	ram_table->bright_neg_gain[4][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1732  	ram_table->dark_pos_gain[0][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1733  	ram_table->dark_pos_gain[0][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1734  	ram_table->dark_pos_gain[0][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1735  	ram_table->dark_pos_gain[0][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1736  	ram_table->dark_pos_gain[1][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1737  	ram_table->dark_pos_gain[1][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1738  	ram_table->dark_pos_gain[1][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1739  	ram_table->dark_pos_gain[1][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1740  	ram_table->dark_pos_gain[2][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1741  	ram_table->dark_pos_gain[2][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1742  	ram_table->dark_pos_gain[2][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1743  	ram_table->dark_pos_gain[2][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1744  	ram_table->dark_pos_gain[3][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1745  	ram_table->dark_pos_gain[3][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1746  	ram_table->dark_pos_gain[3][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1747  	ram_table->dark_pos_gain[3][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1748  	ram_table->dark_pos_gain[4][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1749  	ram_table->dark_pos_gain[4][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1750  	ram_table->dark_pos_gain[4][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1751  	ram_table->dark_pos_gain[4][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1752  	ram_table->dark_neg_gain[0][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1753  	ram_table->dark_neg_gain[0][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1754  	ram_table->dark_neg_gain[0][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1755  	ram_table->dark_neg_gain[0][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1756  	ram_table->dark_neg_gain[1][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1757  	ram_table->dark_neg_gain[1][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1758  	ram_table->dark_neg_gain[1][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1759  	ram_table->dark_neg_gain[1][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1760  	ram_table->dark_neg_gain[2][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1761  	ram_table->dark_neg_gain[2][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1762  	ram_table->dark_neg_gain[2][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1763  	ram_table->dark_neg_gain[2][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1764  	ram_table->dark_neg_gain[3][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1765  	ram_table->dark_neg_gain[3][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1766  	ram_table->dark_neg_gain[3][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1767  	ram_table->dark_neg_gain[3][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1768  	ram_table->dark_neg_gain[4][0] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1769  	ram_table->dark_neg_gain[4][1] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1770  	ram_table->dark_neg_gain[4][2] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1771  	ram_table->dark_neg_gain[4][3] = 0x00;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1772  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1773  	ram_table->iir_curve[0] = 0x65;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1774  	ram_table->iir_curve[1] = 0x65;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1775  	ram_table->iir_curve[2] = 0x65;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1776  	ram_table->iir_curve[3] = 0x65;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1777  	ram_table->iir_curve[4] = 0x65;
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1778  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1779  	//Gamma 2.4
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1780  	ram_table->crgb_thresh[0] = cpu_to_be16(0x13b6);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1781  	ram_table->crgb_thresh[1] = cpu_to_be16(0x1648);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1782  	ram_table->crgb_thresh[2] = cpu_to_be16(0x18e3);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1783  	ram_table->crgb_thresh[3] = cpu_to_be16(0x1b41);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1784  	ram_table->crgb_thresh[4] = cpu_to_be16(0x1d46);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1785  	ram_table->crgb_thresh[5] = cpu_to_be16(0x1f21);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1786  	ram_table->crgb_thresh[6] = cpu_to_be16(0x2167);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1787  	ram_table->crgb_thresh[7] = cpu_to_be16(0x2384);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1788  	ram_table->crgb_offset[0] = cpu_to_be16(0x2999);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1789  	ram_table->crgb_offset[1] = cpu_to_be16(0x3999);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1790  	ram_table->crgb_offset[2] = cpu_to_be16(0x4666);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1791  	ram_table->crgb_offset[3] = cpu_to_be16(0x5999);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1792  	ram_table->crgb_offset[4] = cpu_to_be16(0x6333);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1793  	ram_table->crgb_offset[5] = cpu_to_be16(0x7800);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1794  	ram_table->crgb_offset[6] = cpu_to_be16(0x8c00);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1795  	ram_table->crgb_offset[7] = cpu_to_be16(0xa000);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1796  	ram_table->crgb_slope[0]  = cpu_to_be16(0x3147);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1797  	ram_table->crgb_slope[1]  = cpu_to_be16(0x2978);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1798  	ram_table->crgb_slope[2]  = cpu_to_be16(0x23a2);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1799  	ram_table->crgb_slope[3]  = cpu_to_be16(0x1f55);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1800  	ram_table->crgb_slope[4]  = cpu_to_be16(0x1c63);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1801  	ram_table->crgb_slope[5]  = cpu_to_be16(0x1a0f);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1802  	ram_table->crgb_slope[6]  = cpu_to_be16(0x178d);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1803  	ram_table->crgb_slope[7]  = cpu_to_be16(0x15ab);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1804  
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1805  	fill_backlight_transform_table(
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1806  			params, ram_table);
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1807  }
254a47ce0c8a52 Lohita Mudimela 2026-03-10  1808  

:::::: The code at line 1590 was first introduced by commit
:::::: 254a47ce0c8a52ff78a60f92a13b56db69f69096 drm/amd/display: Separate ABM functions into dedicated power_abm.c file

:::::: TO: Lohita Mudimela <lohita.mudimela@amd.com>
:::::: CC: Alex Deucher <alexander.deucher@amd.com>

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

                 reply	other threads:[~2026-07-17 23:23 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202607180739.2fo10qKo-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alex.hung@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=harry.wentland@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox