LCOV - code coverage report
Current view: top level - drivers/net/enic/base - vnic_nic.h (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 7 0.0 %
Date: 2025-03-01 20:23:48 Functions: 0 0 -
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 2 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright 2008-2017 Cisco Systems, Inc.  All rights reserved.
       3                 :            :  * Copyright 2007 Nuova Systems, Inc.  All rights reserved.
       4                 :            :  */
       5                 :            : 
       6                 :            : #ifndef _VNIC_NIC_H_
       7                 :            : #define _VNIC_NIC_H_
       8                 :            : 
       9                 :            : #define NIC_CFG_RSS_DEFAULT_CPU_MASK_FIELD      0xffUL
      10                 :            : #define NIC_CFG_RSS_DEFAULT_CPU_SHIFT           0
      11                 :            : #define NIC_CFG_RSS_HASH_TYPE                   (0xffUL << 8)
      12                 :            : #define NIC_CFG_RSS_HASH_TYPE_MASK_FIELD        0xffUL
      13                 :            : #define NIC_CFG_RSS_HASH_TYPE_SHIFT             8
      14                 :            : #define NIC_CFG_RSS_HASH_BITS                   (7UL << 16)
      15                 :            : #define NIC_CFG_RSS_HASH_BITS_MASK_FIELD        7UL
      16                 :            : #define NIC_CFG_RSS_HASH_BITS_SHIFT             16
      17                 :            : #define NIC_CFG_RSS_BASE_CPU                    (7UL << 19)
      18                 :            : #define NIC_CFG_RSS_BASE_CPU_MASK_FIELD         7UL
      19                 :            : #define NIC_CFG_RSS_BASE_CPU_SHIFT              19
      20                 :            : #define NIC_CFG_RSS_ENABLE                      (1UL << 22)
      21                 :            : #define NIC_CFG_RSS_ENABLE_MASK_FIELD           1UL
      22                 :            : #define NIC_CFG_RSS_ENABLE_SHIFT                22
      23                 :            : #define NIC_CFG_TSO_IPID_SPLIT_EN               (1UL << 23)
      24                 :            : #define NIC_CFG_TSO_IPID_SPLIT_EN_MASK_FIELD    1UL
      25                 :            : #define NIC_CFG_TSO_IPID_SPLIT_EN_SHIFT         23
      26                 :            : #define NIC_CFG_IG_VLAN_STRIP_EN                (1UL << 24)
      27                 :            : #define NIC_CFG_IG_VLAN_STRIP_EN_MASK_FIELD     1UL
      28                 :            : #define NIC_CFG_IG_VLAN_STRIP_EN_SHIFT          24
      29                 :            : 
      30                 :            : #define NIC_CFG_RSS_HASH_TYPE_UDP_IPV4          (1 << 0)
      31                 :            : #define NIC_CFG_RSS_HASH_TYPE_IPV4              (1 << 1)
      32                 :            : #define NIC_CFG_RSS_HASH_TYPE_TCP_IPV4          (1 << 2)
      33                 :            : #define NIC_CFG_RSS_HASH_TYPE_IPV6              (1 << 3)
      34                 :            : #define NIC_CFG_RSS_HASH_TYPE_TCP_IPV6          (1 << 4)
      35                 :            : #define NIC_CFG_RSS_HASH_TYPE_RSVD1             (1 << 5)
      36                 :            : #define NIC_CFG_RSS_HASH_TYPE_RSVD2             (1 << 6)
      37                 :            : #define NIC_CFG_RSS_HASH_TYPE_UDP_IPV6          (1 << 7)
      38                 :            : 
      39                 :            : static inline void vnic_set_nic_cfg(uint32_t *nic_cfg,
      40                 :            :         uint8_t rss_default_cpu, uint8_t rss_hash_type,
      41                 :            :         uint8_t rss_hash_bits, uint8_t rss_base_cpu,
      42                 :            :         uint8_t rss_enable, uint8_t tso_ipid_split_en,
      43                 :            :         uint8_t ig_vlan_strip_en)
      44                 :            : {
      45                 :          0 :         *nic_cfg = (rss_default_cpu & NIC_CFG_RSS_DEFAULT_CPU_MASK_FIELD) |
      46                 :            :                 ((rss_hash_type & NIC_CFG_RSS_HASH_TYPE_MASK_FIELD)
      47                 :          0 :                         << NIC_CFG_RSS_HASH_TYPE_SHIFT) |
      48                 :            :                 ((rss_hash_bits & NIC_CFG_RSS_HASH_BITS_MASK_FIELD)
      49                 :          0 :                         << NIC_CFG_RSS_HASH_BITS_SHIFT) |
      50                 :            :                 ((rss_base_cpu & NIC_CFG_RSS_BASE_CPU_MASK_FIELD)
      51                 :          0 :                         << NIC_CFG_RSS_BASE_CPU_SHIFT) |
      52                 :            :                 ((rss_enable & NIC_CFG_RSS_ENABLE_MASK_FIELD)
      53                 :          0 :                         << NIC_CFG_RSS_ENABLE_SHIFT) |
      54                 :            :                 ((tso_ipid_split_en & NIC_CFG_TSO_IPID_SPLIT_EN_MASK_FIELD)
      55                 :          0 :                         << NIC_CFG_TSO_IPID_SPLIT_EN_SHIFT) |
      56                 :            :                 ((ig_vlan_strip_en & NIC_CFG_IG_VLAN_STRIP_EN_MASK_FIELD)
      57         [ #  # ]:          0 :                         << NIC_CFG_IG_VLAN_STRIP_EN_SHIFT);
      58                 :            : }
      59                 :            : 
      60                 :            : #endif /* _VNIC_NIC_H_ */

Generated by: LCOV version 1.14