nvme-pci: disable Write Zeroes on Phison E3C/E4C
authorTina Hsu <tina_hsu@phison.corp-partner.google.com>
Thu, 22 Sep 2022 06:16:30 +0000 (14:16 +0800)
committerChristoph Hellwig <hch@lst.de>
Tue, 27 Sep 2022 07:20:30 +0000 (09:20 +0200)
E3C/E4C SSDs do support the Write Zeroes command in theory, but have very
bad performance when using it.  As the firmware has been frozen for these
products we can not expect firmware improvements for it, so disable
Write Zeroes.

Signed-off-by: Tina Hsu <tina_hsu@phison.corp-partner.google.com>
[hch: update the commit message]
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/pci.c

index ca15602401235fdb0701fc0544f597c7eadd22ac..3bdb97205699cd083387f809223cba9151248307 100644 (file)
@@ -3475,6 +3475,10 @@ static const struct pci_device_id nvme_id_table[] = {
        { PCI_DEVICE(0x1987, 0x5016),   /* Phison E16 */
                .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN |
                                NVME_QUIRK_BOGUS_NID, },
+       { PCI_DEVICE(0x1987, 0x5019),  /* phison E19 */
+               .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
+       { PCI_DEVICE(0x1987, 0x5021),   /* Phison E21 */
+               .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
        { PCI_DEVICE(0x1b4b, 0x1092),   /* Lexar 256 GB SSD */
                .driver_data = NVME_QUIRK_NO_NS_DESC_LIST |
                                NVME_QUIRK_IGNORE_DEV_SUBNQN, },