This patch set prepares for supporting af-xdp zerocopy. There is no feature change in this patch set. I just want to reduce the patch num of the final patch set, so I split the patch set. Thanks. v2: 1. Add five commits. That provides some helper for sq to support premapped mode. And the last one refactors distinguishing xmit types. v1: 1. resend for the new net-next merge window Xuan Zhuo (12): virtio_net: independent directory virtio_net: move core structures to virtio_net.h virtio_net: add prefix virtnet to all struct inside virtio_net.h virtio_net: separate virtnet_rx_resize() virtio_net: separate virtnet_tx_resize() virtio_net: separate receive_mergeable virtio_net: separate receive_buf virtio_ring: introduce vring_need_unmap_buffer virtio_ring: introduce dma map api for page virtio_ring: introduce virtqueue_dma_map_sg_attrs virtio_ring: virtqueue_set_dma_premapped() support to disable virtio_net: refactor the xmit type MAINTAINERS | 2 +- drivers/net/Kconfig | 9 +- drivers/net/Makefile | 2 +- drivers/net/virtio/Kconfig | 12 + drivers/net/virtio/Makefile | 8 + drivers/net/virtio/virtnet.h | 248 ++++++++ .../{virtio_net.c => virtio/virtnet_main.c} | 596 +++++++----------- drivers/virtio/virtio_ring.c | 118 +++- include/linux/virtio.h | 12 +- 9 files changed, 606 insertions(+), 401 deletions(-) create mode 100644 drivers/net/virtio/Kconfig create mode 100644 drivers/net/virtio/Makefile create mode 100644 drivers/net/virtio/virtnet.h rename drivers/net/{virtio_net.c => virtio/virtnet_main.c} (93%) -- 2.32.0.3.g01195cf9f