Print this page
3014 Intel X540 Support (fix lint)

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/ixgbe/ixgbe_common.c
          +++ new/usr/src/uts/common/io/ixgbe/ixgbe_common.c
↓ open down ↓ 424 lines elided ↑ open up ↑
 425  425   *
 426  426   *  Clears all hardware statistics counters by reading them from the hardware
 427  427   *  Statistics counters are clear on read.
 428  428   **/
 429  429  s32 ixgbe_clear_hw_cntrs_generic(struct ixgbe_hw *hw)
 430  430  {
 431  431          u16 i = 0;
 432  432  
 433  433          DEBUGFUNC("ixgbe_clear_hw_cntrs_generic");
 434  434  
 435      -        IXGBE_READ_REG(hw, IXGBE_CRCERRS);
 436      -        IXGBE_READ_REG(hw, IXGBE_ILLERRC);
 437      -        IXGBE_READ_REG(hw, IXGBE_ERRBC);
 438      -        IXGBE_READ_REG(hw, IXGBE_MSPDC);
      435 +        (void) IXGBE_READ_REG(hw, IXGBE_CRCERRS);
      436 +        (void) IXGBE_READ_REG(hw, IXGBE_ILLERRC);
      437 +        (void) IXGBE_READ_REG(hw, IXGBE_ERRBC);
      438 +        (void) IXGBE_READ_REG(hw, IXGBE_MSPDC);
 439  439          for (i = 0; i < 8; i++)
 440      -                IXGBE_READ_REG(hw, IXGBE_MPC(i));
      440 +                (void) IXGBE_READ_REG(hw, IXGBE_MPC(i));
 441  441  
 442      -        IXGBE_READ_REG(hw, IXGBE_MLFC);
 443      -        IXGBE_READ_REG(hw, IXGBE_MRFC);
 444      -        IXGBE_READ_REG(hw, IXGBE_RLEC);
 445      -        IXGBE_READ_REG(hw, IXGBE_LXONTXC);
 446      -        IXGBE_READ_REG(hw, IXGBE_LXOFFTXC);
      442 +        (void) IXGBE_READ_REG(hw, IXGBE_MLFC);
      443 +        (void) IXGBE_READ_REG(hw, IXGBE_MRFC);
      444 +        (void) IXGBE_READ_REG(hw, IXGBE_RLEC);
      445 +        (void) IXGBE_READ_REG(hw, IXGBE_LXONTXC);
      446 +        (void) IXGBE_READ_REG(hw, IXGBE_LXOFFTXC);
 447  447          if (hw->mac.type >= ixgbe_mac_82599EB) {
 448      -                IXGBE_READ_REG(hw, IXGBE_LXONRXCNT);
 449      -                IXGBE_READ_REG(hw, IXGBE_LXOFFRXCNT);
      448 +                (void) IXGBE_READ_REG(hw, IXGBE_LXONRXCNT);
      449 +                (void) IXGBE_READ_REG(hw, IXGBE_LXOFFRXCNT);
 450  450          } else {
 451      -                IXGBE_READ_REG(hw, IXGBE_LXONRXC);
 452      -                IXGBE_READ_REG(hw, IXGBE_LXOFFRXC);
      451 +                (void) IXGBE_READ_REG(hw, IXGBE_LXONRXC);
      452 +                (void) IXGBE_READ_REG(hw, IXGBE_LXOFFRXC);
 453  453          }
 454  454  
 455  455          for (i = 0; i < 8; i++) {
 456      -                IXGBE_READ_REG(hw, IXGBE_PXONTXC(i));
 457      -                IXGBE_READ_REG(hw, IXGBE_PXOFFTXC(i));
      456 +                (void) IXGBE_READ_REG(hw, IXGBE_PXONTXC(i));
      457 +                (void) IXGBE_READ_REG(hw, IXGBE_PXOFFTXC(i));
 458  458                  if (hw->mac.type >= ixgbe_mac_82599EB) {
 459      -                        IXGBE_READ_REG(hw, IXGBE_PXONRXCNT(i));
 460      -                        IXGBE_READ_REG(hw, IXGBE_PXOFFRXCNT(i));
      459 +                        (void) IXGBE_READ_REG(hw, IXGBE_PXONRXCNT(i));
      460 +                        (void) IXGBE_READ_REG(hw, IXGBE_PXOFFRXCNT(i));
 461  461                  } else {
 462      -                        IXGBE_READ_REG(hw, IXGBE_PXONRXC(i));
 463      -                        IXGBE_READ_REG(hw, IXGBE_PXOFFRXC(i));
      462 +                        (void) IXGBE_READ_REG(hw, IXGBE_PXONRXC(i));
      463 +                        (void) IXGBE_READ_REG(hw, IXGBE_PXOFFRXC(i));
 464  464                  }
 465  465          }
 466  466          if (hw->mac.type >= ixgbe_mac_82599EB)
 467  467                  for (i = 0; i < 8; i++)
 468      -                        IXGBE_READ_REG(hw, IXGBE_PXON2OFFCNT(i));
 469      -        IXGBE_READ_REG(hw, IXGBE_PRC64);
 470      -        IXGBE_READ_REG(hw, IXGBE_PRC127);
 471      -        IXGBE_READ_REG(hw, IXGBE_PRC255);
 472      -        IXGBE_READ_REG(hw, IXGBE_PRC511);
 473      -        IXGBE_READ_REG(hw, IXGBE_PRC1023);
 474      -        IXGBE_READ_REG(hw, IXGBE_PRC1522);
 475      -        IXGBE_READ_REG(hw, IXGBE_GPRC);
 476      -        IXGBE_READ_REG(hw, IXGBE_BPRC);
 477      -        IXGBE_READ_REG(hw, IXGBE_MPRC);
 478      -        IXGBE_READ_REG(hw, IXGBE_GPTC);
 479      -        IXGBE_READ_REG(hw, IXGBE_GORCL);
 480      -        IXGBE_READ_REG(hw, IXGBE_GORCH);
 481      -        IXGBE_READ_REG(hw, IXGBE_GOTCL);
 482      -        IXGBE_READ_REG(hw, IXGBE_GOTCH);
      468 +                        (void) IXGBE_READ_REG(hw, IXGBE_PXON2OFFCNT(i));
      469 +        (void) IXGBE_READ_REG(hw, IXGBE_PRC64);
      470 +        (void) IXGBE_READ_REG(hw, IXGBE_PRC127);
      471 +        (void) IXGBE_READ_REG(hw, IXGBE_PRC255);
      472 +        (void) IXGBE_READ_REG(hw, IXGBE_PRC511);
      473 +        (void) IXGBE_READ_REG(hw, IXGBE_PRC1023);
      474 +        (void) IXGBE_READ_REG(hw, IXGBE_PRC1522);
      475 +        (void) IXGBE_READ_REG(hw, IXGBE_GPRC);
      476 +        (void) IXGBE_READ_REG(hw, IXGBE_BPRC);
      477 +        (void) IXGBE_READ_REG(hw, IXGBE_MPRC);
      478 +        (void) IXGBE_READ_REG(hw, IXGBE_GPTC);
      479 +        (void) IXGBE_READ_REG(hw, IXGBE_GORCL);
      480 +        (void) IXGBE_READ_REG(hw, IXGBE_GORCH);
      481 +        (void) IXGBE_READ_REG(hw, IXGBE_GOTCL);
      482 +        (void) IXGBE_READ_REG(hw, IXGBE_GOTCH);
 483  483          if (hw->mac.type == ixgbe_mac_82598EB)
 484  484                  for (i = 0; i < 8; i++)
 485      -                        IXGBE_READ_REG(hw, IXGBE_RNBC(i));
 486      -        IXGBE_READ_REG(hw, IXGBE_RUC);
 487      -        IXGBE_READ_REG(hw, IXGBE_RFC);
 488      -        IXGBE_READ_REG(hw, IXGBE_ROC);
 489      -        IXGBE_READ_REG(hw, IXGBE_RJC);
 490      -        IXGBE_READ_REG(hw, IXGBE_MNGPRC);
 491      -        IXGBE_READ_REG(hw, IXGBE_MNGPDC);
 492      -        IXGBE_READ_REG(hw, IXGBE_MNGPTC);
 493      -        IXGBE_READ_REG(hw, IXGBE_TORL);
 494      -        IXGBE_READ_REG(hw, IXGBE_TORH);
 495      -        IXGBE_READ_REG(hw, IXGBE_TPR);
 496      -        IXGBE_READ_REG(hw, IXGBE_TPT);
 497      -        IXGBE_READ_REG(hw, IXGBE_PTC64);
 498      -        IXGBE_READ_REG(hw, IXGBE_PTC127);
 499      -        IXGBE_READ_REG(hw, IXGBE_PTC255);
 500      -        IXGBE_READ_REG(hw, IXGBE_PTC511);
 501      -        IXGBE_READ_REG(hw, IXGBE_PTC1023);
 502      -        IXGBE_READ_REG(hw, IXGBE_PTC1522);
 503      -        IXGBE_READ_REG(hw, IXGBE_MPTC);
 504      -        IXGBE_READ_REG(hw, IXGBE_BPTC);
      485 +                        (void) IXGBE_READ_REG(hw, IXGBE_RNBC(i));
      486 +        (void) IXGBE_READ_REG(hw, IXGBE_RUC);
      487 +        (void) IXGBE_READ_REG(hw, IXGBE_RFC);
      488 +        (void) IXGBE_READ_REG(hw, IXGBE_ROC);
      489 +        (void) IXGBE_READ_REG(hw, IXGBE_RJC);
      490 +        (void) IXGBE_READ_REG(hw, IXGBE_MNGPRC);
      491 +        (void) IXGBE_READ_REG(hw, IXGBE_MNGPDC);
      492 +        (void) IXGBE_READ_REG(hw, IXGBE_MNGPTC);
      493 +        (void) IXGBE_READ_REG(hw, IXGBE_TORL);
      494 +        (void) IXGBE_READ_REG(hw, IXGBE_TORH);
      495 +        (void) IXGBE_READ_REG(hw, IXGBE_TPR);
      496 +        (void) IXGBE_READ_REG(hw, IXGBE_TPT);
      497 +        (void) IXGBE_READ_REG(hw, IXGBE_PTC64);
      498 +        (void) IXGBE_READ_REG(hw, IXGBE_PTC127);
      499 +        (void) IXGBE_READ_REG(hw, IXGBE_PTC255);
      500 +        (void) IXGBE_READ_REG(hw, IXGBE_PTC511);
      501 +        (void) IXGBE_READ_REG(hw, IXGBE_PTC1023);
      502 +        (void) IXGBE_READ_REG(hw, IXGBE_PTC1522);
      503 +        (void) IXGBE_READ_REG(hw, IXGBE_MPTC);
      504 +        (void) IXGBE_READ_REG(hw, IXGBE_BPTC);
 505  505          for (i = 0; i < 16; i++) {
 506      -                IXGBE_READ_REG(hw, IXGBE_QPRC(i));
 507      -                IXGBE_READ_REG(hw, IXGBE_QPTC(i));
      506 +                (void) IXGBE_READ_REG(hw, IXGBE_QPRC(i));
      507 +                (void) IXGBE_READ_REG(hw, IXGBE_QPTC(i));
 508  508                  if (hw->mac.type >= ixgbe_mac_82599EB) {
 509      -                        IXGBE_READ_REG(hw, IXGBE_QBRC_L(i));
 510      -                        IXGBE_READ_REG(hw, IXGBE_QBRC_H(i));
 511      -                        IXGBE_READ_REG(hw, IXGBE_QBTC_L(i));
 512      -                        IXGBE_READ_REG(hw, IXGBE_QBTC_H(i));
 513      -                        IXGBE_READ_REG(hw, IXGBE_QPRDC(i));
      509 +                        (void) IXGBE_READ_REG(hw, IXGBE_QBRC_L(i));
      510 +                        (void) IXGBE_READ_REG(hw, IXGBE_QBRC_H(i));
      511 +                        (void) IXGBE_READ_REG(hw, IXGBE_QBTC_L(i));
      512 +                        (void) IXGBE_READ_REG(hw, IXGBE_QBTC_H(i));
      513 +                        (void) IXGBE_READ_REG(hw, IXGBE_QPRDC(i));
 514  514                  } else {
 515      -                        IXGBE_READ_REG(hw, IXGBE_QBRC(i));
 516      -                        IXGBE_READ_REG(hw, IXGBE_QBTC(i));
      515 +                        (void) IXGBE_READ_REG(hw, IXGBE_QBRC(i));
      516 +                        (void) IXGBE_READ_REG(hw, IXGBE_QBTC(i));
 517  517                  }
 518  518          }
 519  519  
 520  520          if (hw->mac.type == ixgbe_mac_X540) {
 521  521                  if (hw->phy.id == 0)
 522      -                        ixgbe_identify_phy(hw);
      522 +                        (void) ixgbe_identify_phy(hw);
 523  523                  hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECL,
 524  524                                       IXGBE_MDIO_PCS_DEV_TYPE, &i);
 525  525                  hw->phy.ops.read_reg(hw, IXGBE_PCRC8ECH,
 526  526                                       IXGBE_MDIO_PCS_DEV_TYPE, &i);
 527  527                  hw->phy.ops.read_reg(hw, IXGBE_LDPCECL,
 528  528                                       IXGBE_MDIO_PCS_DEV_TYPE, &i);
 529  529                  hw->phy.ops.read_reg(hw, IXGBE_LDPCECH,
 530  530                                       IXGBE_MDIO_PCS_DEV_TYPE, &i);
 531  531          }
 532  532  
↓ open down ↓ 276 lines elided ↑ open up ↑
 809  809           */
 810  810          hw->adapter_stopped = TRUE;
 811  811  
 812  812          /* Disable the receive unit */
 813  813          IXGBE_WRITE_REG(hw, IXGBE_RXCTRL, 0);
 814  814  
 815  815          /* Clear interrupt mask to stop interrupts from being generated */
 816  816          IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_IRQ_CLEAR_MASK);
 817  817  
 818  818          /* Clear any pending interrupts, flush previous writes */
 819      -        IXGBE_READ_REG(hw, IXGBE_EICR);
      819 +        (void) IXGBE_READ_REG(hw, IXGBE_EICR);
 820  820  
 821  821          /* Disable the transmit unit.  Each queue must be disabled. */
 822  822          for (i = 0; i < hw->mac.max_tx_queues; i++)
 823  823                  IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(i), IXGBE_TXDCTL_SWFLSH);
 824  824  
 825  825          /* Disable the receive unit by stopping each queue */
 826  826          for (i = 0; i < hw->mac.max_rx_queues; i++) {
 827  827                  reg_val = IXGBE_READ_REG(hw, IXGBE_RXDCTL(i));
 828  828                  reg_val &= ~IXGBE_RXDCTL_ENABLE;
 829  829                  reg_val |= IXGBE_RXDCTL_SWFLSH;
↓ open down ↓ 132 lines elided ↑ open up ↑
 962  962                  status = IXGBE_ERR_EEPROM;
 963  963                  goto out;
 964  964          }
 965  965  
 966  966          /*
 967  967           * The EEPROM page size cannot be queried from the chip. We do lazy
 968  968           * initialization. It is worth to do that when we write large buffer.
 969  969           */
 970  970          if ((hw->eeprom.word_page_size == 0) &&
 971  971              (words > IXGBE_EEPROM_PAGE_SIZE_MAX))
 972      -                ixgbe_detect_eeprom_page_size_generic(hw, offset);
      972 +                status = ixgbe_detect_eeprom_page_size_generic(hw, offset);
      973 +        if (status != IXGBE_SUCCESS)
      974 +                goto out;
 973  975  
 974  976          /*
 975  977           * We cannot hold synchronization semaphores for too long
 976  978           * to avoid other entity starvation. However it is more efficient
 977  979           * to read in bursts than synchronizing access for each word.
 978  980           */
 979  981          for (i = 0; i < words; i += IXGBE_EEPROM_RD_BUFFER_MAX_COUNT) {
 980  982                  count = (words - i) / IXGBE_EEPROM_RD_BUFFER_MAX_COUNT > 0 ?
 981  983                          IXGBE_EEPROM_RD_BUFFER_MAX_COUNT : (words - i);
 982  984                  status = ixgbe_write_eeprom_buffer_bit_bang(hw, offset + i,
↓ open down ↓ 1146 lines elided ↑ open up ↑
2129 2131          }
2130 2132  
2131 2133          /* Clear the MTA */
2132 2134          hw->addr_ctrl.mta_in_use = 0;
2133 2135          IXGBE_WRITE_REG(hw, IXGBE_MCSTCTRL, hw->mac.mc_filter_type);
2134 2136  
2135 2137          DEBUGOUT(" Clearing MTA\n");
2136 2138          for (i = 0; i < hw->mac.mcft_size; i++)
2137 2139                  IXGBE_WRITE_REG(hw, IXGBE_MTA(i), 0);
2138 2140  
2139      -        ixgbe_init_uta_tables(hw);
2140      -
2141      -        return IXGBE_SUCCESS;
     2141 +        /* Should always be IXGBE_SUCCESS. */
     2142 +        return ixgbe_init_uta_tables(hw);
2142 2143  }
2143 2144  
2144 2145  /**
2145 2146   *  ixgbe_add_uc_addr - Adds a secondary unicast address.
2146 2147   *  @hw: pointer to hardware structure
2147 2148   *  @addr: new address
2148 2149   *
2149 2150   *  Adds it to unused receive address register or goes into promiscuous mode.
2150 2151   **/
2151 2152  void ixgbe_add_uc_addr(struct ixgbe_hw *hw, u8 *addr, u32 vmdq)
↓ open down ↓ 191 lines elided ↑ open up ↑
2343 2344          /*
2344 2345           * Set the new number of MC addresses that we are being requested to
2345 2346           * use.
2346 2347           */
2347 2348          hw->addr_ctrl.num_mc_addrs = mc_addr_count;
2348 2349          hw->addr_ctrl.mta_in_use = 0;
2349 2350  
2350 2351          /* Clear mta_shadow */
2351 2352          if (clear) {
2352 2353                  DEBUGOUT(" Clearing MTA\n");
2353      -                memset(&hw->mac.mta_shadow, 0, sizeof(hw->mac.mta_shadow));
     2354 +                (void) memset(&hw->mac.mta_shadow, 0,
     2355 +                    sizeof(hw->mac.mta_shadow));
2354 2356          }
2355 2357  
2356 2358          /* Update mta_shadow */
2357 2359          for (i = 0; i < mc_addr_count; i++) {
2358 2360                  DEBUGOUT(" Adding the multicast addresses:\n");
2359 2361                  ixgbe_set_mta(hw, next(hw, &mc_addr_list, &vmdq));
2360 2362          }
2361 2363  
2362 2364          /* Enable mta */
2363 2365          for (i = 0; i < hw->mac.mcft_size; i++)
↓ open down ↓ 499 lines elided ↑ open up ↑
2863 2865   *  Releases the SWFW semaphore through the GSSR register for the specified
2864 2866   *  function (CSR, PHY0, PHY1, EEPROM, Flash)
2865 2867   **/
2866 2868  void ixgbe_release_swfw_sync(struct ixgbe_hw *hw, u16 mask)
2867 2869  {
2868 2870          u32 gssr;
2869 2871          u32 swmask = mask;
2870 2872  
2871 2873          DEBUGFUNC("ixgbe_release_swfw_sync");
2872 2874  
2873      -        ixgbe_get_eeprom_semaphore(hw);
     2875 +        (void) ixgbe_get_eeprom_semaphore(hw);
2874 2876  
2875 2877          gssr = IXGBE_READ_REG(hw, IXGBE_GSSR);
2876 2878          gssr &= ~swmask;
2877 2879          IXGBE_WRITE_REG(hw, IXGBE_GSSR, gssr);
2878 2880  
2879 2881          ixgbe_release_eeprom_semaphore(hw);
2880 2882  }
2881 2883  
2882 2884  /**
2883 2885   *  ixgbe_disable_sec_rx_path_generic - Stops the receive data path
↓ open down ↓ 167 lines elided ↑ open up ↑
3051 3053  {
3052 3054          u16 san_mac_data, san_mac_offset;
3053 3055          u8 i;
3054 3056  
3055 3057          DEBUGFUNC("ixgbe_get_san_mac_addr_generic");
3056 3058  
3057 3059          /*
3058 3060           * First read the EEPROM pointer to see if the MAC addresses are
3059 3061           * available.  If they're not, no point in calling set_lan_id() here.
3060 3062           */
3061      -        ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset);
     3063 +        (void) ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset);
3062 3064  
3063 3065          if ((san_mac_offset == 0) || (san_mac_offset == 0xFFFF)) {
3064 3066                  /*
3065 3067                   * No addresses available in this EEPROM.  It's not an
3066 3068                   * error though, so just wipe the local address and return.
3067 3069                   */
3068 3070                  for (i = 0; i < 6; i++)
3069 3071                          san_mac_addr[i] = 0xFF;
3070 3072  
3071 3073                  goto san_mac_addr_out;
↓ open down ↓ 24 lines elided ↑ open up ↑
3096 3098   **/
3097 3099  s32 ixgbe_set_san_mac_addr_generic(struct ixgbe_hw *hw, u8 *san_mac_addr)
3098 3100  {
3099 3101          s32 status = IXGBE_SUCCESS;
3100 3102          u16 san_mac_data, san_mac_offset;
3101 3103          u8 i;
3102 3104  
3103 3105          DEBUGFUNC("ixgbe_set_san_mac_addr_generic");
3104 3106  
3105 3107          /* Look for SAN mac address pointer.  If not defined, return */
3106      -        ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset);
     3108 +        (void) ixgbe_get_san_mac_addr_offset(hw, &san_mac_offset);
3107 3109  
3108 3110          if ((san_mac_offset == 0) || (san_mac_offset == 0xFFFF)) {
3109 3111                  status = IXGBE_ERR_NO_SAN_ADDR_PTR;
3110 3112                  goto san_mac_addr_out;
3111 3113          }
3112 3114  
3113 3115          /* Make sure we know which port we need to write */
3114 3116          hw->mac.ops.set_lan_id(hw);
3115 3117          /* Apply the port offset to the address offset */
3116 3118          (hw->bus.func) ? (san_mac_offset += IXGBE_SAN_MAC_ADDR_PORT1_OFFSET) :
↓ open down ↓ 89 lines elided ↑ open up ↑
3206 3208                          first_empty_rar = rar;
3207 3209                  } else if ((rar_high & 0xFFFF) == addr_high) {
3208 3210                          rar_low = IXGBE_READ_REG(hw, IXGBE_RAL(rar));
3209 3211                          if (rar_low == addr_low)
3210 3212                                  break;    /* found it already in the rars */
3211 3213                  }
3212 3214          }
3213 3215  
3214 3216          if (rar < hw->mac.rar_highwater) {
3215 3217                  /* already there so just add to the pool bits */
3216      -                ixgbe_set_vmdq(hw, rar, vmdq);
     3218 +                (void) ixgbe_set_vmdq(hw, rar, vmdq);
3217 3219          } else if (first_empty_rar != NO_EMPTY_RAR_FOUND) {
3218 3220                  /* stick it into first empty RAR slot we found */
3219 3221                  rar = first_empty_rar;
3220      -                ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV);
     3222 +                (void) ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV);
3221 3223          } else if (rar == hw->mac.rar_highwater) {
3222 3224                  /* add it to the top of the list and inc the highwater mark */
3223      -                ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV);
     3225 +                (void) ixgbe_set_rar(hw, rar, addr, vmdq, IXGBE_RAH_AV);
3224 3226                  hw->mac.rar_highwater++;
3225 3227          } else if (rar >= hw->mac.num_rar_entries) {
3226 3228                  return IXGBE_ERR_INVALID_MAC_ADDR;
3227 3229          }
3228 3230  
3229 3231          /*
3230 3232           * If we found rar[0], make sure the default pool bit (we use pool 0)
3231 3233           * remains cleared to be sure default pool packets will get delivered
3232 3234           */
3233 3235          if (rar == 0)
3234      -                ixgbe_clear_vmdq(hw, rar, 0);
     3236 +                (void) ixgbe_clear_vmdq(hw, rar, 0);
3235 3237  
3236 3238          return rar;
3237 3239  }
3238 3240  
3239 3241  /**
3240 3242   *  ixgbe_clear_vmdq_generic - Disassociate a VMDq pool index from a rx address
3241 3243   *  @hw: pointer to hardware struct
3242 3244   *  @rar: receive address register index to disassociate
3243 3245   *  @vmdq: VMDq pool index to remove from the rar
3244 3246   **/
↓ open down ↓ 785 lines elided ↑ open up ↑
4030 4032          fw_cmd.ver_min = min;
4031 4033          fw_cmd.ver_build = build;
4032 4034          fw_cmd.ver_sub = sub;
4033 4035          fw_cmd.hdr.checksum = 0;
4034 4036          fw_cmd.hdr.checksum = ixgbe_calculate_checksum((u8 *)&fw_cmd,
4035 4037                                  (FW_CEM_HDR_LEN + fw_cmd.hdr.buf_len));
4036 4038          fw_cmd.pad = 0;
4037 4039          fw_cmd.pad2 = 0;
4038 4040  
4039 4041          for (i = 0; i <= FW_CEM_MAX_RETRIES; i++) {
     4042 +                /* LINTED */
4040 4043                  ret_val = ixgbe_host_interface_command(hw, (u32 *)&fw_cmd,
4041 4044                                                         sizeof(fw_cmd));
4042 4045                  if (ret_val != IXGBE_SUCCESS)
4043 4046                          continue;
4044 4047  
4045 4048                  if (fw_cmd.hdr.cmd_or_resp.ret_status ==
4046 4049                      FW_CEM_RESP_STATUS_SUCCESS)
4047 4050                          ret_val = IXGBE_SUCCESS;
4048 4051                  else
4049 4052                          ret_val = IXGBE_ERR_HOST_INTERFACE_COMMAND;
↓ open down ↓ 33 lines elided ↑ open up ↑
4083 4086          case PBA_STRATEGY_WEIGHTED:
4084 4087                  /* ixgbe_dcb_pba_80_48 strategy weight first half of packet
4085 4088                   * buffer with 5/8 of the packet buffer space.
4086 4089                   */
4087 4090                  rxpktsize = (pbsize * 5) / (num_pb * 4);
4088 4091                  pbsize -= rxpktsize * (num_pb / 2);
4089 4092                  rxpktsize <<= IXGBE_RXPBSIZE_SHIFT;
4090 4093                  for (; i < (num_pb / 2); i++)
4091 4094                          IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
4092 4095                  /* Fall through to configure remaining packet buffers */
     4096 +                /* FALLTHRU */
4093 4097          case PBA_STRATEGY_EQUAL:
4094 4098                  rxpktsize = (pbsize / (num_pb - i)) << IXGBE_RXPBSIZE_SHIFT;
4095 4099                  for (; i < num_pb; i++)
4096 4100                          IXGBE_WRITE_REG(hw, IXGBE_RXPBSIZE(i), rxpktsize);
4097 4101                  break;
4098 4102          default:
4099 4103                  break;
4100 4104          }
4101 4105  
4102 4106          /* Only support an equally distributed Tx packet buffer strategy. */
↓ open down ↓ 56 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX