Bug 209789 - LTR is not enabled for NVMe devices behind VMD
Summary: LTR is not enabled for NVMe devices behind VMD
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-21 07:57 UTC by Kai-Heng Feng
Modified: 2021-10-19 03:09 UTC (History)
0 users

See Also:
Kernel Version: mainline v5.9
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg (70.03 KB, text/plain)
2020-10-21 07:57 UTC, Kai-Heng Feng
Details
lspci -vv (31.90 KB, text/plain)
2020-10-21 07:58 UTC, Kai-Heng Feng
Details
acpidump (2.25 MB, text/plain)
2020-10-21 07:58 UTC, Kai-Heng Feng
Details

Description Kai-Heng Feng 2020-10-21 07:57:11 UTC
Both max snoop and max non-snoop are 0 by default. Some NVMes will prevent the SoC from reaching deeper power save stats.

Do we use _DSM to find LTR?
https://lore.kernel.org/linux-pci/20201001214436.2735412-3-helgaas@kernel.org/

However, the VMD0 doesn't have _DSM. Do we use _DSM from SAT0 instead?

The hack Ubuntu kernel uses is to hardcode LTR as 3145728ns:
https://kernel.ubuntu.com/git/ubuntu/unstable.git/tree/drivers/pci/quirks.c#n5695


The 3145728ns is read from Windows. How does Windows decide the LTR value?
Comment 1 Kai-Heng Feng 2020-10-21 07:57:45 UTC
Created attachment 293105 [details]
dmesg
Comment 2 Kai-Heng Feng 2020-10-21 07:58:03 UTC
Created attachment 293107 [details]
lspci -vv
Comment 3 Kai-Heng Feng 2020-10-21 07:58:16 UTC
Created attachment 293109 [details]
acpidump
Comment 4 Kai-Heng Feng 2021-10-19 03:09:05 UTC
According to Intel, the LTR value is set by Windows driver.

Note You need to log in before you can comment on or make changes to this bug.