Lines Matching +full:hw +full:- +full:revision

1 /* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
2 /* Copyright 2017-2019 NXP */
8 #include <linux/dma-mapping.h>
21 #define ENETC_MAX_MTU (ENETC_MAC_MAXFRM_SIZE - \
64 #define ENETC_SKB_CB(skb) ((struct enetc_skb_cb *)((skb)->cb))
82 (SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - ENETC_RXB_PAD)
84 (SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - XDP_PACKET_HEADROOM)
187 if (unlikely(++*i == bdr->bd_count)) in enetc_bdr_idx_inc()
193 if (bdr->next_to_clean > bdr->next_to_use) in enetc_bd_unused()
194 return bdr->next_to_clean - bdr->next_to_use - 1; in enetc_bd_unused()
196 return bdr->bd_count + bdr->next_to_clean - bdr->next_to_use - 1; in enetc_bd_unused()
201 if (bdr->next_to_clean > bdr->next_to_alloc) in enetc_swbd_unused()
202 return bdr->next_to_clean - bdr->next_to_alloc - 1; in enetc_swbd_unused()
204 return bdr->bd_count + bdr->next_to_clean - bdr->next_to_alloc - 1; in enetc_swbd_unused()
229 if (rx_ring->ext_en) in enetc_rxbd()
232 return &(((union enetc_rx_bd *)rx_ring->bd_base)[hw_idx]); in enetc_rxbd()
243 if (rx_ring->ext_en) in enetc_rxbd_next()
246 if (unlikely(++new_index == rx_ring->bd_count)) { in enetc_rxbd_next()
247 new_rxbd = rx_ring->bd_base; in enetc_rxbd_next()
287 u16 revision; member
298 * for VSI. For VSI-specific hooks, the format is ‘vf_*()’.
308 struct enetc_hw hw; member
323 u16 revision; member
337 return si->pdev->revision == ENETC_REV1; in is_enetc_rev1()
347 return !!(si->hw.port); in enetc_si_is_pf()
352 switch (pf_pdev->devfn) { in enetc_pf_to_port()
362 return -1; in enetc_pf_to_port()
368 return si->hw_features & ENETC_SI_F_PPM; in enetc_is_pseudo_mac()
428 /* activated when int coalescing time is set to a non-0 value */
440 struct device *dev; /* dma-mapping device */
492 /* VF-PF set primary MAC address message format */
550 int enetc_setup_cbdr(struct device *dev, struct enetc_hw *hw, int bd_count,
572 struct enetc_cbdr *ring = &si->cbd_ring; in enetc_cbd_alloc_data_mem()
576 data = dma_alloc_coherent(ring->dma_dev, in enetc_cbd_alloc_data_mem()
580 dev_err(ring->dma_dev, "CBD alloc data memory failed!\n"); in enetc_cbd_alloc_data_mem()
587 cbd->addr[0] = cpu_to_le32(lower_32_bits(dma_align)); in enetc_cbd_alloc_data_mem()
588 cbd->addr[1] = cpu_to_le32(upper_32_bits(dma_align)); in enetc_cbd_alloc_data_mem()
589 cbd->length = cpu_to_le16(size); in enetc_cbd_alloc_data_mem()
597 struct enetc_cbdr *ring = &si->cbd_ring; in enetc_cbd_free_data_mem()
599 dma_free_coherent(ring->dma_dev, size + ENETC_CBD_DATA_MEM_ALIGN, in enetc_cbd_free_data_mem()
603 void enetc_reset_ptcmsdur(struct enetc_hw *hw);
604 void enetc_set_ptcmsdur(struct enetc_hw *hw, u32 *queue_max_sdu);
629 struct enetc_hw *hw = &priv->si->hw; in enetc_get_max_cap() local
632 reg = enetc_port_rd(hw, ENETC_PSIDCAPR); in enetc_get_max_cap()
633 priv->psfp_cap.max_streamid = reg & ENETC_PSIDCAPR_MSK; in enetc_get_max_cap()
635 reg = enetc_port_rd(hw, ENETC_PSFCAPR); in enetc_get_max_cap()
636 priv->psfp_cap.max_psfp_filter = reg & ENETC_PSFCAPR_MSK; in enetc_get_max_cap()
638 reg = enetc_port_rd(hw, ENETC_PSGCAPR); in enetc_get_max_cap()
639 priv->psfp_cap.max_psfp_gate = (reg & ENETC_PSGCAPR_SGIT_MSK); in enetc_get_max_cap()
640 priv->psfp_cap.max_psfp_gatelist = (reg & ENETC_PSGCAPR_GCL_MSK) >> 16; in enetc_get_max_cap()
642 reg = enetc_port_rd(hw, ENETC_PFMCAPR); in enetc_get_max_cap()
643 priv->psfp_cap.max_psfp_meter = reg & ENETC_PFMCAPR_MSK; in enetc_get_max_cap()
648 struct enetc_hw *hw = &priv->si->hw; in enetc_psfp_enable() local
657 enetc_wr(hw, ENETC_PPSFPMR, enetc_rd(hw, ENETC_PPSFPMR) | in enetc_psfp_enable()
666 struct enetc_hw *hw = &priv->si->hw; in enetc_psfp_disable() local
673 enetc_wr(hw, ENETC_PPSFPMR, enetc_rd(hw, ENETC_PPSFPMR) & in enetc_psfp_disable()
677 memset(&priv->psfp_cap, 0, sizeof(struct psfp_cap)); in enetc_psfp_disable()
683 #define enetc_qos_query_caps(ndev, type_data) -EOPNOTSUPP
684 #define enetc_setup_tc_taprio(ndev, type_data) -EOPNOTSUPP
686 #define enetc_setup_tc_cbs(ndev, type_data) -EOPNOTSUPP
687 #define enetc_setup_tc_txtime(ndev, type_data) -EOPNOTSUPP
688 #define enetc_setup_tc_psfp(ndev, type_data) -EOPNOTSUPP
692 memset(&((p)->psfp_cap), 0, sizeof(struct psfp_cap))