[PATCH 5/9] nvme-pci: merge the simple PRP and SGL setup into a common helper
Leon Romanovsky
leon at kernel.org
Tue Jun 10 06:13:48 PDT 2025
On Tue, Jun 10, 2025 at 07:06:43AM +0200, Christoph Hellwig wrote:
> nvme_setup_prp_simple and nvme_setup_sgl_simple share a lot of logic.
> Merge them into a single helper that makes use of the previously added
> use_sgl tristate.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
> drivers/nvme/host/pci.c | 77 +++++++++++++++++------------------------
> 1 file changed, 32 insertions(+), 45 deletions(-)
>
> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
> index 0b85c11d3c96..50bb1ebe6810 100644
> --- a/drivers/nvme/host/pci.c
> +++ b/drivers/nvme/host/pci.c
> @@ -814,42 +814,41 @@ static blk_status_t nvme_pci_setup_sgls(struct nvme_queue *nvmeq,
> return BLK_STS_OK;
> }
<...>
> -static blk_status_t nvme_setup_prp_simple(struct nvme_dev *dev,
> - struct request *req, struct nvme_rw_command *cmnd,
> - struct bio_vec *bv)
> +static blk_status_t nvme_pci_setup_data_simple(struct request *req,
> + enum nvme_use_sgl use_sgl)
<...>
> + if (!use_sgl && !prp_possible)
use_sgl is tristate, the better check will be use_sgl == SGL_UNSUPPORTED.
Thanks
More information about the Linux-nvme
mailing list