Lines Matching +full:self +full:- +full:advertising

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2005 - 2016 Broadcom
7 * linux-drivers@emulex.com
31 #include <linux/hwmon-sysfs.h>
60 /* Number of bytes of an RX frame that are copied to skb->data */
67 #define BE_MAX_MTU (BE_MAX_JUMBO_FRAME_SIZE - \
71 #define BE_MAX_GSO_SIZE (65535 - 2 * VLAN_HLEN)
106 #define RX_FRAGS_REFILL_WM (RX_Q_LEN - MAX_RX_POST)
112 #define CNTL_SERIAL_NUM_WORD_SZ (sizeof(u16)) /* Byte-sz of serial num word */
137 BUG_ON(limit & (limit - 1)); in MODULO()
138 return val & (limit - 1); in MODULO()
153 return q->dma_mem.va + q->head * q->entry_size; in queue_head_node()
158 return q->dma_mem.va + q->tail * q->entry_size; in queue_tail_node()
163 return q->dma_mem.va + index * q->entry_size; in queue_index_node()
168 index_inc(&q->head, q->len); in queue_head_inc()
173 *index = MODULO((*index - 1), limit); in index_dec()
178 index_inc(&q->tail, q->len); in queue_tail_inc()
245 u16 last_req_hdr; /* index of the last req's hdr-wrb */
251 /* set to page-addr for last frag of the page & frag-addr otherwise */
342 /* A vlan-id of 0xFFFF must be used to clear transparent vlan-tagging */
384 /* From SFF-8472 spec */
396 u32 advertising; member
420 * the FW, but is a self-imposed driver limitation.
425 /* These are port-wide values */
431 #define be_is_os2bmc_enabled(adapter) (adapter->flags & BE_FLAGS_OS2BMC)
470 /* The structure below provides a HW-agnostic abstraction of WRB params
492 /* UE-detection-duration in BEx/Skyhawk:
515 ERR_RECOVERY_ST_PRE_POLL = 3, /* Pre-Poll Phase (all PFs) */
516 ERR_RECOVERY_ST_REINIT = 4 /* Re-initialize Phase */
528 * the chip - PF0 only
569 u16 cfg_num_rx_irqs; /* configured via set-channels */
570 u16 cfg_num_tx_irqs; /* configured via set-channels */
593 struct be_dma_mem rx_filter; /* Cmd DMA mem for rx-filter */
613 struct be_eth_addr *uc_list;/* list of uc-addrs programmed (not perm) */
682 #define be_physfn(adapter) (!adapter->virtfn)
683 #define be_virtfn(adapter) (adapter->virtfn)
684 #define sriov_enabled(adapter) (adapter->flags & \
688 for (i = 0, vf_cfg = &adapter->vf_cfg[i]; i < adapter->num_vfs; \
694 #define be_max_vlans(adapter) (adapter->res.max_vlans)
695 #define be_max_uc(adapter) (adapter->res.max_uc_mac)
696 #define be_max_mc(adapter) (adapter->res.max_mcast_mac)
697 #define be_max_vfs(adapter) (adapter->pool_res.max_vfs)
698 #define be_max_rss(adapter) (adapter->res.max_rss_qs)
699 #define be_max_txqs(adapter) (adapter->res.max_tx_qs)
700 #define be_max_prio_txqs(adapter) (adapter->res.max_prio_tx_qs)
701 #define be_max_rxqs(adapter) (adapter->res.max_rx_qs)
703 #define be_max_func_eqs(adapter) (adapter->res.max_evt_qs)
705 #define be_max_nic_eqs(adapter) (adapter->res.max_nic_evt_qs)
706 #define be_if_cap_flags(adapter) (adapter->res.if_cap_flags)
708 (adapter->pool_res.max_rss_tables)
716 /* If no RSS, need atleast one irq for def-RXQ */ in be_max_rx_irqs()
741 #define be_pvid_tagging_enabled(adapter) (adapter->pvid)
743 /* Is BE in QNQ multi-channel mode */
744 #define be_is_qnq_mode(adapter) (adapter->function_mode & QNQ_MODE)
747 #define lancer_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID3 || \
748 adapter->pdev->device == OC_DEVICE_ID4)
754 #define skyhawk_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID5 || \
755 adapter->pdev->device == OC_DEVICE_ID6)
761 #define BE3_chip(adapter) (adapter->pdev->device == BE_DEVICE_ID2 || \
762 adapter->pdev->device == OC_DEVICE_ID2)
768 #define BE2_chip(adapter) (adapter->pdev->device == BE_DEVICE_ID1 || \
769 adapter->pdev->device == OC_DEVICE_ID1)
777 (adapter->function_mode & RDMA_ENABLED))
781 #define msix_enabled(adapter) (adapter->num_msix_vec > 0)
783 adapter->num_msix_vec : 1)
784 #define tx_stats(txo) (&(txo)->stats)
785 #define rx_stats(rxo) (&(rxo)->stats)
788 #define default_rxo(adpt) (&adpt->rx_obj[adpt->num_rx_qs - 1])
791 for (i = 0, rxo = &adapter->rx_obj[i]; i < adapter->num_rx_qs; \
795 for (i = 0, rxo = &adapter->rx_obj[i]; i < adapter->num_rss_qs; \
799 for (i = 0, txo = &adapter->tx_obj[i]; i < adapter->num_tx_qs; \
803 for (i = 0, eqo = &adapter->eq_obj[i]; i < adapter->num_evt_qs; \
807 for (i = eqo->idx, rxo = &adapter->rx_obj[i]; i < adapter->num_rx_qs;\
808 i += adapter->num_evt_qs, rxo += adapter->num_evt_qs)
811 for (i = eqo->idx, txo = &adapter->tx_obj[i]; i < adapter->num_tx_qs;\
812 i += adapter->num_evt_qs, txo += adapter->num_evt_qs)
814 #define is_mcc_eqo(eqo) (eqo->idx == 0)
815 #define mcc_eqo(adapter) (&adapter->eq_obj[0])
822 ((u32)((((size_t)(_address) & (PAGE_SIZE_4K - 1)) + \
823 (size) + (PAGE_SIZE_4K - 1)) >> PAGE_SHIFT_4K))
827 (((size_t)&(((_struct *)0)->field))%32)
832 return (bitsize == 32 ? 0xFFFFFFFF : (1 << bitsize) - 1); in amap_mask()
846 amap_mask(sizeof(((_struct *)0)->field)), \
859 amap_mask(sizeof(((_struct *)0)->field)), \
884 len -= 4; in swap_dws()
889 #define be_cmd_status(status) (status > 0 ? -EIO : status)
895 if (ip_hdr(skb)->version == 4) in is_tcp_pkt()
896 val = (ip_hdr(skb)->protocol == IPPROTO_TCP); in is_tcp_pkt()
897 else if (ip_hdr(skb)->version == 6) in is_tcp_pkt()
898 val = (ipv6_hdr(skb)->nexthdr == NEXTHDR_TCP); in is_tcp_pkt()
907 if (ip_hdr(skb)->version == 4) in is_udp_pkt()
908 val = (ip_hdr(skb)->protocol == IPPROTO_UDP); in is_udp_pkt()
909 else if (ip_hdr(skb)->version == 6) in is_udp_pkt()
910 val = (ipv6_hdr(skb)->nexthdr == NEXTHDR_UDP); in is_udp_pkt()
917 return skb->protocol == htons(ETH_P_IP) && ip_hdr(skb)->version == 4; in is_ipv4_pkt()
922 if (ip_hdr(skb)->version == 6) in is_ipv6_ext_hdr()
923 return ipv6_ext_hdr(ipv6_hdr(skb)->nexthdr); in is_ipv6_ext_hdr()
929 (adapter->flags & BE_FLAGS_TRY_RECOVERY)
942 return (adapter->err_flags & err_type); in be_check_error()
947 struct net_device *netdev = adapter->netdev; in be_set_error()
949 adapter->err_flags |= err_type; in be_set_error()
952 dev_info(&adapter->pdev->dev, "%s: Link down\n", netdev->name); in be_set_error()
957 adapter->err_flags &= ~err_type; in be_clear_error()
962 return adapter->num_rx_qs > 1; in be_multi_rxq()
978 * internal function to initialize-cleanup roce device.
984 * internal function to open-close roce device during ifup-ifdown.