mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 07:43:57 -04:00
With a little simple math we don't need another struct array to find the completion structs, so we can remove the ionic_cq_info altogether. This doesn't really save anything in the ionic_cq since it gets padded out to the cacheline, but it does remove the parallel array allocation of 8 * num_descriptors, or about 8 Kbytes per queue in a default configuration. Suggested-by: Neel Patel <npatel2@amd.com> Reviewed-by: Brett Creeley <brett.creeley@amd.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
21 lines
728 B
C
21 lines
728 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright(c) 2017 - 2019 Pensando Systems, Inc */
|
|
|
|
#ifndef _IONIC_TXRX_H_
|
|
#define _IONIC_TXRX_H_
|
|
|
|
void ionic_tx_flush(struct ionic_cq *cq);
|
|
|
|
void ionic_rx_fill(struct ionic_queue *q);
|
|
void ionic_rx_empty(struct ionic_queue *q);
|
|
void ionic_tx_empty(struct ionic_queue *q);
|
|
int ionic_rx_napi(struct napi_struct *napi, int budget);
|
|
int ionic_tx_napi(struct napi_struct *napi, int budget);
|
|
int ionic_txrx_napi(struct napi_struct *napi, int budget);
|
|
netdev_tx_t ionic_start_xmit(struct sk_buff *skb, struct net_device *netdev);
|
|
|
|
bool ionic_rx_service(struct ionic_cq *cq);
|
|
|
|
int ionic_xdp_xmit(struct net_device *netdev, int n, struct xdp_frame **xdp, u32 flags);
|
|
#endif /* _IONIC_TXRX_H_ */
|