aq_dev
typedef struct aq_dev aq_dev_t;
int aq_update_hw_stats(aq_dev_t *aq_dev);
void aq_initmedia(aq_dev_t *aq_dev);
void aq_mediastatus_update(aq_dev_t *aq_dev, uint32_t link_speed, const struct aq_hw_fc_info *fc_neg);
void *aq_dev;
aq_dev_t *aq_dev = iflib_get_softc(ctx);
struct aq_hw *hw = &aq_dev->hw;
if (link_speed && !aq_dev->linkup) { /* link was DOWN */
device_printf(aq_dev->dev, "atlantic: link UP: speed=%d\n", link_speed);
aq_dev->linkup = 1;
device_printf(aq_dev->dev, "atlantic: TSO disabled for link speed < 1G");
aq_mediastatus_update(aq_dev, link_speed, &fc_neg);
} else if (link_speed == 0U && aq_dev->linkup) { /* link was UP */
device_printf(aq_dev->dev, "atlantic: link DOWN\n");
aq_dev->linkup = 0;
aq_mediastatus_update(aq_dev, link_speed, &fc_neg);
aq_update_hw_stats(aq_dev);
struct aq_dev *aq_dev = ring->dev;
struct aq_hw *hw = &aq_dev->hw;
aq_dev_t *aq_dev = arg;
struct aq_hw *hw = &aq_dev->hw;
itr_irq_status_clearlsw_set(hw, aq_dev->msix);
iflib_admin_intr_deferred(aq_dev->ctx);
aq_update_hw_stats(aq_dev_t *aq_dev)
struct aq_hw *hw = &aq_dev->hw;
#define AQ_SDELTA(_N_) (aq_dev->curr_stats._N_ += \
mbox.stats._N_ - aq_dev->last_stats._N_)
if (aq_dev->linkup) {
aq_dev->curr_stats.brc = aq_dev->curr_stats.ubrc +
aq_dev->curr_stats.mbrc + aq_dev->curr_stats.bbrc;
aq_dev->curr_stats.btc = aq_dev->curr_stats.ubtc +
aq_dev->curr_stats.mbtc + aq_dev->curr_stats.bbtc;
memcpy(&aq_dev->last_stats, &mbox.stats, sizeof(mbox.stats));
aq_is_vlan_promisc_required(struct aq_dev *softc)
aq_update_vlan_filters(struct aq_dev *softc)
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc = iflib_get_softc(ctx);
aq_hw_capabilities(struct aq_dev *softc)
struct aq_dev *softc = (struct aq_dev *)arg1;
aq_add_stats_sysctls(struct aq_dev *softc)
static int aq_hw_capabilities(struct aq_dev *softc);
static void aq_add_stats_sysctls(struct aq_dev *softc);
static bool aq_is_vlan_promisc_required(struct aq_dev *softc);
static void aq_update_vlan_filters(struct aq_dev *softc);
"aq", aq_methods, sizeof(struct aq_dev),
"aq_if", aq_if_methods, sizeof(struct aq_dev)
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc = arg;
struct aq_dev *softc = arg;
aq_is_mc_promisc_required(struct aq_dev *softc)
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc;
struct aq_dev *softc;
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc = iflib_get_softc(ctx);
struct aq_dev *softc;
if (aq_dev->linkup)
ifmr->ifm_active |= aq_dev->media_active;
aq_dev_t *aq_dev = iflib_get_softc(if_getsoftc(ifp));
struct aq_hw *hw = &aq_dev->hw;
struct ifmedia *ifm = iflib_get_media(aq_dev->ctx);
device_printf(aq_dev->dev,
iflib_link_state_change(aq_dev->ctx, LINK_STATE_DOWN, 0);
aq_add_media_types(aq_dev_t *aq_dev, int media_link_speed)
ifmedia_add(aq_dev->media, IFM_ETHER | media_link_speed | IFM_FDX, 0,
ifmedia_add(aq_dev->media, IFM_ETHER | media_link_speed | IFM_FDX |
ifmedia_add(aq_dev->media, IFM_ETHER | media_link_speed | IFM_FDX |
ifmedia_add(aq_dev->media, IFM_ETHER | media_link_speed | IFM_FDX |
aq_initmedia(aq_dev_t *aq_dev)
ifmedia_add(aq_dev->media, IFM_ETHER | IFM_NONE, 0, NULL);
aq_add_media_types(aq_dev, IFM_AUTO);
if (AQ_HW_SUPPORT_SPEED(aq_dev, AQ_LINK_100M))
aq_add_media_types(aq_dev, IFM_100_TX);
if (AQ_HW_SUPPORT_SPEED(aq_dev, AQ_LINK_1G))
aq_add_media_types(aq_dev, IFM_1000_T);
if (AQ_HW_SUPPORT_SPEED(aq_dev, AQ_LINK_2G5))
aq_add_media_types(aq_dev, IFM_2500_T);
if (AQ_HW_SUPPORT_SPEED(aq_dev, AQ_LINK_5G))
aq_add_media_types(aq_dev, IFM_5000_T);
if (AQ_HW_SUPPORT_SPEED(aq_dev, AQ_LINK_10G))
aq_add_media_types(aq_dev, IFM_10G_T);
ifmedia_set(aq_dev->media,
aq_mediastatus_update(aq_dev_t *aq_dev, uint32_t link_speed,
struct aq_hw *hw = &aq_dev->hw;
aq_dev->media_active = 0;
aq_dev->media_active |= IFM_ETH_RXPAUSE;
aq_dev->media_active |= IFM_ETH_TXPAUSE;
aq_dev->media_active |= IFM_100_TX | IFM_FDX;
aq_dev->media_active |= IFM_1000_T | IFM_FDX;
aq_dev->media_active |= IFM_2500_T | IFM_FDX;
aq_dev->media_active |= IFM_5000_T | IFM_FDX;
aq_dev->media_active |= IFM_10G_T | IFM_FDX;
aq_dev->media_active |= IFM_NONE;
aq_dev->media_active |= IFM_AUTO;
aq_dev_t *aq_dev = iflib_get_softc(if_getsoftc(ifp));
aq_dev_t *aq_dev = arg;
ring = aq_dev->rx_rings[iru->iru_qsidx];
aq_dev_t *aq_dev = arg;
struct aq_ring *ring = aq_dev->rx_rings[rxqid];
reg_rx_dma_desc_tail_ptr_set(&aq_dev->hw, pidx, ring->index);
aq_dev_t *aq_dev = arg;
struct aq_ring *ring = aq_dev->rx_rings[rxqid];
aq_dev_t *aq_dev = arg;
struct aq_ring *ring = aq_dev->rx_rings[ri->iri_qsidx];
ifp = iflib_get_ifp(aq_dev->ctx);
aq_setup_offloads(aq_dev_t *aq_dev, if_pkt_info_t pi, aq_tx_desc_t *txd,
aq_ring_tso_setup(aq_dev_t *aq_dev, if_pkt_info_t pi, uint32_t *hdrlen,
aq_dev_t *aq_dev = arg;
ring = aq_dev->tx_rings[pi->ipi_qsidx];
tx_cmd = aq_ring_tso_setup(aq_dev, pi, &hdrlen, txc);
aq_setup_offloads(aq_dev, pi, txd, tx_cmd);
aq_dev_t *aq_dev = arg;
struct aq_ring *ring = aq_dev->tx_rings[txqid];
aq_ring_tx_tail_update(&aq_dev->hw, ring, pidx);
aq_dev_t *aq_dev = arg;
struct aq_ring *ring = aq_dev->tx_rings[txqid];
head = tdm_tx_desc_head_ptr_get(&aq_dev->hw, ring->index);
struct aq_dev;
struct aq_dev *dev;