lede-Heleguo/target/linux/bcm27xx/patches-6.12/950-0685-nvme-pci-Disable-Host-Memory-Buffer-usage.patch
John Audia 3c3f691df9 bcm27xx: refresh kernel 6.12 patches
Manually rebased:
	bcm27xx/patches-6.12/950-0018-arm64-setup-Fix-build-warning.patch

All other patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2025-11-05 22:02:20 +08:00

49 lines
1.3 KiB
Diff

From 4263812f0e010a193c6654f75eda49220066bd57 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Tue, 3 Dec 2024 15:57:01 +0000
Subject: [PATCH] nvme-pci: Disable Host Memory Buffer usage
Some NVME drives seem to request significant amounts of DMA coherent
memory - enough to exhaust our standard 64MB CMA allocation.
Try disabling the feature to see what effect it has - drives should
continue to function without it.
Link: https://github.com/raspberrypi/linux/issues/6504
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
drivers/nvme/host/pci.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2106,6 +2106,7 @@ static void nvme_free_host_mem(struct nv
dev->nr_host_mem_descs = 0;
}
+#if 0
static int __nvme_alloc_host_mem(struct nvme_dev *dev, u64 preferred,
u32 chunk_size)
{
@@ -2174,9 +2175,11 @@ out:
dev->host_mem_descs = NULL;
return -ENOMEM;
}
+#endif
static int nvme_alloc_host_mem(struct nvme_dev *dev, u64 min, u64 preferred)
{
+#if 0
u64 min_chunk = min_t(u64, preferred, PAGE_SIZE * MAX_ORDER_NR_PAGES);
u64 hmminds = max_t(u32, dev->ctrl.hmminds * 4096, PAGE_SIZE * 2);
u64 chunk_size;
@@ -2189,6 +2192,7 @@ static int nvme_alloc_host_mem(struct nv
nvme_free_host_mem(dev);
}
}
+#endif
return -ENOMEM;
}