nvme fixes for Linux 6.12
- A syntax cleanup (Shen) - Fix a Kconfig linking error (Arnd) - New queue-depth quirk (Keith) -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE3Fbyvv+648XNRdHTPe3zGtjzRgkFAmbkTKcACgkQPe3zGtjz RgmVahAAu1cdexoKpqj0yGFLw6CyqXSHL8fcMMqjLYhBZ65xLW1z3H4e5GWVXE0x M8Bu0bKCHl7a+Rp5KtpGCT31nwLX0TTyv+nyKOFYdezU8kFh4wO5NDNV1iT4IW2q 4NuxJt2sP6tIryIpC8OP1zx5qyKRDsgJEksSU2zZ9h39J6pAWOfYJr47n8jobDrg rdrRH8sE4FXKGP22mBUbv5tJ1XSECOHriHdaeg9Xh74ZFQr4+F/3BmTMWNjfi+Uu HEBiW0W2b/b1JJeVOVR4aqhJbsOUkPyqtD9o07zxsJsJ6VD82y/FiNRTBenZnHEb rZTrJ2n0uBf2S+/lX1jWfak2WCXpTwc/rLMDbfmFG8SMWHVDad/GdTm7+LPFs509 5AlzF4SXDpzlKvvVEsXpaLWUm4LeTcw3dnk/4PjPXrVf15J/gc58So77qDpOXd/k xf0wbcRxSCUTum5Vvtx7XTsHvp/CzthfS2RxwhaYr1AJPqkqQg9W2kQa89fRBO9F i9IMZ6j4flJY7wqhH9niEBEEf/uCn7C1NwpPEhayXMBsbdR99Ibt1s+qktm3sj5X rQsU8kAMzJW9ijj9rA+0vfeEiQzDc3zTbhHFa/4R3wEqdzfOIFj3q/bfdCgMmYZk UzsmPZDqbdCXvqkI47YBUiVaY33M9dgrjecGW8O9FM+2qnFYOlg= =a7rh -----END PGP SIGNATURE----- Merge tag 'nvme-6.12-2024-09-13' of git://git.infradead.org/nvme into for-6.12/block Pull NVMe fixes from Keith: "nvme fixes for Linux 6.12 - A syntax cleanup (Shen) - Fix a Kconfig linking error (Arnd) - New queue-depth quirk (Keith)" * tag 'nvme-6.12-2024-09-13' of git://git.infradead.org/nvme: nvme-pci: qdepth 1 quirk nvme-tcp: fix link failure for TCP auth nvme: Convert comma to semicolon
This commit is contained in:
commit
d4d7c03f7e
@ -41,6 +41,7 @@ config NVME_HWMON
|
||||
|
||||
config NVME_FABRICS
|
||||
select NVME_CORE
|
||||
select NVME_KEYRING if NVME_TCP_TLS
|
||||
tristate
|
||||
|
||||
config NVME_RDMA
|
||||
@ -94,7 +95,6 @@ config NVME_TCP
|
||||
config NVME_TCP_TLS
|
||||
bool "NVMe over Fabrics TCP TLS encryption support"
|
||||
depends on NVME_TCP
|
||||
select NVME_KEYRING
|
||||
select NET_HANDSHAKE
|
||||
select KEYS
|
||||
help
|
||||
|
@ -4605,7 +4605,7 @@ int nvme_alloc_io_tag_set(struct nvme_ctrl *ctrl, struct blk_mq_tag_set *set,
|
||||
set->flags = BLK_MQ_F_SHOULD_MERGE;
|
||||
if (ctrl->ops->flags & NVME_F_BLOCKING)
|
||||
set->flags |= BLK_MQ_F_BLOCKING;
|
||||
set->cmd_size = cmd_size,
|
||||
set->cmd_size = cmd_size;
|
||||
set->driver_data = ctrl;
|
||||
set->nr_hw_queues = ctrl->queue_count - 1;
|
||||
set->timeout = NVME_IO_TIMEOUT;
|
||||
|
@ -90,6 +90,11 @@ enum nvme_quirks {
|
||||
*/
|
||||
NVME_QUIRK_NO_DEEPEST_PS = (1 << 5),
|
||||
|
||||
/*
|
||||
* Problems seen with concurrent commands
|
||||
*/
|
||||
NVME_QUIRK_QDEPTH_ONE = (1 << 6),
|
||||
|
||||
/*
|
||||
* Set MEDIUM priority on SQ creation
|
||||
*/
|
||||
|
@ -2557,15 +2557,8 @@ static int nvme_pci_enable(struct nvme_dev *dev)
|
||||
else
|
||||
dev->io_sqes = NVME_NVM_IOSQES;
|
||||
|
||||
/*
|
||||
* Temporary fix for the Apple controller found in the MacBook8,1 and
|
||||
* some MacBook7,1 to avoid controller resets and data loss.
|
||||
*/
|
||||
if (pdev->vendor == PCI_VENDOR_ID_APPLE && pdev->device == 0x2001) {
|
||||
if (dev->ctrl.quirks & NVME_QUIRK_QDEPTH_ONE) {
|
||||
dev->q_depth = 2;
|
||||
dev_warn(dev->ctrl.device, "detected Apple NVMe controller, "
|
||||
"set queue depth=%u to work around controller resets\n",
|
||||
dev->q_depth);
|
||||
} else if (pdev->vendor == PCI_VENDOR_ID_SAMSUNG &&
|
||||
(pdev->device == 0xa821 || pdev->device == 0xa822) &&
|
||||
NVME_CAP_MQES(dev->ctrl.cap) == 0) {
|
||||
@ -3425,6 +3418,8 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||
NVME_QUIRK_BOGUS_NID, },
|
||||
{ PCI_VDEVICE(REDHAT, 0x0010), /* Qemu emulated controller */
|
||||
.driver_data = NVME_QUIRK_BOGUS_NID, },
|
||||
{ PCI_DEVICE(0x1217, 0x8760), /* O2 Micro 64GB Steam Deck */
|
||||
.driver_data = NVME_QUIRK_QDEPTH_ONE },
|
||||
{ PCI_DEVICE(0x126f, 0x2262), /* Silicon Motion generic */
|
||||
.driver_data = NVME_QUIRK_NO_DEEPEST_PS |
|
||||
NVME_QUIRK_BOGUS_NID, },
|
||||
@ -3559,7 +3554,12 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0xcd02),
|
||||
.driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001),
|
||||
.driver_data = NVME_QUIRK_SINGLE_VECTOR },
|
||||
/*
|
||||
* Fix for the Apple controller found in the MacBook8,1 and
|
||||
* some MacBook7,1 to avoid controller resets and data loss.
|
||||
*/
|
||||
.driver_data = NVME_QUIRK_SINGLE_VECTOR |
|
||||
NVME_QUIRK_QDEPTH_ONE },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2005),
|
||||
.driver_data = NVME_QUIRK_SINGLE_VECTOR |
|
||||
|
Loading…
Reference in New Issue
Block a user