]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
nvme-pci: replace NVME_MAX_KB_SZ with NVME_MAX_BYTE
authorChristoph Hellwig <hch@lst.de>
Wed, 25 Jun 2025 11:35:04 +0000 (13:35 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 30 Jun 2025 21:50:53 +0000 (15:50 -0600)
Having a define in kiB units is a bit weird.  Also update the
comment now that there is not scatterlist limit.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Daniel Gomez <da.gomez@samsung.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/20250625113531.522027-8-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/nvme/host/pci.c

index e8688840818a99f310decbff0a2049efb5ba5cad..14d4630fd370e7c835b052dc16a730ef7d9e05b5 100644 (file)
 #define NVME_SMALL_POOL_SIZE   256
 
 /*
- * These can be higher, but we need to ensure that any command doesn't
- * require an sg allocation that needs more than a page of data.
+ * Arbitrary upper bound.
  */
-#define NVME_MAX_KB_SZ 8192
+#define NVME_MAX_BYTES         SZ_8M
 #define NVME_MAX_NR_DESCRIPTORS        5
 
 /*
@@ -413,7 +412,7 @@ static bool nvme_dbbuf_update_and_check_event(u16 value, __le32 *dbbuf_db,
  */
 static __always_inline int nvme_pci_npages_prp(void)
 {
-       unsigned max_bytes = (NVME_MAX_KB_SZ * 1024) + NVME_CTRL_PAGE_SIZE;
+       unsigned max_bytes = NVME_MAX_BYTES + NVME_CTRL_PAGE_SIZE;
        unsigned nprps = DIV_ROUND_UP(max_bytes, NVME_CTRL_PAGE_SIZE);
        return DIV_ROUND_UP(8 * nprps, NVME_CTRL_PAGE_SIZE - 8);
 }
@@ -3367,7 +3366,8 @@ static struct nvme_dev *nvme_pci_alloc_dev(struct pci_dev *pdev,
         * over a single page.
         */
        dev->ctrl.max_hw_sectors = min_t(u32,
-               NVME_MAX_KB_SZ << 1, dma_opt_mapping_size(&pdev->dev) >> 9);
+                       NVME_MAX_BYTES >> SECTOR_SHIFT,
+                       dma_opt_mapping_size(&pdev->dev) >> 9);
        dev->ctrl.max_segments = NVME_MAX_SEGS;
        dev->ctrl.max_integrity_segments = 1;
        return dev;