[sashal-stable:pending-5.14 399/754] drivers/gpu/drm/msm/dsi/dsi_host.c:2503:27: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CTRL'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.14
head: e4110877838108b22ddd621970275e5e2c54b178
commit: da2eb9a67dfe8425ea0a74ec43bf569307824509 [399/754] drm/msm/dsi: add support for dsi test pattern generator
config: arm64-randconfig-r032-20211114 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c3dddeeafb529e769cde87bd29ef6271ac6bfa5c)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.14
git checkout da2eb9a67dfe8425ea0a74ec43bf569307824509
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/drm/msm/ dtbs
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2503:27: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CTRL'
reg = dsi_read(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2505:22: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_VIDEO_INIT_VAL'
dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_VIDEO_INIT_VAL, 0xff);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2507:22: error: use of undeclared identifier 'REG_DSI_TPG_MAIN_CONTROL'
dsi_write(msm_host, REG_DSI_TPG_MAIN_CONTROL,
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2508:4: error: use of undeclared identifier 'DSI_TPG_MAIN_CONTROL_CHECKERED_RECTANGLE_PATTERN'
DSI_TPG_MAIN_CONTROL_CHECKERED_RECTANGLE_PATTERN);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2511:4: error: implicit declaration of function 'DSI_TPG_VIDEO_CONFIG_BPP' [-Werror,-Wimplicit-function-declaration]
DSI_TPG_VIDEO_CONFIG_BPP(VIDEO_CONFIG_24BPP) |
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2510:22: error: use of undeclared identifier 'REG_DSI_TPG_VIDEO_CONFIG'
dsi_write(msm_host, REG_DSI_TPG_VIDEO_CONFIG,
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2511:29: error: use of undeclared identifier 'VIDEO_CONFIG_24BPP'
DSI_TPG_VIDEO_CONFIG_BPP(VIDEO_CONFIG_24BPP) |
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2512:4: error: use of undeclared identifier 'DSI_TPG_VIDEO_CONFIG_RGB'
DSI_TPG_VIDEO_CONFIG_RGB);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2514:9: error: implicit declaration of function 'DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL' [-Werror,-Wimplicit-function-declaration]
reg |= DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL(VID_MDSS_GENERAL_PATTERN);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2514:53: error: use of undeclared identifier 'VID_MDSS_GENERAL_PATTERN'
reg |= DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL(VID_MDSS_GENERAL_PATTERN);
^
drivers/gpu/drm/msm/dsi/dsi_host.c:2515:22: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CTRL'
dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL, reg);
^
drivers/gpu/drm/msm/dsi/dsi_host.c:2524:27: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CTRL'
reg = dsi_read(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2527:22: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CMD_MDP_INIT_VAL0'
dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_CMD_MDP_INIT_VAL0, 0xff);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2529:9: error: implicit declaration of function 'DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL' [-Werror,-Wimplicit-function-declaration]
reg |= DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL(CMD_MDP_MDSS_GENERAL_PATTERN);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2529:63: error: use of undeclared identifier 'CMD_MDP_MDSS_GENERAL_PATTERN'
reg |= DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL(CMD_MDP_MDSS_GENERAL_PATTERN);
^
drivers/gpu/drm/msm/dsi/dsi_host.c:2531:22: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CTRL'
dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL, reg);
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2533:22: error: use of undeclared identifier 'REG_DSI_TPG_MAIN_CONTROL2'
dsi_write(msm_host, REG_DSI_TPG_MAIN_CONTROL2,
^
>> drivers/gpu/drm/msm/dsi/dsi_host.c:2534:4: error: use of undeclared identifier 'DSI_TPG_MAIN_CONTROL2_CMD_MDP0_CHECKERED_RECTANGLE_PATTERN'
DSI_TPG_MAIN_CONTROL2_CMD_MDP0_CHECKERED_RECTANGLE_PATTERN);
^
drivers/gpu/drm/msm/dsi/dsi_host.c:2550:27: error: use of undeclared identifier 'REG_DSI_TEST_PATTERN_GEN_CTRL'
reg = dsi_read(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL);
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
vim +/REG_DSI_TEST_PATTERN_GEN_CTRL +2503 drivers/gpu/drm/msm/dsi/dsi_host.c
2498
2499 static void msm_dsi_host_video_test_pattern_setup(struct msm_dsi_host *msm_host)
2500 {
2501 u32 reg;
2502
> 2503 reg = dsi_read(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL);
2504
> 2505 dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_VIDEO_INIT_VAL, 0xff);
2506 /* draw checkered rectangle pattern */
> 2507 dsi_write(msm_host, REG_DSI_TPG_MAIN_CONTROL,
> 2508 DSI_TPG_MAIN_CONTROL_CHECKERED_RECTANGLE_PATTERN);
2509 /* use 24-bit RGB test pttern */
> 2510 dsi_write(msm_host, REG_DSI_TPG_VIDEO_CONFIG,
> 2511 DSI_TPG_VIDEO_CONFIG_BPP(VIDEO_CONFIG_24BPP) |
> 2512 DSI_TPG_VIDEO_CONFIG_RGB);
2513
> 2514 reg |= DSI_TEST_PATTERN_GEN_CTRL_VIDEO_PATTERN_SEL(VID_MDSS_GENERAL_PATTERN);
2515 dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL, reg);
2516
2517 DBG("Video test pattern setup done\n");
2518 }
2519
2520 static void msm_dsi_host_cmd_test_pattern_setup(struct msm_dsi_host *msm_host)
2521 {
2522 u32 reg;
2523
2524 reg = dsi_read(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL);
2525
2526 /* initial value for test pattern */
> 2527 dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_CMD_MDP_INIT_VAL0, 0xff);
2528
> 2529 reg |= DSI_TEST_PATTERN_GEN_CTRL_CMD_MDP_STREAM0_PATTERN_SEL(CMD_MDP_MDSS_GENERAL_PATTERN);
2530
2531 dsi_write(msm_host, REG_DSI_TEST_PATTERN_GEN_CTRL, reg);
2532 /* draw checkered rectangle pattern */
> 2533 dsi_write(msm_host, REG_DSI_TPG_MAIN_CONTROL2,
> 2534 DSI_TPG_MAIN_CONTROL2_CMD_MDP0_CHECKERED_RECTANGLE_PATTERN);
2535
2536 DBG("Cmd test pattern setup done\n");
2537 }
2538
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[sashal-stable:pending-5.4 226/320] arch/s390/mm/gmap.c:687:21: warning: assignment to 'struct vm_area_struct *' from 'int' makes pointer from integer without a cast
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.4
head: 1f9e7a61c29e139420352f203f2aa2bad3bac189
commit: 25b543df1007266478f6e995ad92f1a5c51d8525 [226/320] s390/gmap: validate VMA in __gmap_zap()
config: s390-buildonly-randconfig-r002-20211114 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.4
git checkout 25b543df1007266478f6e995ad92f1a5c51d8525
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/s390/mm/gmap.c: In function '__gmap_zap':
arch/s390/mm/gmap.c:687:23: error: implicit declaration of function 'vma_lookup'; did you mean 'key_lookup'? [-Werror=implicit-function-declaration]
687 | vma = vma_lookup(gmap->mm, vmaddr);
| ^~~~~~~~~~
| key_lookup
>> arch/s390/mm/gmap.c:687:21: warning: assignment to 'struct vm_area_struct *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
687 | vma = vma_lookup(gmap->mm, vmaddr);
| ^
cc1: some warnings being treated as errors
vim +687 arch/s390/mm/gmap.c
670
671 /*
672 * this function is assumed to be called with mmap_sem held
673 */
674 void __gmap_zap(struct gmap *gmap, unsigned long gaddr)
675 {
676 struct vm_area_struct *vma;
677 unsigned long vmaddr;
678 spinlock_t *ptl;
679 pte_t *ptep;
680
681 /* Find the vm address for the guest address */
682 vmaddr = (unsigned long) radix_tree_lookup(&gmap->guest_to_host,
683 gaddr >> PMD_SHIFT);
684 if (vmaddr) {
685 vmaddr |= gaddr & ~PMD_MASK;
686
> 687 vma = vma_lookup(gmap->mm, vmaddr);
688 if (!vma || is_vm_hugetlb_page(vma))
689 return;
690
691 /* Get pointer to the page table entry */
692 ptep = get_locked_pte(gmap->mm, vmaddr, &ptl);
693 if (likely(ptep))
694 ptep_zap_unused(gmap->mm, vmaddr, ptep, 0);
695 pte_unmap_unlock(ptep, ptl);
696 }
697 }
698 EXPORT_SYMBOL_GPL(__gmap_zap);
699
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[frank-w-bpi-r2-4.14:5.15-rtl8367dsa 50/60] drivers/net/dsa/rtl8367s_mdio.c:1006:7: error: no previous prototype for 'rtl8367c_getAsicVlan4kEntry'
by kernel test robot
tree: https://github.com/frank-w/BPI-R2-4.14 5.15-rtl8367dsa
head: d23232d65379337787348ac851424897bf65ac92
commit: e011078a3905661586c48399e06ab99ab4be40c2 [50/60] net: dsa: rtl8367: add rtk_vlan_portPvid_set
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/frank-w/BPI-R2-4.14/commit/e011078a3905661586c48399e06...
git remote add frank-w-bpi-r2-4.14 https://github.com/frank-w/BPI-R2-4.14
git fetch --no-tags frank-w-bpi-r2-4.14 5.15-rtl8367dsa
git checkout e011078a3905661586c48399e06ab99ab4be40c2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the frank-w-bpi-r2-4.14/5.15-rtl8367dsa HEAD d23232d65379337787348ac851424897bf65ac92 builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
In file included from drivers/net/dsa/rtl8367s_mdio.c:23:
drivers/net/dsa/rtl8367s_mdio.h:884:15: error: no previous prototype for 'rtk_switch_logicalPortCheck' [-Werror=missing-prototypes]
884 | rtk_api_ret_t rtk_switch_logicalPortCheck(rtk_port_t logicalPort)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:897:12: error: no previous prototype for 'rtk_switch_phyPortMask_get' [-Werror=missing-prototypes]
897 | rtk_uint32 rtk_switch_phyPortMask_get(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:910:15: error: no previous prototype for 'rtk_switch_isExtPort' [-Werror=missing-prototypes]
910 | rtk_api_ret_t rtk_switch_isExtPort(rtk_port_t logicalPort)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:924:15: error: no previous prototype for 'rtk_switch_isUtpPort' [-Werror=missing-prototypes]
924 | rtk_api_ret_t rtk_switch_isUtpPort(rtk_port_t logicalPort)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:938:15: error: no previous prototype for 'rtk_switch_isHsgPort' [-Werror=missing-prototypes]
938 | rtk_api_ret_t rtk_switch_isHsgPort(rtk_port_t logicalPort)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:952:15: error: no previous prototype for 'rtk_switch_isSgmiiPort' [-Werror=missing-prototypes]
952 | rtk_api_ret_t rtk_switch_isSgmiiPort(rtk_port_t logicalPort)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:966:12: error: no previous prototype for 'rtk_switch_port_L2P_get' [-Werror=missing-prototypes]
966 | rtk_uint32 rtk_switch_port_L2P_get(rtk_port_t logicalPort)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:977:15: error: no previous prototype for 'rtk_switch_isPortMaskValid' [-Werror=missing-prototypes]
977 | rtk_api_ret_t rtk_switch_isPortMaskValid(rtk_portmask_t *pPmask)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:991:15: error: no previous prototype for 'rtk_switch_portmask_L2P_get' [-Werror=missing-prototypes]
991 | rtk_api_ret_t rtk_switch_portmask_L2P_get(rtk_portmask_t *pLogicalPmask, rtk_uint32 *pPhysicalPortmask)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.h:1019:12: error: no previous prototype for 'rtk_switch_maxMeterId_get' [-Werror=missing-prototypes]
1019 | rtk_uint32 rtk_switch_maxMeterId_get(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:46:14: error: no previous prototype for 'mii_mgr_read' [-Werror=missing-prototypes]
46 | unsigned int mii_mgr_read(unsigned int phy_addr,unsigned int phy_register,unsigned int *read_data)
| ^~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:59:14: error: no previous prototype for 'mii_mgr_write' [-Werror=missing-prototypes]
59 | unsigned int mii_mgr_write(unsigned int phy_addr,unsigned int phy_register,unsigned int write_data)
| ^~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:76:11: error: no previous prototype for 'smi_read' [-Werror=missing-prototypes]
76 | rtk_int32 smi_read(rtk_uint32 mAddrs, rtk_uint32 *rData)
| ^~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:105:11: error: no previous prototype for 'smi_write' [-Werror=missing-prototypes]
105 | rtk_int32 smi_write(rtk_uint32 mAddrs, rtk_uint32 rData)
| ^~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:137:7: error: no previous prototype for 'rtl8367c_setAsicReg' [-Werror=missing-prototypes]
137 | ret_t rtl8367c_setAsicReg(rtk_uint32 reg, rtk_uint32 value)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:148:7: error: no previous prototype for 'rtl8367c_getAsicReg' [-Werror=missing-prototypes]
148 | ret_t rtl8367c_getAsicReg(rtk_uint32 reg, rtk_uint32 *pValue)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:164:7: error: no previous prototype for 'rtl8367c_setAsicRegBit' [-Werror=missing-prototypes]
164 | ret_t rtl8367c_setAsicRegBit(rtk_uint32 reg, rtk_uint32 bit, rtk_uint32 value)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:188:7: error: no previous prototype for 'rtl8367c_getAsicRegBit' [-Werror=missing-prototypes]
188 | ret_t rtl8367c_getAsicRegBit(rtk_uint32 reg, rtk_uint32 bit, rtk_uint32 *pValue)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:203:7: error: no previous prototype for 'rtl8367c_getAsicRegBits' [-Werror=missing-prototypes]
203 | ret_t rtl8367c_getAsicRegBits(rtk_uint32 reg, rtk_uint32 bits, rtk_uint32 *pValue)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:229:7: error: no previous prototype for 'rtl8367c_setAsicRegBits' [-Werror=missing-prototypes]
229 | ret_t rtl8367c_setAsicRegBits(rtk_uint32 reg, rtk_uint32 bits, rtk_uint32 value)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:266:7: error: no previous prototype for 'rtl8367c_setAsicPHYOCPReg' [-Werror=missing-prototypes]
266 | ret_t rtl8367c_setAsicPHYOCPReg(rtk_uint32 phyNo, rtk_uint32 ocpAddr, rtk_uint32 ocpData )
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:287:7: error: no previous prototype for 'rtl8367c_getAsicPHYOCPReg' [-Werror=missing-prototypes]
287 | ret_t rtl8367c_getAsicPHYOCPReg(rtk_uint32 phyNo, rtk_uint32 ocpAddr, rtk_uint32 *pRegData )
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:308:7: error: no previous prototype for 'rtl8367c_setAsicSdsReg' [-Werror=missing-prototypes]
308 | ret_t rtl8367c_setAsicSdsReg(rtk_uint32 sdsId, rtk_uint32 sdsReg, rtk_uint32 sdsPage, rtk_uint32 value)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:325:7: error: no previous prototype for 'rtl8367c_getAsicSdsReg' [-Werror=missing-prototypes]
325 | ret_t rtl8367c_getAsicSdsReg(rtk_uint32 sdsId, rtk_uint32 sdsReg, rtk_uint32 sdsPage, rtk_uint32 *value)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:351:7: error: no previous prototype for 'rtl8367c_setAsicPHYReg' [-Werror=missing-prototypes]
351 | ret_t rtl8367c_setAsicPHYReg(rtk_uint32 phyNo, rtk_uint32 phyAddr, rtk_uint32 phyData )
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:362:7: error: no previous prototype for 'rtl8367c_getAsicPHYReg' [-Werror=missing-prototypes]
362 | ret_t rtl8367c_getAsicPHYReg(rtk_uint32 phyNo, rtk_uint32 phyAddr, rtk_uint32 *pRegData )
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:374:7: error: no previous prototype for 'rtl8367c_setAsicPortEnableAll' [-Werror=missing-prototypes]
374 | ret_t rtl8367c_setAsicPortEnableAll(rtk_uint32 enable)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:383:7: error: no previous prototype for 'rtl8367c_setAsicPortExtMode' [-Werror=missing-prototypes]
383 | ret_t rtl8367c_setAsicPortExtMode(rtk_uint32 id, rtk_uint32 mode)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:760:7: error: no previous prototype for 'rtl8367c_setAsicPortForceLinkExt' [-Werror=missing-prototypes]
760 | ret_t rtl8367c_setAsicPortForceLinkExt(rtk_uint32 id, rtl8367c_port_ability_t *pPortAbility)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:846:7: error: no previous prototype for 'rtl8367c_getAsicPortForceLinkExt' [-Werror=missing-prototypes]
846 | ret_t rtl8367c_getAsicPortForceLinkExt(rtk_uint32 id, rtl8367c_port_ability_t *pPortAbility)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/dsa/rtl8367s_mdio.c:1006:7: error: no previous prototype for 'rtl8367c_getAsicVlan4kEntry' [-Werror=missing-prototypes]
1006 | ret_t rtl8367c_getAsicVlan4kEntry(rtl8367c_user_vlan4kentry *pVlan4kEntry )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1078:7: error: no previous prototype for 'rtl8367c_setAsicVlan4kEntry' [-Werror=missing-prototypes]
1078 | ret_t rtl8367c_setAsicVlan4kEntry(rtl8367c_user_vlan4kentry *pVlan4kEntry )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/dsa/rtl8367s_mdio.c:1133:7: error: no previous prototype for 'rtl8367c_getAsicVlanMemberConfig' [-Werror=missing-prototypes]
1133 | ret_t rtl8367c_getAsicVlanMemberConfig(rtk_uint32 index, rtl8367c_vlanconfiguser *pVlanCg)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1164:7: error: no previous prototype for 'rtl8367c_setAsicVlanMemberConfig' [-Werror=missing-prototypes]
1164 | ret_t rtl8367c_setAsicVlanMemberConfig(rtk_uint32 index, rtl8367c_vlanconfiguser *pVlanCg)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1212:7: error: no previous prototype for 'rtl8367c_setAsicVlanEgressTagMode' [-Werror=missing-prototypes]
1212 | ret_t rtl8367c_setAsicVlanEgressTagMode(rtk_uint32 port, rtl8367c_egtagmode tagMode)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1223:7: error: no previous prototype for 'rtl8367c_setAsicVlanPortBasedVID' [-Werror=missing-prototypes]
1223 | ret_t rtl8367c_setAsicVlanPortBasedVID(rtk_uint32 port, rtk_uint32 index, rtk_uint32 pri)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1252:7: error: no previous prototype for 'rtl8367c_setAsicVlanIngressFilter' [-Werror=missing-prototypes]
1252 | ret_t rtl8367c_setAsicVlanIngressFilter(rtk_uint32 port, rtk_uint32 enabled)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1260:7: error: no previous prototype for 'rtl8367c_setAsicVlanFilter' [-Werror=missing-prototypes]
1260 | ret_t rtl8367c_setAsicVlanFilter(rtk_uint32 enabled)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1267:15: error: no previous prototype for 'rtk_port_macForceLinkExt_set' [-Werror=missing-prototypes]
1267 | rtk_api_ret_t rtk_port_macForceLinkExt_set(rtk_port_t port, rtk_mode_ext_t mode, rtk_port_mac_ability_t *pPortability)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1336:15: error: no previous prototype for 'rtk_port_phyReg_set' [-Werror=missing-prototypes]
1336 | rtk_api_ret_t rtk_port_phyReg_set(rtk_port_t port, rtk_port_phy_reg_t reg, rtk_port_phy_data_t regData)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1352:15: error: no previous prototype for 'rtk_port_phyReg_get' [-Werror=missing-prototypes]
1352 | rtk_api_ret_t rtk_port_phyReg_get(rtk_port_t port, rtk_port_phy_reg_t reg, rtk_port_phy_data_t *pData)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1368:15: error: no previous prototype for 'rtk_port_phyEnableAll_set' [-Werror=missing-prototypes]
1368 | rtk_api_ret_t rtk_port_phyEnableAll_set(rtk_enable_t enable)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1409:15: error: no previous prototype for 'rtk_port_rgmiiDelayExt_set' [-Werror=missing-prototypes]
1409 | rtk_api_ret_t rtk_port_rgmiiDelayExt_set(rtk_port_t port, rtk_data_t txDelay, rtk_data_t rxDelay)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1441:7: error: no previous prototype for 'rtl8367c_setSgmiiNway' [-Werror=missing-prototypes]
1441 | ret_t rtl8367c_setSgmiiNway(rtk_uint32 ext_id, rtk_uint32 state)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1528:15: error: no previous prototype for 'rtk_port_sgmiiNway_set' [-Werror=missing-prototypes]
1528 | rtk_api_ret_t rtk_port_sgmiiNway_set(rtk_port_t port, rtk_enable_t state)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:1548:7: error: no previous prototype for 'rtl8367c_resetVlan' [-Werror=missing-prototypes]
1548 | ret_t rtl8367c_resetVlan(void)
| ^~~~~~~~~~~~~~~~~~
>> drivers/net/dsa/rtl8367s_mdio.c:1643:15: error: no previous prototype for 'rtk_vlan_checkAndCreateMbr' [-Werror=missing-prototypes]
1643 | rtk_api_ret_t rtk_vlan_checkAndCreateMbr(rtk_vlan_t vid, rtk_uint32 *pIndex)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:2141:15: error: no previous prototype for 'rtk_switch_probe' [-Werror=missing-prototypes]
2141 | rtk_api_ret_t rtk_switch_probe(switch_chip_t *pSwitchChip)
| ^~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:2190:15: error: no previous prototype for 'rtk_switch_initialState_set' [-Werror=missing-prototypes]
2190 | rtk_api_ret_t rtk_switch_initialState_set(init_state_t state)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:2199:15: error: no previous prototype for 'rtk_switch_init' [-Werror=missing-prototypes]
2199 | rtk_api_ret_t rtk_switch_init(void)
| ^~~~~~~~~~~~~~~
drivers/net/dsa/rtl8367s_mdio.c:2310:6: error: no previous prototype for 'init_gsw' [-Werror=missing-prototypes]
2310 | void init_gsw(void)
| ^~~~~~~~
cc1: all warnings being treated as errors
vim +/rtl8367c_getAsicVlan4kEntry +1006 drivers/net/dsa/rtl8367s_mdio.c
1005
> 1006 ret_t rtl8367c_getAsicVlan4kEntry(rtl8367c_user_vlan4kentry *pVlan4kEntry )
1007 {
1008 rtk_uint16 vlan_4k_entry[RTL8367C_VLAN_4KTABLE_LEN];
1009 rtk_uint32 page_idx;
1010 rtk_uint16 *tableAddr;
1011 ret_t retVal;
1012 rtk_uint32 regData;
1013 rtk_uint32 busyCounter;
1014
1015 if(pVlan4kEntry->vid > RTL8367C_VIDMAX)
1016 return RT_ERR_VLAN_VID;
1017
1018 /* Polling status */
1019 busyCounter = RTL8367C_VLAN_BUSY_CHECK_NO;
1020 while(busyCounter)
1021 {
1022 retVal = rtl8367c_getAsicRegBit(RTL8367C_TABLE_ACCESS_STATUS_REG, RTL8367C_TABLE_LUT_ADDR_BUSY_FLAG_OFFSET,®Data);
1023 if(retVal != RT_ERR_OK)
1024 return retVal;
1025
1026 if(regData == 0)
1027 break;
1028
1029 busyCounter --;
1030 if(busyCounter == 0)
1031 return RT_ERR_BUSYWAIT_TIMEOUT;
1032 }
1033
1034 /* Write Address (VLAN_ID) */
1035 regData = pVlan4kEntry->vid;
1036 retVal = rtl8367c_setAsicReg(RTL8367C_TABLE_ACCESS_ADDR_REG, regData);
1037 if(retVal != RT_ERR_OK)
1038 return retVal;
1039
1040 /* Read Command */
1041 retVal = rtl8367c_setAsicRegBits(RTL8367C_TABLE_ACCESS_CTRL_REG, RTL8367C_TABLE_TYPE_MASK | RTL8367C_COMMAND_TYPE_MASK, RTL8367C_TABLE_ACCESS_REG_DATA(TB_OP_READ,TB_TARGET_CVLAN));
1042 if(retVal != RT_ERR_OK)
1043 return retVal;
1044
1045 /* Polling status */
1046 busyCounter = RTL8367C_VLAN_BUSY_CHECK_NO;
1047 while(busyCounter)
1048 {
1049 retVal = rtl8367c_getAsicRegBit(RTL8367C_TABLE_ACCESS_STATUS_REG, RTL8367C_TABLE_LUT_ADDR_BUSY_FLAG_OFFSET,®Data);
1050 if(retVal != RT_ERR_OK)
1051 return retVal;
1052
1053 if(regData == 0)
1054 break;
1055
1056 busyCounter --;
1057 if(busyCounter == 0)
1058 return RT_ERR_BUSYWAIT_TIMEOUT;
1059 }
1060
1061 /* Read VLAN data from register */
1062 tableAddr = vlan_4k_entry;
1063 for(page_idx = 0; page_idx < RTL8367C_VLAN_4KTABLE_LEN; page_idx++)
1064 {
1065 retVal = rtl8367c_getAsicReg(RTL8367C_TABLE_ACCESS_RDDATA_BASE + page_idx, ®Data);
1066 if(retVal != RT_ERR_OK)
1067 return retVal;
1068
1069 *tableAddr = regData;
1070 tableAddr++;
1071 }
1072
1073 _rtl8367c_Vlan4kStSmi2User(vlan_4k_entry, pVlan4kEntry);
1074
1075 return RT_ERR_OK;
1076 }
1077
1078 ret_t rtl8367c_setAsicVlan4kEntry(rtl8367c_user_vlan4kentry *pVlan4kEntry )
1079 {
1080 rtk_uint16 vlan_4k_entry[RTL8367C_VLAN_4KTABLE_LEN];
1081 rtk_uint32 page_idx;
1082 rtk_uint16 *tableAddr;
1083 ret_t retVal;
1084 rtk_uint32 regData;
1085
1086 if(pVlan4kEntry->vid > RTL8367C_VIDMAX)
1087 return RT_ERR_VLAN_VID;
1088
1089 if(pVlan4kEntry->mbr > RTL8367C_PORTMASK)
1090 return RT_ERR_PORT_MASK;
1091
1092 if(pVlan4kEntry->untag > RTL8367C_PORTMASK)
1093 return RT_ERR_PORT_MASK;
1094
1095 if(pVlan4kEntry->fid_msti > RTL8367C_FIDMAX)
1096 return RT_ERR_L2_FID;
1097
1098 if(pVlan4kEntry->meteridx > RTL8367C_METERMAX)
1099 return RT_ERR_FILTER_METER_ID;
1100
1101 if(pVlan4kEntry->vbpri > RTL8367C_PRIMAX)
1102 return RT_ERR_QOS_INT_PRIORITY;
1103
1104 memset(vlan_4k_entry, 0x00, sizeof(rtk_uint16) * RTL8367C_VLAN_4KTABLE_LEN);
1105 _rtl8367c_Vlan4kStUser2Smi(pVlan4kEntry, vlan_4k_entry);
1106
1107 /* Prepare Data */
1108 tableAddr = vlan_4k_entry;
1109 for(page_idx = 0; page_idx < RTL8367C_VLAN_4KTABLE_LEN; page_idx++)
1110 {
1111 regData = *tableAddr;
1112 retVal = rtl8367c_setAsicReg(RTL8367C_TABLE_ACCESS_WRDATA_BASE + page_idx, regData);
1113 if(retVal != RT_ERR_OK)
1114 return retVal;
1115
1116 tableAddr++;
1117 }
1118
1119 /* Write Address (VLAN_ID) */
1120 regData = pVlan4kEntry->vid;
1121 retVal = rtl8367c_setAsicReg(RTL8367C_TABLE_ACCESS_ADDR_REG, regData);
1122 if(retVal != RT_ERR_OK)
1123 return retVal;
1124
1125 /* Write Command */
1126 retVal = rtl8367c_setAsicRegBits(RTL8367C_TABLE_ACCESS_CTRL_REG, RTL8367C_TABLE_TYPE_MASK | RTL8367C_COMMAND_TYPE_MASK,RTL8367C_TABLE_ACCESS_REG_DATA(TB_OP_WRITE,TB_TARGET_CVLAN));
1127 if(retVal != RT_ERR_OK)
1128 return retVal;
1129
1130 return RT_ERR_OK;
1131 }
1132
> 1133 ret_t rtl8367c_getAsicVlanMemberConfig(rtk_uint32 index, rtl8367c_vlanconfiguser *pVlanCg)
1134 {
1135 ret_t retVal;
1136 rtk_uint32 page_idx;
1137 rtk_uint32 regAddr;
1138 rtk_uint32 regData;
1139 rtk_uint16 *tableAddr;
1140 rtk_uint16 smi_vlancfg[RTL8367C_VLAN_MBRCFG_LEN];
1141
1142 if(index > RTL8367C_CVIDXMAX)
1143 return RT_ERR_VLAN_ENTRY_NOT_FOUND;
1144
1145 memset(smi_vlancfg, 0x00, sizeof(rtk_uint16) * RTL8367C_VLAN_MBRCFG_LEN);
1146 tableAddr = smi_vlancfg;
1147
1148 for(page_idx = 0; page_idx < 4; page_idx++) /* 4 pages per VLAN Member Config */
1149 {
1150 regAddr = RTL8367C_VLAN_MEMBER_CONFIGURATION_BASE + (index * 4) + page_idx;
1151
1152 retVal = rtl8367c_getAsicReg(regAddr, ®Data);
1153 if(retVal != RT_ERR_OK)
1154 return retVal;
1155
1156 *tableAddr = (rtk_uint16)regData;
1157 tableAddr++;
1158 }
1159
1160 _rtl8367c_VlanMCStSmi2User(smi_vlancfg, pVlanCg);
1161 return RT_ERR_OK;
1162 }
1163
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[sashal-stable:pending-4.14 130/187] arch/s390/mm/pgtable.c:910:6: warning: assignment makes pointer from integer without a cast
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-4.14
head: a67b765989deadd03ac363cb8616888a19ad3931
commit: ff65578d514341990a07acb386fad50cc31abc97 [130/187] s390/mm: validate VMA in PGSTE manipulation functions
config: s390-randconfig-r001-20211114 (attached as .config)
compiler: s390-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-4.14
git checkout ff65578d514341990a07acb386fad50cc31abc97
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
arch/s390/mm/pgtable.c: In function 'pgste_perform_essa':
arch/s390/mm/pgtable.c:910:8: error: implicit declaration of function 'vma_lookup'; did you mean 'key_lookup'? [-Werror=implicit-function-declaration]
vma = vma_lookup(mm, hva);
^~~~~~~~~~
key_lookup
>> arch/s390/mm/pgtable.c:910:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
vma = vma_lookup(mm, hva);
^
arch/s390/mm/pgtable.c: In function 'set_pgste_bits':
arch/s390/mm/pgtable.c:1010:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
vma = vma_lookup(mm, hva);
^
arch/s390/mm/pgtable.c: In function 'get_pgste':
arch/s390/mm/pgtable.c:1041:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
vma = vma_lookup(mm, hva);
^
cc1: some warnings being treated as errors
vim +910 arch/s390/mm/pgtable.c
883
884 /**
885 * pgste_perform_essa - perform ESSA actions on the PGSTE.
886 * @mm: the memory context. It must have PGSTEs, no check is performed here!
887 * @hva: the host virtual address of the page whose PGSTE is to be processed
888 * @orc: the specific action to perform, see the ESSA_SET_* macros.
889 * @oldpte: the PTE will be saved there if the pointer is not NULL.
890 * @oldpgste: the old PGSTE will be saved there if the pointer is not NULL.
891 *
892 * Return: 1 if the page is to be added to the CBRL, otherwise 0,
893 * or < 0 in case of error. -EINVAL is returned for invalid values
894 * of orc, -EFAULT for invalid addresses.
895 */
896 int pgste_perform_essa(struct mm_struct *mm, unsigned long hva, int orc,
897 unsigned long *oldpte, unsigned long *oldpgste)
898 {
899 struct vm_area_struct *vma;
900 unsigned long pgstev;
901 spinlock_t *ptl;
902 pgste_t pgste;
903 pte_t *ptep;
904 int res = 0;
905
906 WARN_ON_ONCE(orc > ESSA_MAX);
907 if (unlikely(orc > ESSA_MAX))
908 return -EINVAL;
909
> 910 vma = vma_lookup(mm, hva);
911 if (!vma || is_vm_hugetlb_page(vma))
912 return -EFAULT;
913 ptep = get_locked_pte(mm, hva, &ptl);
914 if (unlikely(!ptep))
915 return -EFAULT;
916 pgste = pgste_get_lock(ptep);
917 pgstev = pgste_val(pgste);
918 if (oldpte)
919 *oldpte = pte_val(*ptep);
920 if (oldpgste)
921 *oldpgste = pgstev;
922
923 switch (orc) {
924 case ESSA_GET_STATE:
925 break;
926 case ESSA_SET_STABLE:
927 pgstev &= ~(_PGSTE_GPS_USAGE_MASK | _PGSTE_GPS_NODAT);
928 pgstev |= _PGSTE_GPS_USAGE_STABLE;
929 break;
930 case ESSA_SET_UNUSED:
931 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
932 pgstev |= _PGSTE_GPS_USAGE_UNUSED;
933 if (pte_val(*ptep) & _PAGE_INVALID)
934 res = 1;
935 break;
936 case ESSA_SET_VOLATILE:
937 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
938 pgstev |= _PGSTE_GPS_USAGE_VOLATILE;
939 if (pte_val(*ptep) & _PAGE_INVALID)
940 res = 1;
941 break;
942 case ESSA_SET_POT_VOLATILE:
943 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
944 if (!(pte_val(*ptep) & _PAGE_INVALID)) {
945 pgstev |= _PGSTE_GPS_USAGE_POT_VOLATILE;
946 break;
947 }
948 if (pgstev & _PGSTE_GPS_ZERO) {
949 pgstev |= _PGSTE_GPS_USAGE_VOLATILE;
950 break;
951 }
952 if (!(pgstev & PGSTE_GC_BIT)) {
953 pgstev |= _PGSTE_GPS_USAGE_VOLATILE;
954 res = 1;
955 break;
956 }
957 break;
958 case ESSA_SET_STABLE_RESIDENT:
959 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
960 pgstev |= _PGSTE_GPS_USAGE_STABLE;
961 /*
962 * Since the resident state can go away any time after this
963 * call, we will not make this page resident. We can revisit
964 * this decision if a guest will ever start using this.
965 */
966 break;
967 case ESSA_SET_STABLE_IF_RESIDENT:
968 if (!(pte_val(*ptep) & _PAGE_INVALID)) {
969 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
970 pgstev |= _PGSTE_GPS_USAGE_STABLE;
971 }
972 break;
973 case ESSA_SET_STABLE_NODAT:
974 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
975 pgstev |= _PGSTE_GPS_USAGE_STABLE | _PGSTE_GPS_NODAT;
976 break;
977 default:
978 /* we should never get here! */
979 break;
980 }
981 /* If we are discarding a page, set it to logical zero */
982 if (res)
983 pgstev |= _PGSTE_GPS_ZERO;
984
985 pgste_val(pgste) = pgstev;
986 pgste_set_unlock(ptep, pgste);
987 pte_unmap_unlock(ptep, ptl);
988 return res;
989 }
990 EXPORT_SYMBOL(pgste_perform_essa);
991
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[nsaenz-rpi:wip 5/5] mm/page_alloc.c:3183:28: sparse: sparse: incorrect type in assignment (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git wip
head: a6f29192b1e2bf93a6ab7c25c854307431124b8b
commit: a6f29192b1e2bf93a6ab7c25c854307431124b8b [5/5] mm/page_alloc: Add remote draining support to per-cpu lists
config: arm64-randconfig-s031-20211008 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git/comm...
git remote add nsaenz-rpi https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git
git fetch --no-tags nsaenz-rpi wip
git checkout a6f29192b1e2bf93a6ab7c25c854307431124b8b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
mm/page_alloc.c:1467:30: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@
mm/page_alloc.c:1467:30: sparse: expected struct list_head *list
mm/page_alloc.c:1467:30: sparse: got struct list_head [noderef] *
>> mm/page_alloc.c:3183:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct pcplists [noderef] *lp @@ got struct pcplists [noderef] __rcu * @@
mm/page_alloc.c:3183:28: sparse: expected struct pcplists [noderef] *lp
mm/page_alloc.c:3183:28: sparse: got struct pcplists [noderef] __rcu *
mm/page_alloc.c:3188:36: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct pcplists [noderef] *lp @@ got struct pcplists [noderef] __rcu * @@
mm/page_alloc.c:3188:36: sparse: expected struct pcplists [noderef] *lp
mm/page_alloc.c:3188:36: sparse: got struct pcplists [noderef] __rcu *
mm/page_alloc.c:3369:40: sparse: sparse: incorrect type in argument 2 (different modifiers) @@ expected struct list_head *head @@ got struct list_head [noderef] * @@
mm/page_alloc.c:3369:40: sparse: expected struct list_head *head
mm/page_alloc.c:3369:40: sparse: got struct list_head [noderef] *
mm/page_alloc.c:5878:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct pcplists [noderef] *lp @@ got struct pcplists [noderef] __rcu * @@
mm/page_alloc.c:5878:28: sparse: expected struct pcplists [noderef] *lp
mm/page_alloc.c:5878:28: sparse: got struct pcplists [noderef] __rcu *
mm/page_alloc.c:5976:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct pcplists [noderef] *lp @@ got struct pcplists [noderef] __rcu * @@
mm/page_alloc.c:5976:28: sparse: expected struct pcplists [noderef] *lp
mm/page_alloc.c:5976:28: sparse: got struct pcplists [noderef] __rcu *
>> mm/page_alloc.c:6883:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct pcplists [noderef] __rcu *lp @@ got struct pcplists [noderef] * @@
mm/page_alloc.c:6883:17: sparse: expected struct pcplists [noderef] __rcu *lp
mm/page_alloc.c:6883:17: sparse: got struct pcplists [noderef] *
>> mm/page_alloc.c:6887:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct list_head *list @@ got struct list_head [noderef] __rcu * @@
mm/page_alloc.c:6887:47: sparse: expected struct list_head *list
mm/page_alloc.c:6887:47: sparse: got struct list_head [noderef] __rcu *
mm/page_alloc.c:6888:50: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@
mm/page_alloc.c:6888:50: sparse: expected struct list_head *list
mm/page_alloc.c:6888:50: sparse: got struct list_head [noderef] *
mm/page_alloc.c:1452:17: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:1507:9: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3095:13: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3096:42: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3184:29: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3189:37: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3223:36: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3370:9: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3372:13: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3604:14: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@
mm/page_alloc.c:3604:14: sparse: expected struct list_head *list
mm/page_alloc.c:3604:14: sparse: got struct list_head [noderef] *
mm/page_alloc.c:3624:25: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3631:17: sparse: sparse: dereference of noderef expression
mm/page_alloc.c: note: in included file (through include/linux/mm.h):
include/linux/gfp.h:353:27: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:353:27: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3604:14: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct list_head *list @@ got struct list_head [noderef] * @@
mm/page_alloc.c:3604:14: sparse: expected struct list_head *list
mm/page_alloc.c:3604:14: sparse: got struct list_head [noderef] *
mm/page_alloc.c:3624:25: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:3631:17: sparse: sparse: dereference of noderef expression
include/linux/gfp.h:353:27: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:353:27: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:353:27: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:353:27: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:5879:37: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:5977:37: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:5981:17: sparse: sparse: dereference of noderef expression
mm/page_alloc.c:5981:17: sparse: sparse: dereference of noderef expression
vim +3183 mm/page_alloc.c
3132
3133 /*
3134 * The implementation of drain_all_pages(), exposing an extra parameter to
3135 * drain on all cpus.
3136 *
3137 * drain_all_pages() is optimized to only execute on cpus where pcplists are
3138 * not empty. The check for non-emptiness can however race with a free to
3139 * pcplist that has not yet increased the lp->count from 0 to 1. Callers
3140 * that need the guarantee that every CPU has drained can disable the
3141 * optimizing racy check.
3142 */
3143 static void __drain_all_pages(struct zone *zone, bool force_all_cpus)
3144 {
3145 struct per_cpu_pages *pcp;
3146 struct zone *z;
3147 int cpu;
3148
3149 /*
3150 * Allocate in the BSS so we won't require allocation in
3151 * direct reclaim path for CONFIG_CPUMASK_OFFSTACK=y
3152 */
3153 static cpumask_t cpus_with_pcps;
3154
3155 /*
3156 * Do not drain if one is already in progress unless it's specific to
3157 * a zone. Such callers are primarily CMA and memory hotplug and need
3158 * the drain to be complete when the call returns.
3159 */
3160 if (unlikely(!mutex_trylock(&pcpu_drain_mutex))) {
3161 if (!zone)
3162 return;
3163 mutex_lock(&pcpu_drain_mutex);
3164 }
3165
3166 /*
3167 * We don't care about racing with CPU hotplug event
3168 * as offline notification will cause the notified
3169 * cpu to drain that CPU pcps and on_each_cpu_mask
3170 * disables preemption as part of its processing
3171 */
3172 for_each_online_cpu(cpu) {
3173 bool has_pcps = false;
3174 struct pcplists *lp;
3175
3176 if (force_all_cpus) {
3177 /*
3178 * The lp->count check is racy, some callers need a
3179 * guarantee that no cpu is missed.
3180 */
3181 has_pcps = true;
3182 } else if (zone) {
> 3183 lp = READ_ONCE(per_cpu_ptr(zone->per_cpu_pageset, cpu)->lp);
3184 if (lp->count)
3185 has_pcps = true;
3186 } else {
3187 for_each_populated_zone(z) {
3188 lp = READ_ONCE(per_cpu_ptr(z->per_cpu_pageset, cpu)->lp);
3189 if (lp->count) {
3190 has_pcps = true;
3191 break;
3192 }
3193 }
3194 }
3195
3196 if (has_pcps)
3197 cpumask_set_cpu(cpu, &cpus_with_pcps);
3198 else
3199 cpumask_clear_cpu(cpu, &cpus_with_pcps);
3200 }
3201
3202 if (!force_all_cpus && cpumask_empty(&cpus_with_pcps))
3203 goto exit;
3204
3205 for_each_cpu(cpu, &cpus_with_pcps) {
3206 for_each_populated_zone(z) {
3207 if (zone && zone != z)
3208 continue;
3209
3210 pcp = per_cpu_ptr(z->per_cpu_pageset, cpu);
3211 pcp->drain = rcu_replace_pointer(pcp->lp, pcp->drain,
3212 mutex_is_locked(&pcpu_drain_mutex));
3213 }
3214 }
3215
3216 synchronize_rcu_expedited();
3217
3218 for_each_cpu(cpu, &cpus_with_pcps) {
3219 for_each_populated_zone(z) {
3220 int count;
3221
3222 pcp = per_cpu_ptr(z->per_cpu_pageset, cpu);
3223 count = pcp->drain->count;
3224 if (!count)
3225 continue;
3226
3227 free_pcppages_bulk(z, count, pcp, pcp->drain);
3228 }
3229 }
3230
3231 exit:
3232 mutex_unlock(&pcpu_drain_mutex);
3233 }
3234
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[sashal-stable:pending-4.9 107/150] arch/s390/mm/gmap.c:665:9: error: implicit declaration of function 'vma_lookup'; did you mean '__d_lookup'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-4.9
head: 1d9ee2ed0ebfa7cca1286ea38ff684f3102d0232
commit: afac5432e118c065119448f138fd24c3084f952d [107/150] s390/gmap: validate VMA in __gmap_zap()
config: s390-randconfig-r044-20211114 (attached as .config)
compiler: s390-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-4.9
git checkout afac5432e118c065119448f138fd24c3084f952d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
arch/s390/mm/gmap.c: In function '__gmap_zap':
>> arch/s390/mm/gmap.c:665:9: error: implicit declaration of function 'vma_lookup'; did you mean '__d_lookup'? [-Werror=implicit-function-declaration]
vma = vma_lookup(gmap->mm, vmaddr);
^~~~~~~~~~
__d_lookup
>> arch/s390/mm/gmap.c:665:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
vma = vma_lookup(gmap->mm, vmaddr);
^
arch/s390/mm/gmap.c: In function '__gmap_unshadow_sgt':
arch/s390/mm/gmap.c:1199:16: warning: variable 'asce' set but not used [-Wunused-but-set-variable]
unsigned long asce, *pgt;
^~~~
arch/s390/mm/gmap.c: In function '__gmap_unshadow_r3t':
arch/s390/mm/gmap.c:1257:16: warning: variable 'asce' set but not used [-Wunused-but-set-variable]
unsigned long asce, *sgt;
^~~~
arch/s390/mm/gmap.c: In function '__gmap_unshadow_r2t':
arch/s390/mm/gmap.c:1315:16: warning: variable 'asce' set but not used [-Wunused-but-set-variable]
unsigned long asce, *r3t;
^~~~
cc1: some warnings being treated as errors
vim +665 arch/s390/mm/gmap.c
648
649 /*
650 * this function is assumed to be called with mmap_sem held
651 */
652 void __gmap_zap(struct gmap *gmap, unsigned long gaddr)
653 {
654 struct vm_area_struct *vma;
655 unsigned long vmaddr;
656 spinlock_t *ptl;
657 pte_t *ptep;
658
659 /* Find the vm address for the guest address */
660 vmaddr = (unsigned long) radix_tree_lookup(&gmap->guest_to_host,
661 gaddr >> PMD_SHIFT);
662 if (vmaddr) {
663 vmaddr |= gaddr & ~PMD_MASK;
664
> 665 vma = vma_lookup(gmap->mm, vmaddr);
666 if (!vma || is_vm_hugetlb_page(vma))
667 return;
668
669 /* Get pointer to the page table entry */
670 ptep = get_locked_pte(gmap->mm, vmaddr, &ptl);
671 if (likely(ptep))
672 ptep_zap_unused(gmap->mm, vmaddr, ptep, 0);
673 pte_unmap_unlock(ptep, ptl);
674 }
675 }
676 EXPORT_SYMBOL_GPL(__gmap_zap);
677
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c:79:6: warning: no previous prototype for 'dcn201_update_clocks_vbios'
by kernel test robot
Hi Alex,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c8c109546a19613d323a319d0c921cb1f317e629
commit: 519607a2f7798decb9c891a4f706aaf780f5a677 drm/amdgpu/display: fold DRM_AMD_DC_DCN201 into DRM_AMD_DC_DCN
date: 6 weeks ago
config: powerpc64-buildonly-randconfig-r004-20211026 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 519607a2f7798decb9c891a4f706aaf780f5a677
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c:79:6: warning: no previous prototype for 'dcn201_update_clocks_vbios' [-Wmissing-prototypes]
79 | void dcn201_update_clocks_vbios(struct clk_mgr *clk_mgr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c: In function 'dcn201_update_clocks':
drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c:134:14: warning: variable 'enter_display_off' set but not used [-Wunused-but-set-variable]
134 | bool enter_display_off = false;
| ^~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c:38:
At top level:
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:129:29: warning: 'UVD0_BASE' defined but not used [-Wunused-const-variable=]
129 | static const struct IP_BASE UVD0_BASE ={ { { { 0x00007800, 0x00007E00, 0, 0, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:123:29: warning: 'UMC0_BASE' defined but not used [-Wunused-const-variable=]
123 | static const struct IP_BASE UMC0_BASE ={ { { { 0x00014000, 0, 0, 0, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:117:29: warning: 'THM_BASE' defined but not used [-Wunused-const-variable=]
117 | static const struct IP_BASE THM_BASE ={ { { { 0x00016600, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:111:29: warning: 'SMUIO_BASE' defined but not used [-Wunused-const-variable=]
111 | static const struct IP_BASE SMUIO_BASE ={ { { { 0x00016800, 0x00016A00, 0, 0, 0 } },
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:105:29: warning: 'OSSSYS_BASE' defined but not used [-Wunused-const-variable=]
105 | static const struct IP_BASE OSSSYS_BASE ={ { { { 0x000010A0, 0, 0, 0, 0 } },
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:99:29: warning: 'NBIO_BASE' defined but not used [-Wunused-const-variable=]
99 | static const struct IP_BASE NBIO_BASE ={ { { { 0x00000000, 0x00000014, 0x00000D20, 0x00010400, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:93:29: warning: 'MP1_BASE' defined but not used [-Wunused-const-variable=]
93 | static const struct IP_BASE MP1_BASE ={ { { { 0x00016000, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:87:29: warning: 'MP0_BASE' defined but not used [-Wunused-const-variable=]
87 | static const struct IP_BASE MP0_BASE ={ { { { 0x00016000, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:81:29: warning: 'MMHUB_BASE' defined but not used [-Wunused-const-variable=]
81 | static const struct IP_BASE MMHUB_BASE ={ { { { 0x0001A000, 0, 0, 0, 0 } },
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:75:29: warning: 'HDP_BASE' defined but not used [-Wunused-const-variable=]
75 | static const struct IP_BASE HDP_BASE ={ { { { 0x00000F20, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:69:29: warning: 'GC_BASE' defined but not used [-Wunused-const-variable=]
69 | static const struct IP_BASE GC_BASE ={ { { { 0x00001260, 0x0000A000, 0, 0, 0 } },
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:63:29: warning: 'FUSE_BASE' defined but not used [-Wunused-const-variable=]
63 | static const struct IP_BASE FUSE_BASE ={ { { { 0x00017400, 0, 0, 0, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:57:29: warning: 'DMU_BASE' defined but not used [-Wunused-const-variable=]
57 | static const struct IP_BASE DMU_BASE ={ { { { 0x00000012, 0x000000C0, 0x000034C0, 0x00009000, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:51:29: warning: 'DF_BASE' defined but not used [-Wunused-const-variable=]
51 | static const struct IP_BASE DF_BASE ={ { { { 0x00007000, 0, 0, 0, 0 } },
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:45:29: warning: 'CLK_BASE' defined but not used [-Wunused-const-variable=]
45 | static const struct IP_BASE CLK_BASE ={ { { { 0x00016C00, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:39:29: warning: 'ATHUB_BASE' defined but not used [-Wunused-const-variable=]
39 | static const struct IP_BASE ATHUB_BASE ={ { { { 0x00000C00, 0, 0, 0, 0 } },
| ^~~~~~~~~~
--
>> drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn201/irq_service_dcn201.c:42:20: warning: no previous prototype for 'to_dal_irq_source_dcn201' [-Wmissing-prototypes]
42 | enum dc_irq_source to_dal_irq_source_dcn201(
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn201/irq_service_dcn201.c:142:43: warning: 'dmub_outbox_irq_info_funcs' defined but not used [-Wunused-const-variable=]
142 | static const struct irq_source_info_funcs dmub_outbox_irq_info_funcs = {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/irq/dcn201/irq_service_dcn201.c:35:
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:129:29: warning: 'UVD0_BASE' defined but not used [-Wunused-const-variable=]
129 | static const struct IP_BASE UVD0_BASE ={ { { { 0x00007800, 0x00007E00, 0, 0, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:123:29: warning: 'UMC0_BASE' defined but not used [-Wunused-const-variable=]
123 | static const struct IP_BASE UMC0_BASE ={ { { { 0x00014000, 0, 0, 0, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:117:29: warning: 'THM_BASE' defined but not used [-Wunused-const-variable=]
117 | static const struct IP_BASE THM_BASE ={ { { { 0x00016600, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:111:29: warning: 'SMUIO_BASE' defined but not used [-Wunused-const-variable=]
111 | static const struct IP_BASE SMUIO_BASE ={ { { { 0x00016800, 0x00016A00, 0, 0, 0 } },
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:105:29: warning: 'OSSSYS_BASE' defined but not used [-Wunused-const-variable=]
105 | static const struct IP_BASE OSSSYS_BASE ={ { { { 0x000010A0, 0, 0, 0, 0 } },
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:99:29: warning: 'NBIO_BASE' defined but not used [-Wunused-const-variable=]
99 | static const struct IP_BASE NBIO_BASE ={ { { { 0x00000000, 0x00000014, 0x00000D20, 0x00010400, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:93:29: warning: 'MP1_BASE' defined but not used [-Wunused-const-variable=]
93 | static const struct IP_BASE MP1_BASE ={ { { { 0x00016000, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:87:29: warning: 'MP0_BASE' defined but not used [-Wunused-const-variable=]
87 | static const struct IP_BASE MP0_BASE ={ { { { 0x00016000, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:81:29: warning: 'MMHUB_BASE' defined but not used [-Wunused-const-variable=]
81 | static const struct IP_BASE MMHUB_BASE ={ { { { 0x0001A000, 0, 0, 0, 0 } },
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:75:29: warning: 'HDP_BASE' defined but not used [-Wunused-const-variable=]
75 | static const struct IP_BASE HDP_BASE ={ { { { 0x00000F20, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:69:29: warning: 'GC_BASE' defined but not used [-Wunused-const-variable=]
69 | static const struct IP_BASE GC_BASE ={ { { { 0x00001260, 0x0000A000, 0, 0, 0 } },
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:63:29: warning: 'FUSE_BASE' defined but not used [-Wunused-const-variable=]
63 | static const struct IP_BASE FUSE_BASE ={ { { { 0x00017400, 0, 0, 0, 0 } },
| ^~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:57:29: warning: 'DMU_BASE' defined but not used [-Wunused-const-variable=]
57 | static const struct IP_BASE DMU_BASE ={ { { { 0x00000012, 0x000000C0, 0x000034C0, 0x00009000, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:51:29: warning: 'DF_BASE' defined but not used [-Wunused-const-variable=]
51 | static const struct IP_BASE DF_BASE ={ { { { 0x00007000, 0, 0, 0, 0 } },
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:45:29: warning: 'CLK_BASE' defined but not used [-Wunused-const-variable=]
45 | static const struct IP_BASE CLK_BASE ={ { { { 0x00016C00, 0, 0, 0, 0 } },
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:39:29: warning: 'ATHUB_BASE' defined but not used [-Wunused-const-variable=]
39 | static const struct IP_BASE ATHUB_BASE ={ { { { 0x00000C00, 0, 0, 0, 0 } },
| ^~~~~~~~~~
--
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_init.c:127:6: warning: no previous prototype for 'dcn201_hw_sequencer_construct' [-Wmissing-prototypes]
127 | void dcn201_hw_sequencer_construct(struct dc *dc)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:64:
>> drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:16515:111: warning: initialized field overwritten [-Woverride-init]
16515 | #define DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE__SHIFT 0x1f
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:213:23: note: in expansion of macro 'DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE__SHIFT'
213 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:203:9: note: in expansion of macro 'AUX_SF'
203 | AUX_SF(DP_AUX0_AUX_SW_DATA, AUX_SW_AUTOINCREMENT_DISABLE, mask_sh),\
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:365:9: note: in expansion of macro 'DCN_AUX_MASK_SH_LIST'
365 | DCN_AUX_MASK_SH_LIST(__SHIFT)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:16515:111: note: (near initialization for 'aux_shift.AUX_SW_AUTOINCREMENT_DISABLE')
16515 | #define DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE__SHIFT 0x1f
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:213:23: note: in expansion of macro 'DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE__SHIFT'
213 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:203:9: note: in expansion of macro 'AUX_SF'
203 | AUX_SF(DP_AUX0_AUX_SW_DATA, AUX_SW_AUTOINCREMENT_DISABLE, mask_sh),\
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:365:9: note: in expansion of macro 'DCN_AUX_MASK_SH_LIST'
365 | DCN_AUX_MASK_SH_LIST(__SHIFT)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:16519:111: warning: initialized field overwritten [-Woverride-init]
16519 | #define DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE_MASK 0x80000000L
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:213:23: note: in expansion of macro 'DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE_MASK'
213 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:203:9: note: in expansion of macro 'AUX_SF'
203 | AUX_SF(DP_AUX0_AUX_SW_DATA, AUX_SW_AUTOINCREMENT_DISABLE, mask_sh),\
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:369:9: note: in expansion of macro 'DCN_AUX_MASK_SH_LIST'
369 | DCN_AUX_MASK_SH_LIST(_MASK)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:16519:111: note: (near initialization for 'aux_mask.AUX_SW_AUTOINCREMENT_DISABLE')
16519 | #define DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE_MASK 0x80000000L
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:213:23: note: in expansion of macro 'DP_AUX0_AUX_SW_DATA__AUX_SW_AUTOINCREMENT_DISABLE_MASK'
213 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.h:203:9: note: in expansion of macro 'AUX_SF'
203 | AUX_SF(DP_AUX0_AUX_SW_DATA, AUX_SW_AUTOINCREMENT_DISABLE, mask_sh),\
| ^~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:369:9: note: in expansion of macro 'DCN_AUX_MASK_SH_LIST'
369 | DCN_AUX_MASK_SH_LIST(_MASK)
| ^~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:17500:111: warning: initialized field overwritten [-Woverride-init]
17500 | #define DIG0_TMDS_CTL_BITS__TMDS_CTL0__SHIFT 0x0
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_link_encoder.h:173:23: note: in expansion of macro 'DIG0_TMDS_CTL_BITS__TMDS_CTL0__SHIFT'
173 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_link_encoder.h:184:9: note: in expansion of macro 'LE_SF'
184 | LE_SF(DIG0_TMDS_CTL_BITS, TMDS_CTL0, mask_sh), \
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:404:9: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN20'
404 | LINK_ENCODER_MASK_SH_LIST_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:407:17: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN201'
407 | LINK_ENCODER_MASK_SH_LIST_DCN201(__SHIFT)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:17500:111: note: (near initialization for 'le_shift.TMDS_CTL0')
17500 | #define DIG0_TMDS_CTL_BITS__TMDS_CTL0__SHIFT 0x0
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_link_encoder.h:173:23: note: in expansion of macro 'DIG0_TMDS_CTL_BITS__TMDS_CTL0__SHIFT'
173 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_link_encoder.h:184:9: note: in expansion of macro 'LE_SF'
184 | LE_SF(DIG0_TMDS_CTL_BITS, TMDS_CTL0, mask_sh), \
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:404:9: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN20'
404 | LINK_ENCODER_MASK_SH_LIST_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:407:17: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN201'
407 | LINK_ENCODER_MASK_SH_LIST_DCN201(__SHIFT)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:17504:111: warning: initialized field overwritten [-Woverride-init]
17504 | #define DIG0_TMDS_CTL_BITS__TMDS_CTL0_MASK 0x00000001L
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_link_encoder.h:173:23: note: in expansion of macro 'DIG0_TMDS_CTL_BITS__TMDS_CTL0_MASK'
173 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_link_encoder.h:184:9: note: in expansion of macro 'LE_SF'
184 | LE_SF(DIG0_TMDS_CTL_BITS, TMDS_CTL0, mask_sh), \
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:404:9: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN20'
404 | LINK_ENCODER_MASK_SH_LIST_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:411:17: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN201'
411 | LINK_ENCODER_MASK_SH_LIST_DCN201(_MASK)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:17504:111: note: (near initialization for 'le_mask.TMDS_CTL0')
17504 | #define DIG0_TMDS_CTL_BITS__TMDS_CTL0_MASK 0x00000001L
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_link_encoder.h:173:23: note: in expansion of macro 'DIG0_TMDS_CTL_BITS__TMDS_CTL0_MASK'
173 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_link_encoder.h:184:9: note: in expansion of macro 'LE_SF'
184 | LE_SF(DIG0_TMDS_CTL_BITS, TMDS_CTL0, mask_sh), \
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:404:9: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN20'
404 | LINK_ENCODER_MASK_SH_LIST_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:411:17: note: in expansion of macro 'LINK_ENCODER_MASK_SH_LIST_DCN201'
411 | LINK_ENCODER_MASK_SH_LIST_DCN201(_MASK)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:61:
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:469:9: note: in expansion of macro 'tf_regs'
469 | tf_regs(0),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[0].CURSOR_CONTROL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:469:9: note: in expansion of macro 'tf_regs'
469 | tf_regs(0),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:469:9: note: in expansion of macro 'tf_regs'
469 | tf_regs(0),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[0].DSCL_MEM_PWR_CTRL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:469:9: note: in expansion of macro 'tf_regs'
469 | tf_regs(0),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:470:9: note: in expansion of macro 'tf_regs'
470 | tf_regs(1),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[1].CURSOR_CONTROL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:470:9: note: in expansion of macro 'tf_regs'
470 | tf_regs(1),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:470:9: note: in expansion of macro 'tf_regs'
470 | tf_regs(1),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[1].DSCL_MEM_PWR_CTRL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:470:9: note: in expansion of macro 'tf_regs'
470 | tf_regs(1),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:471:9: note: in expansion of macro 'tf_regs'
471 | tf_regs(2),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[2].CURSOR_CONTROL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:471:9: note: in expansion of macro 'tf_regs'
471 | tf_regs(2),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:471:9: note: in expansion of macro 'tf_regs'
471 | tf_regs(2),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[2].DSCL_MEM_PWR_CTRL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:471:9: note: in expansion of macro 'tf_regs'
471 | tf_regs(2),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:472:9: note: in expansion of macro 'tf_regs'
472 | tf_regs(3),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[3].CURSOR_CONTROL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:181:9: note: in expansion of macro 'SRI'
181 | SRI(CURSOR_CONTROL, CURSOR0_, id),\
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:472:9: note: in expansion of macro 'tf_regs'
472 | tf_regs(3),
| ^~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: warning: initialized field overwritten [-Woverride-init]
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:472:9: note: in expansion of macro 'tf_regs'
472 | tf_regs(3),
| ^~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/cyan_skillfish_ip_offset.h:247:52: note: (near initialization for 'tf_regs[3].DSCL_MEM_PWR_CTRL')
247 | #define DMU_BASE__INST0_SEG2 0x000034C0
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:247:25: note: in expansion of macro 'DMU_BASE__INST0_SEG2'
247 | #define BASE_INNER(seg) DMU_BASE__INST0_SEG ## seg
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:249:19: note: in expansion of macro 'BASE_INNER'
249 | #define BASE(seg) BASE_INNER(seg)
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:256:21: note: in expansion of macro 'BASE'
256 | .reg_name = BASE(mm ## block ## id ## _ ## reg_name ## _BASE_IDX) + \
| ^~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:183:9: note: in expansion of macro 'SRI'
183 | SRI(DSCL_MEM_PWR_CTRL, DSCL, id)
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:34:9: note: in expansion of macro 'TF_REG_LIST_DCN20'
34 | TF_REG_LIST_DCN20(id)
| ^~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:465:9: note: in expansion of macro 'TF_REG_LIST_DCN201'
465 | TF_REG_LIST_DCN201(id),\
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:472:9: note: in expansion of macro 'tf_regs'
472 | tf_regs(3),
| ^~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:64:
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:5596:111: warning: initialized field overwritten [-Woverride-init]
5596 | #define CM0_CM_3DLUT_MODE__CM_3DLUT_MODE__SHIFT 0x0
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_dpp.h:38:23: note: in expansion of macro 'CM0_CM_3DLUT_MODE__CM_3DLUT_MODE__SHIFT'
38 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:368:9: note: in expansion of macro 'TF_SF'
368 | TF_SF(CM0_CM_3DLUT_MODE, CM_3DLUT_MODE, mask_sh), \
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:547:9: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN20_COMMON'
547 | TF_REG_LIST_SH_MASK_DCN20_COMMON(mask_sh), \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:37:9: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN20'
37 | TF_REG_LIST_SH_MASK_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:476:17: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN201'
476 | TF_REG_LIST_SH_MASK_DCN201(__SHIFT)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:5596:111: note: (near initialization for 'tf_shift.CM_3DLUT_MODE')
5596 | #define CM0_CM_3DLUT_MODE__CM_3DLUT_MODE__SHIFT 0x0
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_dpp.h:38:23: note: in expansion of macro 'CM0_CM_3DLUT_MODE__CM_3DLUT_MODE__SHIFT'
38 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:368:9: note: in expansion of macro 'TF_SF'
368 | TF_SF(CM0_CM_3DLUT_MODE, CM_3DLUT_MODE, mask_sh), \
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:547:9: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN20_COMMON'
547 | TF_REG_LIST_SH_MASK_DCN20_COMMON(mask_sh), \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:37:9: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN20'
37 | TF_REG_LIST_SH_MASK_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:476:17: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN201'
476 | TF_REG_LIST_SH_MASK_DCN201(__SHIFT)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../include/asic_reg/dcn/dcn_2_0_3_sh_mask.h:5183:111: warning: initialized field overwritten [-Woverride-init]
5183 | #define CM0_CM_SHAPER_CONTROL__CM_SHAPER_LUT_MODE__SHIFT 0x0
| ^~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_dpp.h:38:23: note: in expansion of macro 'CM0_CM_SHAPER_CONTROL__CM_SHAPER_LUT_MODE__SHIFT'
38 | .field_name = reg_name ## __ ## field_name ## post_fix
| ^~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:206:9: note: in expansion of macro 'TF_SF'
206 | TF_SF(CM0_CM_SHAPER_CONTROL, CM_SHAPER_LUT_MODE, mask_sh)
| ^~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn20/dcn20_dpp.h:548:9: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN20_UPDATED'
548 | TF_REG_LIST_SH_MASK_DCN20_UPDATED(mask_sh), \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_dpp.h:37:9: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN20'
37 | TF_REG_LIST_SH_MASK_DCN20(mask_sh)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn201/dcn201_resource.c:476:17: note: in expansion of macro 'TF_REG_LIST_SH_MASK_DCN201'
..
vim +/dcn201_update_clocks_vbios +79 drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn201/dcn201_clk_mgr.c
3f68c01be9a2227 Zhan Liu 2021-09-25 78
3f68c01be9a2227 Zhan Liu 2021-09-25 @79 void dcn201_update_clocks_vbios(struct clk_mgr *clk_mgr,
3f68c01be9a2227 Zhan Liu 2021-09-25 80 struct dc_state *context,
3f68c01be9a2227 Zhan Liu 2021-09-25 81 bool safe_to_lower)
3f68c01be9a2227 Zhan Liu 2021-09-25 82 {
3f68c01be9a2227 Zhan Liu 2021-09-25 83 struct dc_clocks *new_clocks = &context->bw_ctx.bw.dcn.clk;
3f68c01be9a2227 Zhan Liu 2021-09-25 84
3f68c01be9a2227 Zhan Liu 2021-09-25 85 bool update_dppclk = false;
3f68c01be9a2227 Zhan Liu 2021-09-25 86 bool update_dispclk = false;
3f68c01be9a2227 Zhan Liu 2021-09-25 87
3f68c01be9a2227 Zhan Liu 2021-09-25 88 if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->clks.dppclk_khz)) {
3f68c01be9a2227 Zhan Liu 2021-09-25 89 clk_mgr->clks.dppclk_khz = new_clocks->dppclk_khz;
3f68c01be9a2227 Zhan Liu 2021-09-25 90 update_dppclk = true;
3f68c01be9a2227 Zhan Liu 2021-09-25 91 }
3f68c01be9a2227 Zhan Liu 2021-09-25 92
3f68c01be9a2227 Zhan Liu 2021-09-25 93 if (should_set_clock(safe_to_lower, new_clocks->dispclk_khz, clk_mgr->clks.dispclk_khz)) {
3f68c01be9a2227 Zhan Liu 2021-09-25 94 clk_mgr->clks.dispclk_khz = new_clocks->dispclk_khz;
3f68c01be9a2227 Zhan Liu 2021-09-25 95 update_dispclk = true;
3f68c01be9a2227 Zhan Liu 2021-09-25 96 }
3f68c01be9a2227 Zhan Liu 2021-09-25 97
3f68c01be9a2227 Zhan Liu 2021-09-25 98 if (update_dppclk || update_dispclk) {
3f68c01be9a2227 Zhan Liu 2021-09-25 99 struct bp_set_dce_clock_parameters dce_clk_params;
3f68c01be9a2227 Zhan Liu 2021-09-25 100 struct dc_bios *bp = clk_mgr->ctx->dc_bios;
3f68c01be9a2227 Zhan Liu 2021-09-25 101
3f68c01be9a2227 Zhan Liu 2021-09-25 102 if (update_dispclk) {
3f68c01be9a2227 Zhan Liu 2021-09-25 103 memset(&dce_clk_params, 0, sizeof(dce_clk_params));
3f68c01be9a2227 Zhan Liu 2021-09-25 104 dce_clk_params.target_clock_frequency = new_clocks->dispclk_khz;
3f68c01be9a2227 Zhan Liu 2021-09-25 105 dce_clk_params.pll_id = CLOCK_SOURCE_ID_DFS;
3f68c01be9a2227 Zhan Liu 2021-09-25 106 dce_clk_params.clock_type = DCECLOCK_TYPE_DISPLAY_CLOCK;
3f68c01be9a2227 Zhan Liu 2021-09-25 107 bp->funcs->set_dce_clock(bp, &dce_clk_params);
3f68c01be9a2227 Zhan Liu 2021-09-25 108 }
3f68c01be9a2227 Zhan Liu 2021-09-25 109 /* currently there is no DCECLOCK_TYPE_DPPCLK type defined in VBIOS interface.
3f68c01be9a2227 Zhan Liu 2021-09-25 110 * vbios program DPPCLK to the same DispCLK limitation
3f68c01be9a2227 Zhan Liu 2021-09-25 111 */
3f68c01be9a2227 Zhan Liu 2021-09-25 112 }
3f68c01be9a2227 Zhan Liu 2021-09-25 113 }
3f68c01be9a2227 Zhan Liu 2021-09-25 114
:::::: The code at line 79 was first introduced by commit
:::::: 3f68c01be9a2227de1e190317fe34a6fb835a094 drm/amd/display: add cyan_skillfish display support
:::::: TO: Zhan Liu <zhan.liu(a)amd.com>
:::::: CC: Alex Deucher <alexander.deucher(a)amd.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[sashal-stable:pending-5.10 327/511] arch/s390/mm/pgtable.c:1002:15: error: implicit declaration of function 'vma_lookup'; did you mean 'key_lookup'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.10
head: 28d8a1bafb1d3ba5b9e84a0ef9f7505340737187
commit: 4709f4c79c5d802c30a92b70a4646e72752f02b6 [327/511] s390/mm: validate VMA in PGSTE manipulation functions
config: s390-buildonly-randconfig-r002-20211114 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.10
git checkout 4709f4c79c5d802c30a92b70a4646e72752f02b6
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
arch/s390/mm/pgtable.c: In function 'pgste_perform_essa':
>> arch/s390/mm/pgtable.c:1002:15: error: implicit declaration of function 'vma_lookup'; did you mean 'key_lookup'? [-Werror=implicit-function-declaration]
1002 | vma = vma_lookup(mm, hva);
| ^~~~~~~~~~
| key_lookup
>> arch/s390/mm/pgtable.c:1002:13: warning: assignment to 'struct vm_area_struct *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1002 | vma = vma_lookup(mm, hva);
| ^
arch/s390/mm/pgtable.c: In function 'set_pgste_bits':
arch/s390/mm/pgtable.c:1102:13: warning: assignment to 'struct vm_area_struct *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1102 | vma = vma_lookup(mm, hva);
| ^
arch/s390/mm/pgtable.c: In function 'get_pgste':
arch/s390/mm/pgtable.c:1133:13: warning: assignment to 'struct vm_area_struct *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1133 | vma = vma_lookup(mm, hva);
| ^
cc1: some warnings being treated as errors
vim +1002 arch/s390/mm/pgtable.c
975
976 /**
977 * pgste_perform_essa - perform ESSA actions on the PGSTE.
978 * @mm: the memory context. It must have PGSTEs, no check is performed here!
979 * @hva: the host virtual address of the page whose PGSTE is to be processed
980 * @orc: the specific action to perform, see the ESSA_SET_* macros.
981 * @oldpte: the PTE will be saved there if the pointer is not NULL.
982 * @oldpgste: the old PGSTE will be saved there if the pointer is not NULL.
983 *
984 * Return: 1 if the page is to be added to the CBRL, otherwise 0,
985 * or < 0 in case of error. -EINVAL is returned for invalid values
986 * of orc, -EFAULT for invalid addresses.
987 */
988 int pgste_perform_essa(struct mm_struct *mm, unsigned long hva, int orc,
989 unsigned long *oldpte, unsigned long *oldpgste)
990 {
991 struct vm_area_struct *vma;
992 unsigned long pgstev;
993 spinlock_t *ptl;
994 pgste_t pgste;
995 pte_t *ptep;
996 int res = 0;
997
998 WARN_ON_ONCE(orc > ESSA_MAX);
999 if (unlikely(orc > ESSA_MAX))
1000 return -EINVAL;
1001
> 1002 vma = vma_lookup(mm, hva);
1003 if (!vma || is_vm_hugetlb_page(vma))
1004 return -EFAULT;
1005 ptep = get_locked_pte(mm, hva, &ptl);
1006 if (unlikely(!ptep))
1007 return -EFAULT;
1008 pgste = pgste_get_lock(ptep);
1009 pgstev = pgste_val(pgste);
1010 if (oldpte)
1011 *oldpte = pte_val(*ptep);
1012 if (oldpgste)
1013 *oldpgste = pgstev;
1014
1015 switch (orc) {
1016 case ESSA_GET_STATE:
1017 break;
1018 case ESSA_SET_STABLE:
1019 pgstev &= ~(_PGSTE_GPS_USAGE_MASK | _PGSTE_GPS_NODAT);
1020 pgstev |= _PGSTE_GPS_USAGE_STABLE;
1021 break;
1022 case ESSA_SET_UNUSED:
1023 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
1024 pgstev |= _PGSTE_GPS_USAGE_UNUSED;
1025 if (pte_val(*ptep) & _PAGE_INVALID)
1026 res = 1;
1027 break;
1028 case ESSA_SET_VOLATILE:
1029 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
1030 pgstev |= _PGSTE_GPS_USAGE_VOLATILE;
1031 if (pte_val(*ptep) & _PAGE_INVALID)
1032 res = 1;
1033 break;
1034 case ESSA_SET_POT_VOLATILE:
1035 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
1036 if (!(pte_val(*ptep) & _PAGE_INVALID)) {
1037 pgstev |= _PGSTE_GPS_USAGE_POT_VOLATILE;
1038 break;
1039 }
1040 if (pgstev & _PGSTE_GPS_ZERO) {
1041 pgstev |= _PGSTE_GPS_USAGE_VOLATILE;
1042 break;
1043 }
1044 if (!(pgstev & PGSTE_GC_BIT)) {
1045 pgstev |= _PGSTE_GPS_USAGE_VOLATILE;
1046 res = 1;
1047 break;
1048 }
1049 break;
1050 case ESSA_SET_STABLE_RESIDENT:
1051 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
1052 pgstev |= _PGSTE_GPS_USAGE_STABLE;
1053 /*
1054 * Since the resident state can go away any time after this
1055 * call, we will not make this page resident. We can revisit
1056 * this decision if a guest will ever start using this.
1057 */
1058 break;
1059 case ESSA_SET_STABLE_IF_RESIDENT:
1060 if (!(pte_val(*ptep) & _PAGE_INVALID)) {
1061 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
1062 pgstev |= _PGSTE_GPS_USAGE_STABLE;
1063 }
1064 break;
1065 case ESSA_SET_STABLE_NODAT:
1066 pgstev &= ~_PGSTE_GPS_USAGE_MASK;
1067 pgstev |= _PGSTE_GPS_USAGE_STABLE | _PGSTE_GPS_NODAT;
1068 break;
1069 default:
1070 /* we should never get here! */
1071 break;
1072 }
1073 /* If we are discarding a page, set it to logical zero */
1074 if (res)
1075 pgstev |= _PGSTE_GPS_ZERO;
1076
1077 pgste_val(pgste) = pgstev;
1078 pgste_set_unlock(ptep, pgste);
1079 pte_unmap_unlock(ptep, ptl);
1080 return res;
1081 }
1082 EXPORT_SYMBOL(pgste_perform_essa);
1083
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week