1 /* SPDX-License-Identifier: BSD-3-Clause
3 * Copyright(c) 2019-2021 Xilinx, Inc.
4 * Copyright(c) 2018-2019 Solarflare Communications Inc.
11 #if EFSYS_OPT_RIVERHEAD
13 __checkReturn efx_rc_t
18 /* Nothing to do here */
27 /* Nothing to do here */
30 __checkReturn efx_rc_t
33 __in unsigned int index,
34 __in unsigned int label,
35 __in efsys_mem_t *esmp,
41 __out unsigned int *addedp)
46 * NMC manages the NMMU entries, and so buffer table IDs are
51 if ((rc = efx_mcdi_init_txq(enp, ndescs, eep->ee_index, label, index,
56 * Return the initial queue index which is zero since no option
57 * descriptors are sent at start of day.
64 EFSYS_PROBE1(fail1, efx_rc_t, rc);
74 /* Nothing to do here */
77 __checkReturn efx_rc_t
80 __in_ecount(ndescs) efx_buffer_t *eb,
81 __in unsigned int ndescs,
82 __in unsigned int completed,
83 __inout unsigned int *addedp)
87 _NOTE(ARGUNUSED(ndescs))
88 _NOTE(ARGUNUSED(completed))
89 _NOTE(ARGUNUSED(addedp))
91 /* FIXME Implement the method for Riverhead */
99 __in unsigned int added,
100 __in unsigned int pushed)
102 _NOTE(ARGUNUSED(etp, added, pushed))
104 /* FIXME Implement the method for Riverhead */
105 EFSYS_ASSERT(B_FALSE);
108 __checkReturn efx_rc_t
111 __in unsigned int ns)
113 _NOTE(ARGUNUSED(etp))
116 /* FIXME Implement the method for Riverhead */
121 __checkReturn efx_rc_t
125 efx_nic_t *enp = etp->et_enp;
128 if ((rc = efx_mcdi_fini_txq(enp, etp->et_index)) != 0)
135 * EALREADY is not an error, but indicates that the MC has rebooted and
136 * that the TXQ has already been destroyed. Callers need to know that
137 * the TXQ flush has completed to avoid waiting until timeout for a
138 * flush done event that will not be delivered.
141 EFSYS_PROBE1(fail1, efx_rc_t, rc);
150 _NOTE(ARGUNUSED(etp))
151 /* Nothing to do here */
154 __checkReturn efx_rc_t
157 __in_ecount(ndescs) efx_desc_t *ed,
158 __in unsigned int ndescs,
159 __in unsigned int completed,
160 __inout unsigned int *addedp)
162 _NOTE(ARGUNUSED(etp))
164 _NOTE(ARGUNUSED(ndescs))
165 _NOTE(ARGUNUSED(completed))
166 _NOTE(ARGUNUSED(addedp))
168 /* FIXME Implement the method for Riverhead */
176 rhead_tx_qstats_update(
178 __inout_ecount(TX_NQSTATS) efsys_stat_t *stat)
182 for (id = 0; id < TX_NQSTATS; id++) {
183 efsys_stat_t *essp = &stat[id];
185 EFSYS_STAT_INCR(essp, etp->et_stat[id]);
186 etp->et_stat[id] = 0;
190 #endif /* EFSYS_OPT_QSTATS */
192 #endif /* EFSYS_OPT_RIVERHEAD */