static inline void ring_fl_db(struct adapter *adap, struct sge_fl *q)
{
- /* see if we have exceeded q->size / 4 */
- if (q->pend_cred >= (q->size / 4)) {
+ if (q->pend_cred >= 64) {
u32 val = adap->params.arch.sge_fl_db;
if (is_t4(adap->params.chip))
return 0;
}
- rte_prefetch0(&((&txq->q)->sdesc->mbuf->pool));
pi = (struct port_info *)txq->eth_dev->data->dev_private;
adap = pi->adapter;
txq->stats.mapping_err++;
goto out_free;
}
+ rte_prefetch0((volatile void *)addr);
return tx_do_packet_coalesce(txq, mbuf, cflits, adap,
pi, addr);
} else {
unsigned int params;
u32 val;
- __refill_fl(q->adapter, &rxq->fl);
+ if (fl_cap(&rxq->fl) - rxq->fl.avail >= 64)
+ __refill_fl(q->adapter, &rxq->fl);
params = V_QINTR_TIMER_IDX(X_TIMERREG_UPDATE_CIDX);
q->next_intr_params = params;
val = V_CIDXINC(cidx_inc) | V_SEINTARM(params);