mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-06 13:55:22 +02:00
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
|
config NVME_FABRICS
|
||||||
select NVME_CORE
|
select NVME_CORE
|
||||||
|
select NVME_KEYRING if NVME_TCP_TLS
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
config NVME_RDMA
|
config NVME_RDMA
|
||||||
|
@ -94,7 +95,6 @@ config NVME_TCP
|
||||||
config NVME_TCP_TLS
|
config NVME_TCP_TLS
|
||||||
bool "NVMe over Fabrics TCP TLS encryption support"
|
bool "NVMe over Fabrics TCP TLS encryption support"
|
||||||
depends on NVME_TCP
|
depends on NVME_TCP
|
||||||
select NVME_KEYRING
|
|
||||||
select NET_HANDSHAKE
|
select NET_HANDSHAKE
|
||||||
select KEYS
|
select KEYS
|
||||||
help
|
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;
|
set->flags = BLK_MQ_F_SHOULD_MERGE;
|
||||||
if (ctrl->ops->flags & NVME_F_BLOCKING)
|
if (ctrl->ops->flags & NVME_F_BLOCKING)
|
||||||
set->flags |= BLK_MQ_F_BLOCKING;
|
set->flags |= BLK_MQ_F_BLOCKING;
|
||||||
set->cmd_size = cmd_size,
|
set->cmd_size = cmd_size;
|
||||||
set->driver_data = ctrl;
|
set->driver_data = ctrl;
|
||||||
set->nr_hw_queues = ctrl->queue_count - 1;
|
set->nr_hw_queues = ctrl->queue_count - 1;
|
||||||
set->timeout = NVME_IO_TIMEOUT;
|
set->timeout = NVME_IO_TIMEOUT;
|
||||||
|
|
|
@ -90,6 +90,11 @@ enum nvme_quirks {
|
||||||
*/
|
*/
|
||||||
NVME_QUIRK_NO_DEEPEST_PS = (1 << 5),
|
NVME_QUIRK_NO_DEEPEST_PS = (1 << 5),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Problems seen with concurrent commands
|
||||||
|
*/
|
||||||
|
NVME_QUIRK_QDEPTH_ONE = (1 << 6),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set MEDIUM priority on SQ creation
|
* Set MEDIUM priority on SQ creation
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2557,15 +2557,8 @@ static int nvme_pci_enable(struct nvme_dev *dev)
|
||||||
else
|
else
|
||||||
dev->io_sqes = NVME_NVM_IOSQES;
|
dev->io_sqes = NVME_NVM_IOSQES;
|
||||||
|
|
||||||
/*
|
if (dev->ctrl.quirks & NVME_QUIRK_QDEPTH_ONE) {
|
||||||
* 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) {
|
|
||||||
dev->q_depth = 2;
|
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 &&
|
} else if (pdev->vendor == PCI_VENDOR_ID_SAMSUNG &&
|
||||||
(pdev->device == 0xa821 || pdev->device == 0xa822) &&
|
(pdev->device == 0xa821 || pdev->device == 0xa822) &&
|
||||||
NVME_CAP_MQES(dev->ctrl.cap) == 0) {
|
NVME_CAP_MQES(dev->ctrl.cap) == 0) {
|
||||||
|
@ -3425,6 +3418,8 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||||
NVME_QUIRK_BOGUS_NID, },
|
NVME_QUIRK_BOGUS_NID, },
|
||||||
{ PCI_VDEVICE(REDHAT, 0x0010), /* Qemu emulated controller */
|
{ PCI_VDEVICE(REDHAT, 0x0010), /* Qemu emulated controller */
|
||||||
.driver_data = NVME_QUIRK_BOGUS_NID, },
|
.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 */
|
{ PCI_DEVICE(0x126f, 0x2262), /* Silicon Motion generic */
|
||||||
.driver_data = NVME_QUIRK_NO_DEEPEST_PS |
|
.driver_data = NVME_QUIRK_NO_DEEPEST_PS |
|
||||||
NVME_QUIRK_BOGUS_NID, },
|
NVME_QUIRK_BOGUS_NID, },
|
||||||
|
@ -3559,7 +3554,12 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0xcd02),
|
{ PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0xcd02),
|
||||||
.driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, },
|
.driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001),
|
{ 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, 0x2003) },
|
||||||
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2005),
|
{ PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2005),
|
||||||
.driver_data = NVME_QUIRK_SINGLE_VECTOR |
|
.driver_data = NVME_QUIRK_SINGLE_VECTOR |
|
||||||
|
|
Loading…
Reference in New Issue
Block a user