Print this page
5255 uts shouldn't open-code ISP2

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/ntxn/unm_gem.c
          +++ new/usr/src/uts/common/io/ntxn/unm_gem.c
↓ open down ↓ 717 lines elided ↑ open up ↑
 718  718  
 719  719          adapter->tx_bcopy_threshold = ddi_prop_get_int(DDI_DEV_T_ANY,
 720  720              dip, DDI_PROP_DONTPASS, txbcopythreshold_propname,
 721  721              UNM_TX_BCOPY_THRESHOLD);
 722  722          adapter->rx_bcopy_threshold = ddi_prop_get_int(DDI_DEV_T_ANY,
 723  723              dip, DDI_PROP_DONTPASS, rxbcopythreshold_propname,
 724  724              UNM_RX_BCOPY_THRESHOLD);
 725  725  
 726  726          tx_desc = ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS,
 727  727              txringsize_propname, MAX_CMD_DESCRIPTORS_HOST);
 728      -        if (tx_desc >= 256 && tx_desc <= MAX_CMD_DESCRIPTORS &&
 729      -            !(tx_desc & (tx_desc - 1))) {
      728 +        if (tx_desc >= 256 && tx_desc <= MAX_CMD_DESCRIPTORS && ISP2(tx_desc)) {
 730  729                  adapter->MaxTxDescCount = tx_desc;
 731  730          } else {
 732  731                  cmn_err(CE_WARN, "%s%d: TxRingSize defaulting to %d, since "
 733  732                      ".conf value is not 2 power aligned in range 256 - %d\n",
 734  733                      adapter->name, adapter->instance, MAX_CMD_DESCRIPTORS_HOST,
 735  734                      MAX_CMD_DESCRIPTORS);
 736  735                  adapter->MaxTxDescCount = MAX_CMD_DESCRIPTORS_HOST;
 737  736          }
 738  737  
 739  738          rx_desc = ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS,
 740  739              rxringsize_propname, maxrx);
 741  740          if (rx_desc >= NX_MIN_DRIVER_RDS_SIZE &&
 742      -            rx_desc <= NX_MAX_SUPPORTED_RDS_SIZE &&
 743      -            !(rx_desc & (rx_desc - 1))) {
      741 +            rx_desc <= NX_MAX_SUPPORTED_RDS_SIZE && ISP2(rx_desc)) {
 744  742                  adapter->MaxRxDescCount = rx_desc;
 745  743          } else {
 746  744                  cmn_err(CE_WARN, "%s%d: RxRingSize defaulting to %d, since "
 747  745                      ".conf value is not 2 power aligned in range %d - %d\n",
 748  746                      adapter->name, adapter->instance, MAX_RCV_DESCRIPTORS,
 749  747                      NX_MIN_DRIVER_RDS_SIZE, NX_MAX_SUPPORTED_RDS_SIZE);
 750  748                  adapter->MaxRxDescCount = MAX_RCV_DESCRIPTORS;
 751  749          }
 752  750  
 753  751          rx_jdesc = ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS,
 754  752              jumborxringsize_propname, MAX_JUMBO_RCV_DESCRIPTORS);
 755  753          if (rx_jdesc >= NX_MIN_DRIVER_RDS_SIZE &&
 756      -            rx_jdesc <= NX_MAX_SUPPORTED_JUMBO_RDS_SIZE &&
 757      -            !(rx_jdesc & (rx_jdesc - 1))) {
      754 +            rx_jdesc <= NX_MAX_SUPPORTED_JUMBO_RDS_SIZE && ISP2(rx_jdesc)) {
 758  755                  adapter->MaxJumboRxDescCount = rx_jdesc;
 759  756          } else {
 760  757                  cmn_err(CE_WARN, "%s%d: JumboRingSize defaulting to %d, since "
 761  758                      ".conf value is not 2 power aligned in range %d - %d\n",
 762  759                      adapter->name, adapter->instance, MAX_JUMBO_RCV_DESCRIPTORS,
 763  760                      NX_MIN_DRIVER_RDS_SIZE, NX_MAX_SUPPORTED_JUMBO_RDS_SIZE);
 764  761                  adapter->MaxJumboRxDescCount = MAX_JUMBO_RCV_DESCRIPTORS;
 765  762          }
 766  763  
 767  764          /*
↓ open down ↓ 745 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX