Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/sfxge/common/efx_tx.c
Show First 20 Lines • Show All 140 Lines • ▼ Show 20 Lines | static const efx_tx_ops_t __efx_tx_siena_ops = { | ||||
NULL, /* etxo_qpio_disable */ | NULL, /* etxo_qpio_disable */ | ||||
NULL, /* etxo_qpio_write */ | NULL, /* etxo_qpio_write */ | ||||
NULL, /* etxo_qpio_post */ | NULL, /* etxo_qpio_post */ | ||||
siena_tx_qdesc_post, /* etxo_qdesc_post */ | siena_tx_qdesc_post, /* etxo_qdesc_post */ | ||||
siena_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | siena_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ||||
NULL, /* etxo_qdesc_tso_create */ | NULL, /* etxo_qdesc_tso_create */ | ||||
NULL, /* etxo_qdesc_tso2_create */ | NULL, /* etxo_qdesc_tso2_create */ | ||||
NULL, /* etxo_qdesc_vlantci_create */ | NULL, /* etxo_qdesc_vlantci_create */ | ||||
NULL, /* etxo_qdesc_checksum_create */ | |||||
#if EFSYS_OPT_QSTATS | #if EFSYS_OPT_QSTATS | ||||
siena_tx_qstats_update, /* etxo_qstats_update */ | siena_tx_qstats_update, /* etxo_qstats_update */ | ||||
#endif | #endif | ||||
}; | }; | ||||
#endif /* EFSYS_OPT_SIENA */ | #endif /* EFSYS_OPT_SIENA */ | ||||
#if EFSYS_OPT_HUNTINGTON | #if EFSYS_OPT_HUNTINGTON | ||||
static const efx_tx_ops_t __efx_tx_hunt_ops = { | static const efx_tx_ops_t __efx_tx_hunt_ops = { | ||||
Show All 10 Lines | static const efx_tx_ops_t __efx_tx_hunt_ops = { | ||||
ef10_tx_qpio_disable, /* etxo_qpio_disable */ | ef10_tx_qpio_disable, /* etxo_qpio_disable */ | ||||
ef10_tx_qpio_write, /* etxo_qpio_write */ | ef10_tx_qpio_write, /* etxo_qpio_write */ | ||||
ef10_tx_qpio_post, /* etxo_qpio_post */ | ef10_tx_qpio_post, /* etxo_qpio_post */ | ||||
ef10_tx_qdesc_post, /* etxo_qdesc_post */ | ef10_tx_qdesc_post, /* etxo_qdesc_post */ | ||||
ef10_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ef10_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ||||
ef10_tx_qdesc_tso_create, /* etxo_qdesc_tso_create */ | ef10_tx_qdesc_tso_create, /* etxo_qdesc_tso_create */ | ||||
ef10_tx_qdesc_tso2_create, /* etxo_qdesc_tso2_create */ | ef10_tx_qdesc_tso2_create, /* etxo_qdesc_tso2_create */ | ||||
ef10_tx_qdesc_vlantci_create, /* etxo_qdesc_vlantci_create */ | ef10_tx_qdesc_vlantci_create, /* etxo_qdesc_vlantci_create */ | ||||
ef10_tx_qdesc_checksum_create, /* etxo_qdesc_checksum_create */ | |||||
#if EFSYS_OPT_QSTATS | #if EFSYS_OPT_QSTATS | ||||
ef10_tx_qstats_update, /* etxo_qstats_update */ | ef10_tx_qstats_update, /* etxo_qstats_update */ | ||||
#endif | #endif | ||||
}; | }; | ||||
#endif /* EFSYS_OPT_HUNTINGTON */ | #endif /* EFSYS_OPT_HUNTINGTON */ | ||||
#if EFSYS_OPT_MEDFORD | #if EFSYS_OPT_MEDFORD | ||||
static const efx_tx_ops_t __efx_tx_medford_ops = { | static const efx_tx_ops_t __efx_tx_medford_ops = { | ||||
Show All 10 Lines | static const efx_tx_ops_t __efx_tx_medford_ops = { | ||||
ef10_tx_qpio_disable, /* etxo_qpio_disable */ | ef10_tx_qpio_disable, /* etxo_qpio_disable */ | ||||
ef10_tx_qpio_write, /* etxo_qpio_write */ | ef10_tx_qpio_write, /* etxo_qpio_write */ | ||||
ef10_tx_qpio_post, /* etxo_qpio_post */ | ef10_tx_qpio_post, /* etxo_qpio_post */ | ||||
ef10_tx_qdesc_post, /* etxo_qdesc_post */ | ef10_tx_qdesc_post, /* etxo_qdesc_post */ | ||||
ef10_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ef10_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ||||
NULL, /* etxo_qdesc_tso_create */ | NULL, /* etxo_qdesc_tso_create */ | ||||
ef10_tx_qdesc_tso2_create, /* etxo_qdesc_tso2_create */ | ef10_tx_qdesc_tso2_create, /* etxo_qdesc_tso2_create */ | ||||
ef10_tx_qdesc_vlantci_create, /* etxo_qdesc_vlantci_create */ | ef10_tx_qdesc_vlantci_create, /* etxo_qdesc_vlantci_create */ | ||||
ef10_tx_qdesc_checksum_create, /* etxo_qdesc_checksum_create */ | |||||
#if EFSYS_OPT_QSTATS | #if EFSYS_OPT_QSTATS | ||||
ef10_tx_qstats_update, /* etxo_qstats_update */ | ef10_tx_qstats_update, /* etxo_qstats_update */ | ||||
#endif | #endif | ||||
}; | }; | ||||
#endif /* EFSYS_OPT_MEDFORD */ | #endif /* EFSYS_OPT_MEDFORD */ | ||||
#if EFSYS_OPT_MEDFORD2 | #if EFSYS_OPT_MEDFORD2 | ||||
static const efx_tx_ops_t __efx_tx_medford2_ops = { | static const efx_tx_ops_t __efx_tx_medford2_ops = { | ||||
Show All 10 Lines | static const efx_tx_ops_t __efx_tx_medford2_ops = { | ||||
ef10_tx_qpio_disable, /* etxo_qpio_disable */ | ef10_tx_qpio_disable, /* etxo_qpio_disable */ | ||||
ef10_tx_qpio_write, /* etxo_qpio_write */ | ef10_tx_qpio_write, /* etxo_qpio_write */ | ||||
ef10_tx_qpio_post, /* etxo_qpio_post */ | ef10_tx_qpio_post, /* etxo_qpio_post */ | ||||
ef10_tx_qdesc_post, /* etxo_qdesc_post */ | ef10_tx_qdesc_post, /* etxo_qdesc_post */ | ||||
ef10_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ef10_tx_qdesc_dma_create, /* etxo_qdesc_dma_create */ | ||||
NULL, /* etxo_qdesc_tso_create */ | NULL, /* etxo_qdesc_tso_create */ | ||||
ef10_tx_qdesc_tso2_create, /* etxo_qdesc_tso2_create */ | ef10_tx_qdesc_tso2_create, /* etxo_qdesc_tso2_create */ | ||||
ef10_tx_qdesc_vlantci_create, /* etxo_qdesc_vlantci_create */ | ef10_tx_qdesc_vlantci_create, /* etxo_qdesc_vlantci_create */ | ||||
ef10_tx_qdesc_checksum_create, /* etxo_qdesc_checksum_create */ | |||||
#if EFSYS_OPT_QSTATS | #if EFSYS_OPT_QSTATS | ||||
ef10_tx_qstats_update, /* etxo_qstats_update */ | ef10_tx_qstats_update, /* etxo_qstats_update */ | ||||
#endif | #endif | ||||
}; | }; | ||||
#endif /* EFSYS_OPT_MEDFORD2 */ | #endif /* EFSYS_OPT_MEDFORD2 */ | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
▲ Show 20 Lines • Show All 437 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
efx_nic_t *enp = etp->et_enp; | efx_nic_t *enp = etp->et_enp; | ||||
const efx_tx_ops_t *etxop = enp->en_etxop; | const efx_tx_ops_t *etxop = enp->en_etxop; | ||||
EFSYS_ASSERT3U(etp->et_magic, ==, EFX_TXQ_MAGIC); | EFSYS_ASSERT3U(etp->et_magic, ==, EFX_TXQ_MAGIC); | ||||
EFSYS_ASSERT(etxop->etxo_qdesc_vlantci_create != NULL); | EFSYS_ASSERT(etxop->etxo_qdesc_vlantci_create != NULL); | ||||
etxop->etxo_qdesc_vlantci_create(etp, tci, edp); | etxop->etxo_qdesc_vlantci_create(etp, tci, edp); | ||||
} | |||||
void | |||||
efx_tx_qdesc_checksum_create( | |||||
__in efx_txq_t *etp, | |||||
__in uint16_t flags, | |||||
__out efx_desc_t *edp) | |||||
{ | |||||
efx_nic_t *enp = etp->et_enp; | |||||
const efx_tx_ops_t *etxop = enp->en_etxop; | |||||
EFSYS_ASSERT3U(etp->et_magic, ==, EFX_TXQ_MAGIC); | |||||
EFSYS_ASSERT(etxop->etxo_qdesc_checksum_create != NULL); | |||||
etxop->etxo_qdesc_checksum_create(etp, flags, edp); | |||||
} | } | ||||
#if EFSYS_OPT_QSTATS | #if EFSYS_OPT_QSTATS | ||||
void | void | ||||
efx_tx_qstats_update( | efx_tx_qstats_update( | ||||
__in efx_txq_t *etp, | __in efx_txq_t *etp, | ||||
__inout_ecount(TX_NQSTATS) efsys_stat_t *stat) | __inout_ecount(TX_NQSTATS) efsys_stat_t *stat) | ||||
▲ Show 20 Lines • Show All 458 Lines • Show Last 20 Lines |