Hi Xiangxu,

kernel test robot noticed the following build warnings:

[auto build test WARNING on f486c8aa16b8172f63bddc70116a0c897a7f3f02]

url:    
https://github.com/intel-lab-lkp/linux/commits/Xiangxu-Yin/dt-bindings-display-msm-Document-DP-on-QCS615/20241129-160612
base:   f486c8aa16b8172f63bddc70116a0c897a7f3f02
patch link:    
https://lore.kernel.org/r/20241129-add-displayport-support-for-qcs615-platform-v1-3-09a4338d93ef%40quicinc.com
patch subject: [PATCH 3/8] phy: qcom: qmp-usbc: Add DP phy mode support on 
QCS615
config: arm64-allmodconfig 
(https://download.01.org/0day-ci/archive/20241129/202411292042.ndes4bgv-...@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 
592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20241129/202411292042.ndes4bgv-...@intel.com/reproduce)

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

All warnings (new ones prefixed by >>):

   In file included from drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:17:
   In file included from include/linux/phy/phy.h:17:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:21:
   In file included from include/linux/mm.h:2223:
   include/linux/vmstat.h:504:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     504 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     505 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:511:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     511 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     512 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:518:36: warning: arithmetic between different 
enumeration types ('enum node_stat_item' and 'enum lru_list') 
[-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   include/linux/vmstat.h:524:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     524 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     525 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:721:24: warning: variable 
>> 'pre_emphasis_cfg' is uninitialized when used here [-Wuninitialized]
     721 |         if ((v_level > 4) || (pre_emphasis_cfg > 4)) {
         |                               ^~~~~~~~~~~~~~~~
   drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:708:40: note: initialize the 
variable 'pre_emphasis_cfg' to silence this warning
     708 |         u8 voltage_swing_cfg, pre_emphasis_cfg;
         |                                               ^
         |                                                = '\0'
>> drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:1801:47: warning: variable 'ret' is 
>> uninitialized when used here [-Wuninitialized]
    1801 |                 dev_err(dev, "get resource fail, ret:%d\n", ret);
         |                                                             ^~~
   include/linux/dev_printk.h:154:65: note: expanded from macro 'dev_err'
     154 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), 
##__VA_ARGS__)
         |                                                                      
  ^~~~~~~~~~~
   include/linux/dev_printk.h:110:23: note: expanded from macro 
'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                    
   \
         |                                     ^~~~~~~~~~~
   drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:1797:9: note: initialize the 
variable 'ret' to silence this warning
    1797 |         int ret;
         |                ^
         |                 = 0
>> drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:2082:13: warning: variable 'np' is 
>> used uninitialized whenever 'if' condition is false 
>> [-Wsometimes-uninitialized]
    2082 |         } else if (qmp->type == QMP_PHY_USBC_DP) {
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:2150:14: note: uninitialized use 
occurs here
    2150 |         of_node_put(np);
         |                     ^~
   drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:2082:9: note: remove the 'if' if 
its condition is always true
    2082 |         } else if (qmp->type == QMP_PHY_USBC_DP) {
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/phy/qualcomm/phy-qcom-qmp-usbc.c:2027:24: note: initialize the 
variable 'np' to silence this warning
    2027 |         struct device_node *np;
         |                               ^
         |                                = NULL
   7 warnings generated.


vim +/pre_emphasis_cfg +721 drivers/phy/qualcomm/phy-qcom-qmp-usbc.c

   699  
   700  static int qcs615_qmp_configure_dp_voltages(struct qmp_usbc *qmp)
   701  {
   702          struct qmp_phy_dp_layout *layout = to_dp_layout(qmp);
   703          struct qmp_phy_dp_cfg *cfg = to_dp_cfg(qmp);
   704          const struct phy_configure_opts_dp *dp_opts = &layout->dp_opts;
   705          void __iomem *tx = layout->dp_tx;
   706          void __iomem *tx2 = layout->dp_tx2;
   707          unsigned int v_level = 0, p_level = 0;
   708          u8 voltage_swing_cfg, pre_emphasis_cfg;
   709          int i;
   710  
   711          if (dp_opts->lanes > 4) {
   712                  dev_err(qmp->dev, "Invalid lane_num(%d)\n", 
dp_opts->lanes);
   713                  return -EINVAL;
   714          }
   715  
   716          for (i = 0; i < dp_opts->lanes; i++) {
   717                  v_level = max(v_level, dp_opts->voltage[i]);
   718                  p_level = max(p_level, dp_opts->pre[i]);
   719          }
   720  
 > 721          if ((v_level > 4) || (pre_emphasis_cfg > 4)) {
   722                  dev_err(qmp->dev, "Invalid v(%d) | p(%d) level)\n",
   723                          v_level, pre_emphasis_cfg);
   724                  return -EINVAL;
   725          }
   726  
   727          voltage_swing_cfg = (*cfg->swing_tbl)[v_level][p_level];
   728          pre_emphasis_cfg = (*cfg->pre_emphasis_tbl)[v_level][p_level];
   729  
   730          /* Enable MUX to use Cursor values from these registers */
   731          voltage_swing_cfg |= DP_PHY_TXn_TX_DRV_LVL_MUX_EN;
   732          pre_emphasis_cfg |= DP_PHY_TXn_TX_EMP_POST1_LVL_MUX_EN;
   733  
   734          if (voltage_swing_cfg == 0xFF && pre_emphasis_cfg == 0xFF)
   735                  return -EINVAL;
   736  
   737          /* program default setting first */
   738          writel(0x2A, tx + QSERDES_V3_TX_TX_DRV_LVL);
   739          writel(0x20, tx + QSERDES_V3_TX_TX_EMP_POST1_LVL);
   740          writel(0x2A, tx2 + QSERDES_V3_TX_TX_DRV_LVL);
   741          writel(0x20, tx2 + QSERDES_V3_TX_TX_EMP_POST1_LVL);
   742  
   743          writel(voltage_swing_cfg, tx + QSERDES_V3_TX_TX_DRV_LVL);
   744          writel(pre_emphasis_cfg, tx + QSERDES_V3_TX_TX_EMP_POST1_LVL);
   745          writel(voltage_swing_cfg, tx2 + QSERDES_V3_TX_TX_DRV_LVL);
   746          writel(pre_emphasis_cfg, tx2 + QSERDES_V3_TX_TX_EMP_POST1_LVL);
   747  
   748          return 0;
   749  }
   750  

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

Reply via email to