From: Sinan Kaya <okaya@codeaurora.org>
To: linux-pci@vger.kernel.org, timur@codeaurora.org
Cc: mayurkumar.patel@intel.com, linux-arm-msm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Sinan Kaya <okaya@codeaurora.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Rajat Jain <rajatja@google.com>,
Julia Lawall <Julia.Lawall@lip6.fr>,
David Daney <david.daney@cavium.com>,
Shawn Lin <shawn.lin@rock-chips.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH V8 1/5] PCI/ASPM: introduce pci_aspm_init() and add to pci_init_capabilities()
Date: Sat, 8 Apr 2017 00:55:47 -0400 [thread overview]
Message-ID: <1491627351-1111-2-git-send-email-okaya@codeaurora.org> (raw)
In-Reply-To: <1491627351-1111-1-git-send-email-okaya@codeaurora.org>
We need a callback from pci_init_capabilities function for every
single new PCI device that is currently being added.
pci_aspm_init() will be used to save the power on state of the HW.
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=194895
Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
drivers/pci/pcie/aspm.c | 10 ++++++++++
drivers/pci/probe.c | 3 +++
include/linux/pci.h | 2 ++
3 files changed, 15 insertions(+)
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 1dfa10c..dc36717 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -827,6 +827,16 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev)
}
/*
+ * pci_aspm_init: Initiate PCI express link state.
+ * It is called from device_add for every single pci device.
+ * @pdev: all pci devices
+ */
+int pci_aspm_init(struct pci_dev *pdev)
+{
+ return 0;
+}
+
+/*
* pcie_aspm_init_link_state: Initiate PCI express link state.
* It is called after the pcie and its children devices are scanned.
* @pdev: the root port or switch downstream port
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index dfc9a27..1e19364 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1847,6 +1847,9 @@ static void pci_init_capabilities(struct pci_dev *dev)
/* Advanced Error Reporting */
pci_aer_init(dev);
+
+ /* Active State Power Management */
+ pci_aspm_init(dev);
}
/*
diff --git a/include/linux/pci.h b/include/linux/pci.h
index eb3da1a..8828dd7 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1396,8 +1396,10 @@ static inline int pci_irq_get_node(struct pci_dev *pdev, int vec)
#ifdef CONFIG_PCIEASPM
bool pcie_aspm_support_enabled(void);
+int pci_aspm_init(struct pci_dev *pdev);
#else
static inline bool pcie_aspm_support_enabled(void) { return false; }
+static inline int pci_aspm_init(struct pci_dev *pdev) { return -ENODEV; }
#endif
#ifdef CONFIG_PCIEAER
--
1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: Sinan Kaya <okaya@codeaurora.org>
To: linux-pci@vger.kernel.org, timur@codeaurora.org
Cc: mayurkumar.patel@intel.com, David Daney <david.daney@cavium.com>,
linux-arm-msm@vger.kernel.org,
Shawn Lin <shawn.lin@rock-chips.com>,
linux-kernel@vger.kernel.org, Sinan Kaya <okaya@codeaurora.org>,
Julia Lawall <Julia.Lawall@lip6.fr>,
Bjorn Helgaas <bhelgaas@google.com>,
Rajat Jain <rajatja@google.com>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH V8 1/5] PCI/ASPM: introduce pci_aspm_init() and add to pci_init_capabilities()
Date: Sat, 8 Apr 2017 00:55:47 -0400 [thread overview]
Message-ID: <1491627351-1111-2-git-send-email-okaya@codeaurora.org> (raw)
In-Reply-To: <1491627351-1111-1-git-send-email-okaya@codeaurora.org>
We need a callback from pci_init_capabilities function for every
single new PCI device that is currently being added.
pci_aspm_init() will be used to save the power on state of the HW.
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=194895
Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
drivers/pci/pcie/aspm.c | 10 ++++++++++
drivers/pci/probe.c | 3 +++
include/linux/pci.h | 2 ++
3 files changed, 15 insertions(+)
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 1dfa10c..dc36717 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -827,6 +827,16 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev)
}
/*
+ * pci_aspm_init: Initiate PCI express link state.
+ * It is called from device_add for every single pci device.
+ * @pdev: all pci devices
+ */
+int pci_aspm_init(struct pci_dev *pdev)
+{
+ return 0;
+}
+
+/*
* pcie_aspm_init_link_state: Initiate PCI express link state.
* It is called after the pcie and its children devices are scanned.
* @pdev: the root port or switch downstream port
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index dfc9a27..1e19364 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1847,6 +1847,9 @@ static void pci_init_capabilities(struct pci_dev *dev)
/* Advanced Error Reporting */
pci_aer_init(dev);
+
+ /* Active State Power Management */
+ pci_aspm_init(dev);
}
/*
diff --git a/include/linux/pci.h b/include/linux/pci.h
index eb3da1a..8828dd7 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1396,8 +1396,10 @@ static inline int pci_irq_get_node(struct pci_dev *pdev, int vec)
#ifdef CONFIG_PCIEASPM
bool pcie_aspm_support_enabled(void);
+int pci_aspm_init(struct pci_dev *pdev);
#else
static inline bool pcie_aspm_support_enabled(void) { return false; }
+static inline int pci_aspm_init(struct pci_dev *pdev) { return -ENODEV; }
#endif
#ifdef CONFIG_PCIEAER
--
1.9.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: okaya@codeaurora.org (Sinan Kaya)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V8 1/5] PCI/ASPM: introduce pci_aspm_init() and add to pci_init_capabilities()
Date: Sat, 8 Apr 2017 00:55:47 -0400 [thread overview]
Message-ID: <1491627351-1111-2-git-send-email-okaya@codeaurora.org> (raw)
In-Reply-To: <1491627351-1111-1-git-send-email-okaya@codeaurora.org>
We need a callback from pci_init_capabilities function for every
single new PCI device that is currently being added.
pci_aspm_init() will be used to save the power on state of the HW.
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=194895
Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
---
drivers/pci/pcie/aspm.c | 10 ++++++++++
drivers/pci/probe.c | 3 +++
include/linux/pci.h | 2 ++
3 files changed, 15 insertions(+)
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 1dfa10c..dc36717 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -827,6 +827,16 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev)
}
/*
+ * pci_aspm_init: Initiate PCI express link state.
+ * It is called from device_add for every single pci device.
+ * @pdev: all pci devices
+ */
+int pci_aspm_init(struct pci_dev *pdev)
+{
+ return 0;
+}
+
+/*
* pcie_aspm_init_link_state: Initiate PCI express link state.
* It is called after the pcie and its children devices are scanned.
* @pdev: the root port or switch downstream port
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index dfc9a27..1e19364 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1847,6 +1847,9 @@ static void pci_init_capabilities(struct pci_dev *dev)
/* Advanced Error Reporting */
pci_aer_init(dev);
+
+ /* Active State Power Management */
+ pci_aspm_init(dev);
}
/*
diff --git a/include/linux/pci.h b/include/linux/pci.h
index eb3da1a..8828dd7 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1396,8 +1396,10 @@ static inline int pci_irq_get_node(struct pci_dev *pdev, int vec)
#ifdef CONFIG_PCIEASPM
bool pcie_aspm_support_enabled(void);
+int pci_aspm_init(struct pci_dev *pdev);
#else
static inline bool pcie_aspm_support_enabled(void) { return false; }
+static inline int pci_aspm_init(struct pci_dev *pdev) { return -ENODEV; }
#endif
#ifdef CONFIG_PCIEAER
--
1.9.1
next prev parent reply other threads:[~2017-04-08 4:56 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-08 4:55 [PATCH V8 0/5] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya [this message]
2017-04-08 4:55 ` [PATCH V8 1/5] PCI/ASPM: introduce pci_aspm_init() and add to pci_init_capabilities() Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-13 20:51 ` Bjorn Helgaas
2017-04-13 20:51 ` Bjorn Helgaas
2017-04-14 19:10 ` Sinan Kaya
2017-04-14 19:10 ` Sinan Kaya
2017-04-08 4:55 ` [PATCH V8 2/5] PCI/ASPM: split pci_aspm_init() into two Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-12 19:16 ` Rajat Jain
2017-04-12 19:16 ` Rajat Jain
2017-04-13 18:25 ` Bjorn Helgaas
2017-04-13 18:25 ` Bjorn Helgaas
2017-04-13 18:25 ` Bjorn Helgaas
2017-04-14 19:10 ` Sinan Kaya
2017-04-14 19:10 ` Sinan Kaya
2017-04-14 19:10 ` Sinan Kaya
2017-04-08 4:55 ` [PATCH V8 3/5] PCI/ASPM: add init hook to device_add Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-13 20:48 ` Bjorn Helgaas
2017-04-13 20:48 ` Bjorn Helgaas
2017-04-13 20:48 ` Bjorn Helgaas
2017-04-13 21:02 ` Bjorn Helgaas
2017-04-13 21:02 ` Bjorn Helgaas
2017-04-13 21:02 ` Bjorn Helgaas
2017-04-14 1:19 ` Sinan Kaya
2017-04-14 1:19 ` Sinan Kaya
2017-04-14 1:30 ` Bjorn Helgaas
2017-04-14 1:30 ` Bjorn Helgaas
2017-04-08 4:55 ` [PATCH V8 4/5] PCI/ASPM: save power on values during bridge init Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-12 19:19 ` Rajat Jain
2017-04-12 19:19 ` Rajat Jain
2017-04-12 19:19 ` Rajat Jain
2017-04-14 19:12 ` Sinan Kaya
2017-04-14 19:12 ` Sinan Kaya
2017-04-14 19:12 ` Sinan Kaya
2017-04-14 21:44 ` Bjorn Helgaas
2017-04-14 21:44 ` Bjorn Helgaas
2017-04-14 21:44 ` Bjorn Helgaas
2017-04-14 22:17 ` Sinan Kaya
2017-04-14 22:17 ` Sinan Kaya
2017-04-17 16:38 ` Bjorn Helgaas
2017-04-17 16:38 ` Bjorn Helgaas
2017-04-17 17:50 ` Sinan Kaya
2017-04-17 17:50 ` Sinan Kaya
2017-04-21 7:46 ` Patel, Mayurkumar
2017-04-21 7:46 ` Patel, Mayurkumar
2017-04-21 7:46 ` Patel, Mayurkumar
2017-04-21 7:46 ` Patel, Mayurkumar
2017-04-21 13:50 ` Sinan Kaya
2017-04-21 13:50 ` Sinan Kaya
2017-04-21 14:13 ` Patel, Mayurkumar
2017-04-21 14:13 ` Patel, Mayurkumar
2017-04-21 14:13 ` Patel, Mayurkumar
2017-04-21 14:13 ` Patel, Mayurkumar
2017-04-25 18:45 ` Bjorn Helgaas
2017-04-25 18:45 ` Bjorn Helgaas
2017-05-02 12:02 ` Patel, Mayurkumar
2017-05-02 12:02 ` Patel, Mayurkumar
2017-05-02 12:02 ` Patel, Mayurkumar
2017-05-03 21:10 ` Bjorn Helgaas
2017-05-03 21:10 ` Bjorn Helgaas
2017-05-03 21:10 ` Bjorn Helgaas
2017-05-15 9:10 ` Patel, Mayurkumar
2017-05-15 9:10 ` Patel, Mayurkumar
2017-05-15 9:10 ` Patel, Mayurkumar
2017-05-15 9:10 ` Patel, Mayurkumar
2017-04-08 4:55 ` [PATCH V8 5/5] PCI/ASPM: move link_state cleanup to bridge remove Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-08 4:55 ` Sinan Kaya
2017-04-10 11:37 ` [PATCH V8 0/5] PCI/ASPM: reconfigure ASPM following hotplug for POLICY_DEFAULT Patel, Mayurkumar
2017-04-10 11:37 ` Patel, Mayurkumar
2017-04-10 11:37 ` Patel, Mayurkumar
2017-04-10 13:07 ` Sinan Kaya
2017-04-10 13:07 ` Sinan Kaya
2017-04-10 13:07 ` Sinan Kaya
2017-04-10 13:11 ` Patel, Mayurkumar
2017-04-10 13:11 ` Patel, Mayurkumar
2017-04-10 13:11 ` Patel, Mayurkumar
2017-04-11 21:19 ` Bjorn Helgaas
2017-04-11 21:19 ` Bjorn Helgaas
2017-04-11 21:19 ` Bjorn Helgaas
2017-04-11 21:27 ` Sinan Kaya
2017-04-11 21:27 ` Sinan Kaya
2017-04-11 22:41 ` Bjorn Helgaas
2017-04-11 22:41 ` Bjorn Helgaas
2017-04-11 22:41 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1491627351-1111-2-git-send-email-okaya@codeaurora.org \
--to=okaya@codeaurora.org \
--cc=Julia.Lawall@lip6.fr \
--cc=bhelgaas@google.com \
--cc=david.daney@cavium.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mayurkumar.patel@intel.com \
--cc=rajatja@google.com \
--cc=shawn.lin@rock-chips.com \
--cc=timur@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.