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@xxxxxx> > --- > 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