CC: [email protected] CC: [email protected] BCC: [email protected] CC: Linux Memory Management List <[email protected]> TO: Dmitry Osipenko <[email protected]> CC: Krzysztof Kozlowski <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 44948bd49d878dad6c9707e34f4a06df73c3a800 commit: e3aabb3c7dbe66201b45d7b2c20132196f491ad4 [1767/8646] memory: tegra30-emc: Print additional memory info :::::: branch date: 19 hours ago :::::: commit date: 4 weeks ago config: arm-randconfig-c002-20220223 (https://download.01.org/0day-ci/archive/20220226/[email protected]/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=e3aabb3c7dbe66201b45d7b2c20132196f491ad4 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout e3aabb3c7dbe66201b45d7b2c20132196f491ad4 # save the config file to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> clang-analyzer warnings: (new ones prefixed by >>) drivers/media/tuners/tuner-xc2028.c:1037:3: note: Value stored to 'rc' is never read Suppressed 2 warnings (2 with check filters). 2 warnings generated. Suppressed 2 warnings (2 with check filters). 2 warnings generated. drivers/media/v4l2-core/videobuf-core.c:712:10: warning: Access to field 'state' results in a dereference of a null pointer (loaded from variable 'buf') [clang-analyzer-core.NullDereference] switch (buf->state) { ^~~ drivers/media/v4l2-core/videobuf-core.c:698:2: note: 'buf' initialized to a null pointer value struct videobuf_buffer *buf = NULL; ^~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/v4l2-core/videobuf-core.c:701:2: note: Assuming field 'magic' is equal to 304484355 MAGIC_CHECK(q->int_ops->magic, MAGIC_QTYPE_OPS); ^ drivers/media/v4l2-core/videobuf-core.c:27:16: note: expanded from macro 'MAGIC_CHECK' if (unlikely((is) != (should))) { \ ~~~~~~~~~^~~~~~~~~~~~~~~~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ drivers/media/v4l2-core/videobuf-core.c:701:2: note: Taking false branch MAGIC_CHECK(q->int_ops->magic, MAGIC_QTYPE_OPS); ^ drivers/media/v4l2-core/videobuf-core.c:27:3: note: expanded from macro 'MAGIC_CHECK' if (unlikely((is) != (should))) { \ ^ drivers/media/v4l2-core/videobuf-core.c:701:2: note: Loop condition is false. Exiting loop MAGIC_CHECK(q->int_ops->magic, MAGIC_QTYPE_OPS); ^ drivers/media/v4l2-core/videobuf-core.c:26:2: note: expanded from macro 'MAGIC_CHECK' do { \ ^ drivers/media/v4l2-core/videobuf-core.c:706:11: note: Calling 'stream_next_buffer' retval = stream_next_buffer(q, &buf, nonblocking); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/v4l2-core/videobuf-core.c:682:6: note: Assuming 'retval' is not equal to 0 if (retval) ^~~~~~ drivers/media/v4l2-core/videobuf-core.c:682:2: note: Taking true branch if (retval) ^ drivers/media/v4l2-core/videobuf-core.c:683:3: note: Control jumps to line 692 goto done; ^ drivers/media/v4l2-core/videobuf-core.c:692:2: note: Returning without writing to '*vb' return retval; ^ drivers/media/v4l2-core/videobuf-core.c:706:11: note: Returning from 'stream_next_buffer' retval = stream_next_buffer(q, &buf, nonblocking); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/media/v4l2-core/videobuf-core.c:707:6: note: Assuming 'retval' is >= 0 if (retval < 0) { ^~~~~~~~~~ drivers/media/v4l2-core/videobuf-core.c:707:2: note: Taking false branch if (retval < 0) { ^ drivers/media/v4l2-core/videobuf-core.c:712:10: note: Access to field 'state' results in a dereference of a null pointer (loaded from variable 'buf') switch (buf->state) { ^~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. drivers/input/keyboard/lm8323.c:333:3: warning: Value stored to 'active' is never read [clang-analyzer-deadcode.DeadStores] active = debounce + 3; ^ ~~~~~~~~~~~~ drivers/input/keyboard/lm8323.c:333:3: note: Value stored to 'active' is never read active = debounce + 3; ^ ~~~~~~~~~~~~ 1 warning generated. lib/xarray.c:2029:18: warning: Value stored to 'node' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct xa_node *node = xas->xa_node; ^~~~ ~~~~~~~~~~~~ lib/xarray.c:2029:18: note: Value stored to 'node' during its initialization is never read struct xa_node *node = xas->xa_node; ^~~~ ~~~~~~~~~~~~ 4 warnings generated. drivers/memory/tegra/tegra20-emc.c:645:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "INVALID"; ^ ~~~~~~~~~ drivers/memory/tegra/tegra20-emc.c:645:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "INVALID"; ^ ~~~~~~~~~ drivers/memory/tegra/tegra20-emc.c:648:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "DDR1"; ^ ~~~~~~ drivers/memory/tegra/tegra20-emc.c:648:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "DDR1"; ^ ~~~~~~ drivers/memory/tegra/tegra20-emc.c:651:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "LPDDR2"; ^ ~~~~~~~~ drivers/memory/tegra/tegra20-emc.c:651:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "LPDDR2"; ^ ~~~~~~~~ drivers/memory/tegra/tegra20-emc.c:654:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "DDR2"; ^ ~~~~~~ drivers/memory/tegra/tegra20-emc.c:654:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "DDR2"; ^ ~~~~~~ 4 warnings generated. >> drivers/memory/tegra/tegra30-emc.c:1164:3: warning: Value stored to >> 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "DDR1"; ^ ~~~~~~ drivers/memory/tegra/tegra30-emc.c:1164:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "DDR1"; ^ ~~~~~~ drivers/memory/tegra/tegra30-emc.c:1167:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "LPDDR2"; ^ ~~~~~~~~ drivers/memory/tegra/tegra30-emc.c:1167:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "LPDDR2"; ^ ~~~~~~~~ drivers/memory/tegra/tegra30-emc.c:1170:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "DDR2"; ^ ~~~~~~ drivers/memory/tegra/tegra30-emc.c:1170:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "DDR2"; ^ ~~~~~~ drivers/memory/tegra/tegra30-emc.c:1173:3: warning: Value stored to 'dram_type_str' is never read [clang-analyzer-deadcode.DeadStores] dram_type_str = "DDR3"; ^ ~~~~~~ drivers/memory/tegra/tegra30-emc.c:1173:3: note: Value stored to 'dram_type_str' is never read dram_type_str = "DDR3"; ^ ~~~~~~ 1 warning generated. Suppressed 1 warnings (1 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 1 warning generated. Suppressed 1 warnings (1 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 1 warning generated. drivers/staging/ks7010/ks_wlan_net.c:2104:2: warning: Value stored to 'p' is never read [clang-analyzer-deadcode.DeadStores] p = memcpy(priv->wps.ie + 1, p, len); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/ks7010/ks_wlan_net.c:2104:2: note: Value stored to 'p' is never read p = memcpy(priv->wps.ie + 1, p, len); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 warnings generated. drivers/media/tuners/fc0011.c:252:3: warning: Value stored to 'bandwidth' is never read [clang-analyzer-deadcode.DeadStores] bandwidth = 6000; ^ ~~~~ drivers/media/tuners/fc0011.c:252:3: note: Value stored to 'bandwidth' is never read bandwidth = 6000; ^ ~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 3 warnings generated. drivers/media/tuners/it913x.c:151:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct platform_device *pdev = dev->pdev; ^~~~ ~~~~~~~~~ drivers/media/tuners/it913x.c:151:26: note: Value stored to 'pdev' during its initialization is never read struct platform_device *pdev = dev->pdev; ^~~~ ~~~~~~~~~ drivers/media/tuners/it913x.c:210:26: warning: Value stored to 'pdev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct platform_device *pdev = dev->pdev; ^~~~ ~~~~~~~~~ drivers/media/tuners/it913x.c:210:26: note: Value stored to 'pdev' during its initialization is never read struct platform_device *pdev = dev->pdev; ^~~~ ~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 2 warnings generated. drivers/media/tuners/m88rs6000t.c:475:25: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct m88rs6000t_dev *dev = fe->tuner_priv; ^~~ ~~~~~~~~~~~~~~ drivers/media/tuners/m88rs6000t.c:475:25: note: Value stored to 'dev' during its initialization is never read struct m88rs6000t_dev *dev = fe->tuner_priv; ^~~ ~~~~~~~~~~~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 1 warning generated. Suppressed 1 warnings (1 with check filters). 2 warnings generated. lib/radix-tree.c:1046:3: warning: 4th function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] node_tag_clear(root, parent, tag, offset); ^ ~~~~~~ lib/radix-tree.c:1032:2: note: 'offset' declared without an initial value int offset; ^~~~~~~~~~ lib/radix-tree.c:1035:6: note: Assuming 'index' is <= 'maxindex' if (index > maxindex) ^~~~~~~~~~~~~~~~ lib/radix-tree.c:1035:2: note: Taking false branch if (index > maxindex) ^ lib/radix-tree.c:1040:2: note: Loop condition is false. Execution continues on line 1045 while (radix_tree_is_internal_node(node)) { ^ lib/radix-tree.c:1045:6: note: Assuming 'node' is non-null if (node) ^~~~ lib/radix-tree.c:1045:2: note: Taking true branch if (node) ^ lib/radix-tree.c:1046:3: note: 4th function call argument is an uninitialized value node_tag_clear(root, parent, tag, offset); ^ ~~~~~~ Suppressed 1 warnings (1 with check filters). 1 warning generated. drivers/input/keyboard/atkbd.c:1078:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] vim +/dram_type_str +1164 drivers/memory/tegra/tegra30-emc.c e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1117 e34212c75a6899 Dmitry Osipenko 2019-08-12 1118 static int emc_setup_hw(struct tegra_emc *emc) e34212c75a6899 Dmitry Osipenko 2019-08-12 1119 { e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1120 u32 fbio_cfg5, emc_cfg, emc_dbg, emc_adr_cfg; 930c68180ffb05 Dmitry Osipenko 2020-03-19 1121 u32 intmask = EMC_REFRESH_OVERFLOW_INT; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1122 static bool print_sdram_info_once; e34212c75a6899 Dmitry Osipenko 2019-08-12 1123 enum emc_dram_type dram_type; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1124 const char *dram_type_str; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1125 unsigned int emem_numdev; e34212c75a6899 Dmitry Osipenko 2019-08-12 1126 e34212c75a6899 Dmitry Osipenko 2019-08-12 1127 fbio_cfg5 = readl_relaxed(emc->regs + EMC_FBIO_CFG5); e34212c75a6899 Dmitry Osipenko 2019-08-12 1128 dram_type = fbio_cfg5 & EMC_FBIO_CFG5_DRAM_TYPE_MASK; e34212c75a6899 Dmitry Osipenko 2019-08-12 1129 e34212c75a6899 Dmitry Osipenko 2019-08-12 1130 emc_cfg = readl_relaxed(emc->regs + EMC_CFG_2); e34212c75a6899 Dmitry Osipenko 2019-08-12 1131 e34212c75a6899 Dmitry Osipenko 2019-08-12 1132 /* enable EMC and CAR to handshake on PLL divider/source changes */ e34212c75a6899 Dmitry Osipenko 2019-08-12 1133 emc_cfg |= EMC_CLKCHANGE_REQ_ENABLE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1134 e34212c75a6899 Dmitry Osipenko 2019-08-12 1135 /* configure clock change mode accordingly to DRAM type */ e34212c75a6899 Dmitry Osipenko 2019-08-12 1136 switch (dram_type) { e34212c75a6899 Dmitry Osipenko 2019-08-12 1137 case DRAM_TYPE_LPDDR2: e34212c75a6899 Dmitry Osipenko 2019-08-12 1138 emc_cfg |= EMC_CLKCHANGE_PD_ENABLE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1139 emc_cfg &= ~EMC_CLKCHANGE_SR_ENABLE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1140 break; e34212c75a6899 Dmitry Osipenko 2019-08-12 1141 e34212c75a6899 Dmitry Osipenko 2019-08-12 1142 default: e34212c75a6899 Dmitry Osipenko 2019-08-12 1143 emc_cfg &= ~EMC_CLKCHANGE_SR_ENABLE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1144 emc_cfg &= ~EMC_CLKCHANGE_PD_ENABLE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1145 break; e34212c75a6899 Dmitry Osipenko 2019-08-12 1146 } e34212c75a6899 Dmitry Osipenko 2019-08-12 1147 e34212c75a6899 Dmitry Osipenko 2019-08-12 1148 writel_relaxed(emc_cfg, emc->regs + EMC_CFG_2); e34212c75a6899 Dmitry Osipenko 2019-08-12 1149 e34212c75a6899 Dmitry Osipenko 2019-08-12 1150 /* initialize interrupt */ e34212c75a6899 Dmitry Osipenko 2019-08-12 1151 writel_relaxed(intmask, emc->regs + EMC_INTMASK); e34212c75a6899 Dmitry Osipenko 2019-08-12 1152 writel_relaxed(0xffffffff, emc->regs + EMC_INTSTATUS); e34212c75a6899 Dmitry Osipenko 2019-08-12 1153 e34212c75a6899 Dmitry Osipenko 2019-08-12 1154 /* ensure that unwanted debug features are disabled */ e34212c75a6899 Dmitry Osipenko 2019-08-12 1155 emc_dbg = readl_relaxed(emc->regs + EMC_DBG); e34212c75a6899 Dmitry Osipenko 2019-08-12 1156 emc_dbg |= EMC_DBG_CFG_PRIORITY; e34212c75a6899 Dmitry Osipenko 2019-08-12 1157 emc_dbg &= ~EMC_DBG_READ_MUX_ASSEMBLY; e34212c75a6899 Dmitry Osipenko 2019-08-12 1158 emc_dbg &= ~EMC_DBG_WRITE_MUX_ACTIVE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1159 emc_dbg &= ~EMC_DBG_FORCE_UPDATE; e34212c75a6899 Dmitry Osipenko 2019-08-12 1160 writel_relaxed(emc_dbg, emc->regs + EMC_DBG); e34212c75a6899 Dmitry Osipenko 2019-08-12 1161 e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1162 switch (dram_type) { e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1163 case DRAM_TYPE_DDR1: e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 @1164 dram_type_str = "DDR1"; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1165 break; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1166 case DRAM_TYPE_LPDDR2: e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1167 dram_type_str = "LPDDR2"; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1168 break; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1169 case DRAM_TYPE_DDR2: e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1170 dram_type_str = "DDR2"; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1171 break; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1172 case DRAM_TYPE_DDR3: e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1173 dram_type_str = "DDR3"; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1174 break; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1175 } e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1176 e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1177 emc_adr_cfg = readl_relaxed(emc->regs + EMC_ADR_CFG); e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1178 emem_numdev = FIELD_GET(EMC_ADR_CFG_EMEM_NUMDEV, emc_adr_cfg) + 1; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1179 e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1180 dev_info_once(emc->dev, "%u %s %s attached\n", emem_numdev, e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1181 dram_type_str, emem_numdev == 2 ? "devices" : "device"); e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1182 e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1183 if (dram_type == DRAM_TYPE_LPDDR2 && !print_sdram_info_once) { e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1184 while (emem_numdev--) e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1185 emc_read_lpddr_sdram_info(emc, emem_numdev); e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1186 e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1187 print_sdram_info_once = true; e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1188 } e3aabb3c7dbe66 Dmitry Osipenko 2021-12-22 1189 e34212c75a6899 Dmitry Osipenko 2019-08-12 1190 return 0; e34212c75a6899 Dmitry Osipenko 2019-08-12 1191 } e34212c75a6899 Dmitry Osipenko 2019-08-12 1192 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
