diff options
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_cmn.h')
-rw-r--r-- | drivers/net/bnx2x/bnx2x_cmn.h | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/drivers/net/bnx2x/bnx2x_cmn.h b/drivers/net/bnx2x/bnx2x_cmn.h index 03eb4d68e6b..ef37b98d614 100644 --- a/drivers/net/bnx2x/bnx2x_cmn.h +++ b/drivers/net/bnx2x/bnx2x_cmn.h | |||
@@ -341,6 +341,15 @@ void bnx2x_dcbx_init(struct bnx2x *bp); | |||
341 | */ | 341 | */ |
342 | int bnx2x_set_power_state(struct bnx2x *bp, pci_power_t state); | 342 | int bnx2x_set_power_state(struct bnx2x *bp, pci_power_t state); |
343 | 343 | ||
344 | /** | ||
345 | * Updates MAX part of MF configuration in HW | ||
346 | * (if required) | ||
347 | * | ||
348 | * @param bp | ||
349 | * @param value | ||
350 | */ | ||
351 | void bnx2x_update_max_mf_config(struct bnx2x *bp, u32 value); | ||
352 | |||
344 | /* dev_close main block */ | 353 | /* dev_close main block */ |
345 | int bnx2x_nic_unload(struct bnx2x *bp, int unload_mode); | 354 | int bnx2x_nic_unload(struct bnx2x *bp, int unload_mode); |
346 | 355 | ||
@@ -822,11 +831,11 @@ static inline int bnx2x_alloc_rx_skb(struct bnx2x *bp, | |||
822 | struct eth_rx_bd *rx_bd = &fp->rx_desc_ring[index]; | 831 | struct eth_rx_bd *rx_bd = &fp->rx_desc_ring[index]; |
823 | dma_addr_t mapping; | 832 | dma_addr_t mapping; |
824 | 833 | ||
825 | skb = netdev_alloc_skb(bp->dev, bp->rx_buf_size); | 834 | skb = netdev_alloc_skb(bp->dev, fp->rx_buf_size); |
826 | if (unlikely(skb == NULL)) | 835 | if (unlikely(skb == NULL)) |
827 | return -ENOMEM; | 836 | return -ENOMEM; |
828 | 837 | ||
829 | mapping = dma_map_single(&bp->pdev->dev, skb->data, bp->rx_buf_size, | 838 | mapping = dma_map_single(&bp->pdev->dev, skb->data, fp->rx_buf_size, |
830 | DMA_FROM_DEVICE); | 839 | DMA_FROM_DEVICE); |
831 | if (unlikely(dma_mapping_error(&bp->pdev->dev, mapping))) { | 840 | if (unlikely(dma_mapping_error(&bp->pdev->dev, mapping))) { |
832 | dev_kfree_skb(skb); | 841 | dev_kfree_skb(skb); |
@@ -892,7 +901,7 @@ static inline void bnx2x_free_tpa_pool(struct bnx2x *bp, | |||
892 | if (fp->tpa_state[i] == BNX2X_TPA_START) | 901 | if (fp->tpa_state[i] == BNX2X_TPA_START) |
893 | dma_unmap_single(&bp->pdev->dev, | 902 | dma_unmap_single(&bp->pdev->dev, |
894 | dma_unmap_addr(rx_buf, mapping), | 903 | dma_unmap_addr(rx_buf, mapping), |
895 | bp->rx_buf_size, DMA_FROM_DEVICE); | 904 | fp->rx_buf_size, DMA_FROM_DEVICE); |
896 | 905 | ||
897 | dev_kfree_skb(skb); | 906 | dev_kfree_skb(skb); |
898 | rx_buf->skb = NULL; | 907 | rx_buf->skb = NULL; |
@@ -1044,4 +1053,24 @@ static inline void storm_memset_cmng(struct bnx2x *bp, | |||
1044 | void bnx2x_acquire_phy_lock(struct bnx2x *bp); | 1053 | void bnx2x_acquire_phy_lock(struct bnx2x *bp); |
1045 | void bnx2x_release_phy_lock(struct bnx2x *bp); | 1054 | void bnx2x_release_phy_lock(struct bnx2x *bp); |
1046 | 1055 | ||
1056 | /** | ||
1057 | * Extracts MAX BW part from MF configuration. | ||
1058 | * | ||
1059 | * @param bp | ||
1060 | * @param mf_cfg | ||
1061 | * | ||
1062 | * @return u16 | ||
1063 | */ | ||
1064 | static inline u16 bnx2x_extract_max_cfg(struct bnx2x *bp, u32 mf_cfg) | ||
1065 | { | ||
1066 | u16 max_cfg = (mf_cfg & FUNC_MF_CFG_MAX_BW_MASK) >> | ||
1067 | FUNC_MF_CFG_MAX_BW_SHIFT; | ||
1068 | if (!max_cfg) { | ||
1069 | BNX2X_ERR("Illegal configuration detected for Max BW - " | ||
1070 | "using 100 instead\n"); | ||
1071 | max_cfg = 100; | ||
1072 | } | ||
1073 | return max_cfg; | ||
1074 | } | ||
1075 | |||
1047 | #endif /* BNX2X_CMN_H */ | 1076 | #endif /* BNX2X_CMN_H */ |