This is complimentary patchset to the series which adds new DMA mapping API [1]. In this series, Christoph converts existing nvme-pci driver to use new API, which is wrapped by relevant blk-mq helpers, so future blk drivers can reuse them in block layer specific structures. This is posted as RFC as it is under heavy testing now, and presented here to get feedback from the community and show another advanced use case of the new API. Thanks [1] https://lore.kernel.org/all/cover.1730037276.git.leon@xxxxxxxxxx Christoph Hellwig (7): block: share more code for bio addition helpers block: don't merge different kinds of P2P transfers in a single bio blk-mq: add a dma mapping iterator blk-mq: add scatterlist-less DMA mapping helpers nvme-pci: remove struct nvme_descriptor nvme-pci: use a better encoding for small prp pool allocations nvme-pci: convert to blk_rq_dma_map block/bio.c | 148 ++++++------ block/blk-map.c | 32 ++- block/blk-merge.c | 313 +++++++++++++++++------- drivers/nvme/host/pci.c | 470 +++++++++++++++++++------------------ include/linux/blk-mq-dma.h | 64 +++++ include/linux/blk_types.h | 2 + 6 files changed, 636 insertions(+), 393 deletions(-) create mode 100644 include/linux/blk-mq-dma.h -- 2.46.2