Lines Matching +full:preemphasis +full:- +full:width

1 /* Broadcom NetXtreme-C/E network driver.
3 * Copyright (c) 2014-2016 Broadcom Corporation
4 * Copyright (c) 2016-2018 Broadcom Limited
31 #include <linux/io-64-nonatomic-lo-hi.h>
191 ((rxcmp)->rx_cmp_len_flags_type & cpu_to_le32(RX_CMP_FLAGS_RSS_VALID))
196 (((le32_to_cpu((rxcmp)->rx_cmp_misc_v1) & RX_CMP_RSS_HASH_TYPE) >>\
260 (((rxcmp1)->rx_cmp_flags2 & RX_CMP_L4_CS_BITS) && \
261 !((rxcmp1)->rx_cmp_cfa_code_errors_v2 & RX_CMP_L4_CS_ERR_BITS))
264 ((le32_to_cpu((rxcmp1)->rx_cmp_flags2) & \
268 ((le32_to_cpu((rxcmpl1)->rx_cmp_cfa_code_errors_v2) & \
285 ((le32_to_cpu((rx_agg)->rx_agg_cmp_v) & \
322 ((rx_tpa_start)->rx_tpa_start_cmp_len_flags_type & \
326 (((le32_to_cpu((rx_tpa_start)->rx_tpa_start_cmp_misc_v1) & \
331 ((le32_to_cpu((rx_tpa_start)->rx_tpa_start_cmp_misc_v1) & \
335 ((le32_to_cpu((rx_tpa_start)->rx_tpa_start_cmp_misc_v1) & \
339 ((rx_tpa_start)->rx_tpa_start_cmp_len_flags_type & \
369 ((le32_to_cpu((rx_tpa_start)->rx_tpa_start_cmp_cfa_code_v2) & \
373 (!!((rx_tpa_start)->rx_tpa_start_cmp_flags2 & \
377 ((le32_to_cpu((rx_tpa_start)->rx_tpa_start_cmp_cfa_code_v2) & \
418 ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
422 ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
426 ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
430 ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
434 ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
442 ((rx_tpa_end)->rx_tpa_end_cmp_len_flags_type & \
446 (!!((rx_tpa_end)->rx_tpa_end_cmp_tsdelta & \
475 ((rx_tpa_end_ext)->rx_tpa_end_cmp_errors_v2 & \
479 ((le32_to_cpu((rx_tpa_end_ext)->rx_tpa_end_cmp_dup_acks) & \
484 ((le32_to_cpu((rx_tpa_end_ext)->rx_tpa_end_cmp_dup_acks) & \
536 /* 64-bit doorbell */
558 #define INVALID_HW_RING_ID ((u16)-1)
575 /* The RXBD length is 16-bit so we can only support page sizes < 64K */
586 ((unsigned int)PAGE_SIZE - VLAN_ETH_HLEN - NET_IP_ALIGN - \
596 #define MAX_TPA_P5_MASK (MAX_TPA_P5 - 1)
627 #define BNXT_MAX_RX_DESC_CNT (RX_DESC_CNT * MAX_RX_PAGES - 1)
628 #define BNXT_MAX_RX_DESC_CNT_JUM_ENA (RX_DESC_CNT * MAX_RX_PAGES_AGG_ENA - 1)
629 #define BNXT_MAX_RX_JUM_DESC_CNT (RX_DESC_CNT * MAX_RX_AGG_PAGES - 1)
630 #define BNXT_MAX_TX_DESC_CNT (TX_DESC_CNT * MAX_TX_PAGES - 1)
637 #define RX_RING(x) (((x) & ~(RX_DESC_CNT - 1)) >> (BNXT_PAGE_SHIFT - 4))
638 #define RX_IDX(x) ((x) & (RX_DESC_CNT - 1))
640 #define TX_RING(x) (((x) & ~(TX_DESC_CNT - 1)) >> (BNXT_PAGE_SHIFT - 4))
641 #define TX_IDX(x) ((x) & (TX_DESC_CNT - 1))
643 #define CP_RING(x) (((x) & ~(CP_DESC_CNT - 1)) >> (BNXT_PAGE_SHIFT - 4))
644 #define CP_IDX(x) ((x) & (CP_DESC_CNT - 1))
647 (!!((txcmp)->tx_cmp_errors_v & cpu_to_le32(TX_CMP_V)) == \
648 !((raw_cons) & bp->cp_bit))
651 (!!((rxcmp1)->rx_cmp_cfa_code_errors_v2 & cpu_to_le32(RX_CMP_V)) ==\
652 !((raw_cons) & bp->cp_bit))
655 (!!((agg)->rx_agg_cmp_v & cpu_to_le32(RX_AGG_CMP_V)) == \
656 !((raw_cons) & bp->cp_bit))
659 (!!((nqcmp)->v & cpu_to_le32(NQ_CN_V)) == !((raw_cons) & bp->cp_bit))
662 (le32_to_cpu((txcmp)->tx_cmp_flags_type) & CMP_TYPE)
665 (le32_to_cpu((rxcmp)->rx_cmp_len_flags_type) & RX_CMP_CMP_TYPE)
667 #define NEXT_RX(idx) (((idx) + 1) & bp->rx_ring_mask)
669 #define NEXT_RX_AGG(idx) (((idx) + 1) & bp->rx_agg_ring_mask)
671 #define NEXT_TX(idx) (((idx) + 1) & bp->tx_ring_mask)
675 #define RING_CMP(idx) ((idx) & bp->cp_ring_mask)
1010 #define INVALID_STATS_CTX_ID -1
1225 u32 preemphasis; member
1288 ((link_info)->support_pam4_speeds)
1344 ((bp->flags & BNXT_FLAG_CHIP_P5) ? 0x80000000 : 0xb1000000)
1412 /* Stat counter mask (width) */
1722 #define BNXT_PF(bp) (!((bp)->flags & BNXT_FLAG_VF))
1723 #define BNXT_VF(bp) ((bp)->flags & BNXT_FLAG_VF)
1724 #define BNXT_NPAR(bp) ((bp)->port_partition_type)
1725 #define BNXT_MH(bp) ((bp)->flags & BNXT_FLAG_MULTI_HOST)
1728 ((bp)->phy_flags & BNXT_PHY_FL_SHARED_PORT_CFG))
1731 (bp)->link_info.phy_state == BNXT_PHY_STATE_ENABLED)
1732 #define BNXT_CHIP_TYPE_NITRO_A0(bp) ((bp)->flags & BNXT_FLAG_CHIP_NITRO_A0)
1733 #define BNXT_RX_PAGE_MODE(bp) ((bp)->flags & BNXT_FLAG_RX_PAGE_MODE)
1735 (!((bp)->flags & BNXT_FLAG_CHIP_P5) || \
1736 (bp)->max_tpa_v2) && !is_kdump_kernel())
1739 ((bp)->chip_num == CHIP_NUM_58818)
1742 ((bp)->chip_num == CHIP_NUM_57508 || \
1743 (bp)->chip_num == CHIP_NUM_57504 || \
1744 (bp)->chip_num == CHIP_NUM_57502)
1752 (BNXT_CHIP_NUM_57X1X((bp)->chip_num) || \
1753 BNXT_CHIP_NUM_5745X((bp)->chip_num) || \
1754 BNXT_CHIP_NUM_588XX((bp)->chip_num) || \
1755 (BNXT_CHIP_NUM_58700((bp)->chip_num) && \
1845 (test_bit(BNXT_STATE_FW_FATAL_COND, &(bp)->state) || \
1846 pci_channel_offline((bp)->pdev))
1885 #define BNXT_NEW_RM(bp) ((bp)->fw_cap & BNXT_FW_CAP_NEW_RM)
1909 #define PHY_VER_STR_LEN (FW_VER_STR_LEN - BC_HWRM_STR_LEN)
1916 #define BNXT_FW_MAJ(bp) ((bp)->fw_ver_code >> 48)
1983 /* lock to protect VF-rep creation/cleanup via
1984 * multiple paths such as ->sriov_configure() and
1985 * devlink ->eswitch_mode_set()
1991 /* ensure atomic 64-bit doorbell writes on 32-bit systems. */
1998 #define BNXT_NTP_FLTR_HASH_MASK (BNXT_NTP_FLTR_HASH_SIZE - 1)
2041 /* devlink interface and vf-rep structs */
2045 struct bnxt_vf_rep **vf_reps; /* array of vf-rep ptrs */
2046 u16 *cfa_code_map; /* cfa_code -> vf_idx map */
2115 return bp->tx_ring_size - in bnxt_tx_avail()
2116 ((txr->tx_prod - txr->tx_cons) & bp->tx_ring_mask); in bnxt_tx_avail()
2123 spin_lock(&bp->db_lock); in bnxt_writeq()
2125 spin_unlock(&bp->db_lock); in bnxt_writeq()
2135 spin_lock(&bp->db_lock); in bnxt_writeq_relaxed()
2137 spin_unlock(&bp->db_lock); in bnxt_writeq_relaxed()
2147 if (bp->flags & BNXT_FLAG_CHIP_P5) { in bnxt_db_write_relaxed()
2148 bnxt_writeq_relaxed(bp, db->db_key64 | idx, db->doorbell); in bnxt_db_write_relaxed()
2150 u32 db_val = db->db_key32 | idx; in bnxt_db_write_relaxed()
2152 writel_relaxed(db_val, db->doorbell); in bnxt_db_write_relaxed()
2153 if (bp->flags & BNXT_FLAG_DOUBLE_DB) in bnxt_db_write_relaxed()
2154 writel_relaxed(db_val, db->doorbell); in bnxt_db_write_relaxed()
2162 if (bp->flags & BNXT_FLAG_CHIP_P5) { in bnxt_db_write()
2163 bnxt_writeq(bp, db->db_key64 | idx, db->doorbell); in bnxt_db_write()
2165 u32 db_val = db->db_key32 | idx; in bnxt_db_write()
2167 writel(db_val, db->doorbell); in bnxt_db_write()
2168 if (bp->flags & BNXT_FLAG_DOUBLE_DB) in bnxt_db_write()
2169 writel(db_val, db->doorbell); in bnxt_db_write()