Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/ixgbe/if_ix.c
Show First 20 Lines • Show All 800 Lines • ▼ Show 20 Lines | for (i = 0, que = adapter->tx_queues; i < adapter->num_tx_queues; | ||||
IXGBE_WRITE_REG(hw, IXGBE_TDLEN(j), | IXGBE_WRITE_REG(hw, IXGBE_TDLEN(j), | ||||
scctx->isc_ntxd[0] * sizeof(union ixgbe_adv_tx_desc)); | scctx->isc_ntxd[0] * sizeof(union ixgbe_adv_tx_desc)); | ||||
/* Setup the HW Tx Head and Tail descriptor pointers */ | /* Setup the HW Tx Head and Tail descriptor pointers */ | ||||
IXGBE_WRITE_REG(hw, IXGBE_TDH(j), 0); | IXGBE_WRITE_REG(hw, IXGBE_TDH(j), 0); | ||||
IXGBE_WRITE_REG(hw, IXGBE_TDT(j), 0); | IXGBE_WRITE_REG(hw, IXGBE_TDT(j), 0); | ||||
/* Cache the tail address */ | /* Cache the tail address */ | ||||
txr->tx_rs_cidx = txr->tx_rs_pidx = txr->tx_cidx_processed = 0; | txr->tx_rs_cidx = txr->tx_rs_pidx; | ||||
txr->tx_cidx_processed = scctx->isc_ntxd[0] - 1; | |||||
for (int k = 0; k < scctx->isc_ntxd[0]; k++) | for (int k = 0; k < scctx->isc_ntxd[0]; k++) | ||||
txr->tx_rsq[k] = QIDX_INVALID; | txr->tx_rsq[k] = QIDX_INVALID; | ||||
/* Disable Head Writeback */ | /* Disable Head Writeback */ | ||||
/* | /* | ||||
* Note: for X550 series devices, these registers are actually | * Note: for X550 series devices, these registers are actually | ||||
* prefixed with TPH_ isntead of DCA_, but the addresses and | * prefixed with TPH_ isntead of DCA_, but the addresses and | ||||
* fields remain the same. | * fields remain the same. | ||||
▲ Show 20 Lines • Show All 3,742 Lines • Show Last 20 Lines |