On 2024-03-04 18:01, Mina Almasry wrote:
This API enables the net stack to reset the queues used for devmem.
Signed-off-by: Mina Almasry almasrymina@google.com
include/linux/netdevice.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index c41019f34179..3105c586355d 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1435,6 +1435,20 @@ struct netdev_net_notifier {
struct kernel_hwtstamp_config *kernel_config,
struct netlink_ext_ack *extack);
- Change the hardware timestamping parameters for NIC device.
- void *(*ndo_queue_mem_alloc)(struct net_device *dev, int idx);
- Allocate memory for an RX queue. The memory returned in the form of
- a void * can be passed to ndo_queue_mem_free() for freeing or to
- ndo_queue_start to create an RX queue with this memory.
- void (*ndo_queue_mem_free)(struct net_device *dev, void *);
- Free memory from an RX queue.
- int (*ndo_queue_start)(struct net_device *dev, int idx, void *);
- Start an RX queue at the specified index.
- int (*ndo_queue_stop)(struct net_device *dev, int idx, void **);
*/
- Stop the RX queue at the specified index.
struct net_device_ops { int (*ndo_init)(struct net_device *dev); @@ -1679,6 +1693,16 @@ struct net_device_ops { int (*ndo_hwtstamp_set)(struct net_device *dev, struct kernel_hwtstamp_config *kernel_config, struct netlink_ext_ack *extack);
- void * (*ndo_queue_mem_alloc)(struct net_device *dev,
int idx);
- void (*ndo_queue_mem_free)(struct net_device *dev,
void *queue_mem);
- int (*ndo_queue_start)(struct net_device *dev,
int idx,
void *queue_mem);
- int (*ndo_queue_stop)(struct net_device *dev,
int idx,
void **out_queue_mem);
};
I'm working to port bnxt over to using this API. What are your thoughts on maybe pulling this out and use bnxt to drive it?
/**