evq_info = &sa->evq_info[sw_index];
SFC_ASSERT(rte_is_power_of_2(entries));
- SFC_ASSERT(entries <= evq_info->max_entries);
evq_info->entries = entries;
rc = ENOMEM;
sfc_ev_qinit_info(struct sfc_adapter *sa, unsigned int sw_index)
{
struct sfc_evq_info *evq_info = &sa->evq_info[sw_index];
- unsigned int max_entries;
sfc_log_init(sa, "sw_index=%u", sw_index);
- max_entries = sfc_evq_max_entries(sa, sw_index);
- SFC_ASSERT(rte_is_power_of_2(max_entries));
-
- evq_info->max_entries = max_entries;
evq_info->flags = sa->evq_flags |
((sa->intr.lsc_intr && sw_index == sa->mgmt_evq_index) ?
EFX_EVQ_FLAGS_NOTIFY_INTERRUPT :
};
struct sfc_evq_info {
- /* Maximum number of EVQ entries taken into account when buffer
- * table space is allocated.
- */
- unsigned int max_entries;
- /* Real number of EVQ entries, less or equal to max_entries */
+ /* Number of EVQ entries */
unsigned int entries;
/* Event queue creation flags */
uint32_t flags;
return 1 + dev_data->nb_rx_queues + dev_data->nb_tx_queues;
}
-static inline unsigned int
-sfc_evq_max_entries(struct sfc_adapter *sa, unsigned int sw_index)
-{
- unsigned int max_entries;
-
- if (sw_index == sa->mgmt_evq_index)
- max_entries = SFC_MGMT_EVQ_ENTRIES;
- else if (sw_index <= sa->eth_dev->data->nb_rx_queues)
- max_entries = EFX_RXQ_MAXNDESCS;
- else
- max_entries = efx_nic_cfg_get(sa->nic)->enc_txq_max_ndescs;
-
- return max_entries;
-}
-
static inline unsigned int
sfc_evq_index_by_rxq_sw_index(__rte_unused struct sfc_adapter *sa,
unsigned int rxq_sw_index)