[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1483425255-101923-7-git-send-email-rajatja@google.com>
Date: Mon, 2 Jan 2017 22:34:15 -0800
From: Rajat Jain <rajatja@...gle.com>
To: Bjorn Helgaas <bhelgaas@...gle.com>,
Keith Busch <keith.busch@...el.com>,
Andreas Ziegler <andreas.ziegler@....de>,
Jonathan Yong <jonathan.yong@...el.com>,
Shawn Lin <shawn.lin@...k-chips.com>,
David Daney <david.daney@...ium.com>,
Julia Lawall <Julia.Lawall@...6.fr>,
Ram Amrani <Ram.Amrani@...ium.com>,
Doug Ledford <dledford@...hat.com>,
Wang Sheng-Hui <shhuiw@...mail.com>, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Rajat Jain <rajatja@...gle.com>, Rajat Jain <rajatxjain@...il.com>,
Brian Norris <briannorris@...gle.com>
Subject: [PATCH 6/6] PCI/ASPM: Add comment about L1 substate latency
Since the exit latencies for L1 substates are not advertised by
a device, it is not clear in spec how to do a L1 substate exit
latency check. We assume that the L1 exit latencies advertised
by a device include L1 substate latencies (and hence do not do any
check). If that is not true, we should do some sort of check here.
(I'm not clear about what that check should like currenlty. I'd be
glad to take up any suggestions).
Signed-off-by: Rajat Jain <rajatja@...gle.com>
---
drivers/pci/pcie/aspm.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 6735f38..cb5602c 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -403,6 +403,14 @@ static void pcie_aspm_check_latency(struct pci_dev *endpoint)
* Check L1 latency.
* Every switch on the path to root complex need 1
* more microsecond for L1. Spec doesn't mention L0s.
+ *
+ * The exit latencies for L1 substates are not advertised
+ * by a device. Since the spec also doesn't mention a way
+ * to determine max latencies introduced by enabling L1
+ * substates on the components, it is not clear how to do
+ * a L1 substate exit latency check. We assume that the
+ * L1 exit latencies advertised by a device include L1
+ * substate latencies (and hence do not do any check)
*/
latency = max_t(u32, link->latency_up.l1, link->latency_dw.l1);
if ((link->aspm_capable & ASPM_STATE_L1) &&
--
2.8.0.rc3.226.g39d4020
Powered by blists - more mailing lists