Hi Jedrzej,

kernel test robot noticed the following build warnings:

[auto build test WARNING on tnguy-next-queue/dev-queue]

url:    
https://github.com/intel-lab-lkp/linux/commits/Jedrzej-Jagielski/ixgbe-Fix-smatch-warnings-after-type-convertion/20240119-015659
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git 
dev-queue
patch link:    
https://lore.kernel.org/r/20240118134332.470907-3-jedrzej.jagielski%40intel.com
patch subject: [PATCH iwl-next v3 3/3] ixgbe: Cleanup after type convertion
config: sparc-allyesconfig 
(https://download.01.org/0day-ci/archive/20240120/[email protected]/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240120/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

   drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c: In function 
'ixgbe_setup_mac_link_82599':
   drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c:774:34: error: 'autoc2' 
undeclared (first use in this function)
     774 |         u32 pma_pmd_10g_serial = autoc2 & 
IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_MASK;
         |                                  ^~~~~~
   drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c:774:34: note: each undeclared 
identifier is reported only once for each function it appears in
>> drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c:776:13: warning: unused 
>> variable 'autoc2' [-Wunused-variable]
     776 |         u32 autoc2 = IXGBE_READ_REG(hw, IXGBE_AUTOC2);
         |             ^~~~~~


vim +/autoc2 +776 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c

   761  
   762  /**
   763   *  ixgbe_setup_mac_link_82599 - Set MAC link speed
   764   *  @hw: pointer to hardware structure
   765   *  @speed: new link speed
   766   *  @autoneg_wait_to_complete: true when waiting for completion is 
needed
   767   *
   768   *  Set the link speed in the AUTOC register and restarts link.
   769   **/
   770  static int ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw,
   771                                        ixgbe_link_speed speed,
   772                                        bool autoneg_wait_to_complete)
   773  {
   774          u32 pma_pmd_10g_serial = autoc2 & 
IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_MASK;
   775          ixgbe_link_speed link_capabilities = IXGBE_LINK_SPEED_UNKNOWN;
 > 776          u32 autoc2 = IXGBE_READ_REG(hw, IXGBE_AUTOC2);
   777          u32 pma_pmd_1g, link_mode, links_reg, i;
   778          bool autoneg = false;
   779          int status;
   780  
   781          /* holds the value of AUTOC register at this current point in 
time */
   782          u32 current_autoc = IXGBE_READ_REG(hw, IXGBE_AUTOC);
   783          /* holds the cached value of AUTOC register */
   784          u32 orig_autoc = 0;
   785          /* temporary variable used for comparison purposes */
   786          u32 autoc = current_autoc;
   787  
   788          /* Check to see if speed passed in is supported. */
   789          status = hw->mac.ops.get_link_capabilities(hw, 
&link_capabilities,
   790                                                     &autoneg);
   791          if (status)
   792                  return status;
   793  
   794          speed &= link_capabilities;
   795  
   796          if (speed == IXGBE_LINK_SPEED_UNKNOWN)
   797                  return -EINVAL;
   798  
   799          /* Use stored value (EEPROM defaults) of AUTOC to find KR/KX4 
support*/
   800          if (hw->mac.orig_link_settings_stored)
   801                  orig_autoc = hw->mac.orig_autoc;
   802          else
   803                  orig_autoc = autoc;
   804  
   805          link_mode = autoc & IXGBE_AUTOC_LMS_MASK;
   806          pma_pmd_1g = autoc & IXGBE_AUTOC_1G_PMA_PMD_MASK;
   807  
   808          if (link_mode == IXGBE_AUTOC_LMS_KX4_KX_KR ||
   809              link_mode == IXGBE_AUTOC_LMS_KX4_KX_KR_1G_AN ||
   810              link_mode == IXGBE_AUTOC_LMS_KX4_KX_KR_SGMII) {
   811                  /* Set KX4/KX/KR support according to speed requested */
   812                  autoc &= ~(IXGBE_AUTOC_KX4_KX_SUPP_MASK | 
IXGBE_AUTOC_KR_SUPP);
   813                  if (speed & IXGBE_LINK_SPEED_10GB_FULL) {
   814                          if (orig_autoc & IXGBE_AUTOC_KX4_SUPP)
   815                                  autoc |= IXGBE_AUTOC_KX4_SUPP;
   816                          if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) &&
   817                              (hw->phy.smart_speed_active == false))
   818                                  autoc |= IXGBE_AUTOC_KR_SUPP;
   819                  }
   820                  if (speed & IXGBE_LINK_SPEED_1GB_FULL)
   821                          autoc |= IXGBE_AUTOC_KX_SUPP;
   822          } else if ((pma_pmd_1g == IXGBE_AUTOC_1G_SFI) &&
   823                     (link_mode == IXGBE_AUTOC_LMS_1G_LINK_NO_AN ||
   824                      link_mode == IXGBE_AUTOC_LMS_1G_AN)) {
   825                  /* Switch from 1G SFI to 10G SFI if requested */
   826                  if ((speed == IXGBE_LINK_SPEED_10GB_FULL) &&
   827                      (pma_pmd_10g_serial == IXGBE_AUTOC2_10G_SFI)) {
   828                          autoc &= ~IXGBE_AUTOC_LMS_MASK;
   829                          autoc |= IXGBE_AUTOC_LMS_10G_SERIAL;
   830                  }
   831          } else if ((pma_pmd_10g_serial == IXGBE_AUTOC2_10G_SFI) &&
   832                     (link_mode == IXGBE_AUTOC_LMS_10G_SERIAL)) {
   833                  /* Switch from 10G SFI to 1G SFI if requested */
   834                  if ((speed == IXGBE_LINK_SPEED_1GB_FULL) &&
   835                      (pma_pmd_1g == IXGBE_AUTOC_1G_SFI)) {
   836                          autoc &= ~IXGBE_AUTOC_LMS_MASK;
   837                          if (autoneg)
   838                                  autoc |= IXGBE_AUTOC_LMS_1G_AN;
   839                          else
   840                                  autoc |= IXGBE_AUTOC_LMS_1G_LINK_NO_AN;
   841                  }
   842          }
   843  
   844          if (autoc != current_autoc) {
   845                  /* Restart link */
   846                  status = hw->mac.ops.prot_autoc_write(hw, autoc, false);
   847                  if (status)
   848                          return status;
   849  
   850                  /* Only poll for autoneg to complete if specified to do 
so */
   851                  if (autoneg_wait_to_complete) {
   852                          if (link_mode == IXGBE_AUTOC_LMS_KX4_KX_KR ||
   853                              link_mode == 
IXGBE_AUTOC_LMS_KX4_KX_KR_1G_AN ||
   854                              link_mode == 
IXGBE_AUTOC_LMS_KX4_KX_KR_SGMII) {
   855                                  links_reg = 0; /*Just in case Autoneg 
time=0*/
   856                                  for (i = 0; i < IXGBE_AUTO_NEG_TIME; 
i++) {
   857                                          links_reg =
   858                                                 IXGBE_READ_REG(hw, 
IXGBE_LINKS);
   859                                          if (links_reg & 
IXGBE_LINKS_KX_AN_COMP)
   860                                                  break;
   861                                          msleep(100);
   862                                  }
   863                                  if (!(links_reg & 
IXGBE_LINKS_KX_AN_COMP)) {
   864                                          status = -EIO;
   865                                          hw_dbg(hw, "Autoneg did not 
complete.\n");
   866                                  }
   867                          }
   868                  }
   869  
   870                  /* Add delay to filter out noises during initial link 
setup */
   871                  msleep(50);
   872          }
   873  
   874          return status;
   875  }
   876  

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

Reply via email to