summaryrefslogtreecommitdiffstats
path: root/bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0123-nvme-Workaround-Samsung-970-Pro-power-state-issues.patch
blob: 86dcdf62c8efa96b8b8deac5d55ac29401485913 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From 49e089f9173aaf001ed82a250f8ff0ce6f585ac4 Mon Sep 17 00:00:00 2001
From: Valentine Barshak <valentine.barshak@cogentembedded.com>
Date: Fri, 22 Feb 2019 02:55:02 +0300
Subject: [PATCH 072/122] nvme: Workaround Samsung 970 Pro power state issues

Sometimes Samsung 970 Pro NVME device just disappears.
Looks like it drops into deep sleep mode during I/O.
This behaviour has been observed at least on R-Car
Gen3 H3ULCB and M3ULC Kingfisher boards.

Add a quirk that disables deep sleep mode for the device.

Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
---
 drivers/nvme/host/pci.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index afb9987..a6c0789 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -2557,6 +2557,8 @@ static const struct pci_device_id nvme_id_table[] = {
 		.driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, },
 	{ PCI_DEVICE(0x1c5f, 0x0540),	/* Memblaze Pblaze4 adapter */
 		.driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, },
+	{ PCI_DEVICE(0x144d, 0xa808),   /* Samsung 970 Pro */
+		.driver_data = NVME_QUIRK_NO_DEEPEST_PS },
 	{ PCI_DEVICE(0x144d, 0xa821),   /* Samsung PM1725 */
 		.driver_data = NVME_QUIRK_DELAY_BEFORE_CHK_RDY, },
 	{ PCI_DEVICE(0x144d, 0xa822),   /* Samsung PM1725a */
-- 
2.7.4