* [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200
@ 2024-06-19 10:15 Thomas Richard
2024-06-19 10:15 ` [PATCH v7 1/7] PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup() Thomas Richard
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard, Francesco Dolcini
This adds suspend to ram support for the PCIe (RC mode) on J7200 platform.
In this 7th iteration, the i2c and mux patches were moved to dedicated
series ([1] and [2]).
The patch for the gpio-pca953x driver was removed. It will be sent
separately for further testing and discussion.
No merge conflict with 6.10-rc4.
[1]: https://lore.kernel.org/all/20240613-i2c-omap-wakeup-controller-during-suspend-v1-0-aab001eb1ad1@bootlin.com/
[2]: https://lore.kernel.org/all/20240613-mux-mmio-resume-support-v1-0-4525bf56024a@bootlin.com/
Regards,
Thomas
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
Changes in v7:
- all: series rebased on Linux 6.10-rc4.
- i2c: patches moved to a dedicated series.
- mux: patches moved to a dedicated series.
- gpio-pca953x: patch removed, will be sent separately.
- Link to v6: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v6-0-4656ef6e6d66@bootlin.com
Changes in v6:
- i2c-omap: add a patch to remove __maybe_unused attribute of
omap_i2c_runtime_suspend() and omap_i2c_runtime_resume()
- i2c-omap: fix compile issue if CONFIG_PM_SLEEP is not set
- Link to v5: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v5-0-4b8c46711ded@bootlin.com
Changes in v5:
- all: series rebased on Linux 6.9-rc1
- pinctrl-single: patch removed (already applied to the pinctrl tree)
- phy: patches moved to a dedicated series.
- pci: add T_PERST_CLK_US macro.
- pci-j721e: update the comments about T_PERST_CLK_US.
- Link to v4: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v4-0-6f1f53390c85@bootlin.com
Changes in v4:
- all: use SoB/Co-developed-by for patches initially developed by Théo
Lebrun.
- pinctrl-single: squash the two commits.
- i2c-omap: fix line lenghts of the comment in omap_i2c_suspend().
- mux: mux_chip_resume() return 0 or at the first error.
- phy-j721e-wiz: clean code around dev_err_probe().
- phy-j721e-wiz: use REF_CLK_100MHZ macros.
- pci: fix subject line for all PCI patches.
- pci-cadence: use fsleep() instead of usleep_range().
- pci-cadence: remove cdns_torrent_clk_cleanup() call in
cdns_torrent_phy_resume_noirq().
- pci-j721e: add a patch to use dev_err_probe() instead of dev_err() in the probe().
- pci-j721e: fix unordered header files.
- pci-j721e: remove some log spammers.
- pci-j721e: add a missing clock disable in j721e_pcie_resume_noirq().
- pci-j721e: simplify the patch "Add reset GPIO to struct j721e_pcie"
- Link to v3: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v3-0-5c2e4a3fac1f@bootlin.com
Changes in v3:
- pinctrl-single: split patch in two parts, a first patch to remove the
dead code, a second to move suspend()/resume() callbacks to noirq.
- i2c-omap: add a comments above the suspend_noirq() callback.
- mux: now mux_chip_resume() try to restores all muxes, then return 0 if
all is ok or the first failure.
- mmio: fix commit message.
- phy-j721e-wiz: add a patch to use dev_err_probe() instead of dev_err() in
the wiz_clock_init() function.
- phy-j721e-wiz: remove probe boolean for the wiz_clock_init(), rename the
function to wiz_clock_probe(), extract hardware configuration part in a
new function wiz_clock_init().
- phy-cadence-torrent: use dev_err_probe() and fix commit messages
- pcie-cadence-host: remove probe boolean for the cdns_pcie_host_setup()
function and extract the link setup part in a new function
cdns_pcie_host_link_setup().
- pcie-cadence-host: make cdns_pcie_host_init() global.
- pci-j721e: use the cdns_pcie_host_link_setup() cdns_pcie_host_init()
functions in the resume_noirq() callback.
- Link to v2: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v2-0-8e4f7d228ec2@bootlin.com
Changes in v2:
- all: fix commits messages.
- all: use DEFINE_NOIRQ_DEV_PM_OPS and pm_sleep_ptr macros.
- all: remove useless #ifdef CONFIG_PM.
- pinctrl-single: drop dead code
- mux: add mux_chip_resume() function in mux core.
- mmio: resume sequence is now a call to mux_chip_resume().
- phy-cadence-torrent: fix typo in resume sequence (reset_control_assert()
instead of reset_control_put()).
- phy-cadence-torrent: use PHY instead of phy.
- pci-j721e: do not shadow cdns_pcie_host_setup return code in resume
sequence.
- pci-j721e: drop dead code.
- Link to v1: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v1-0-84e55da52400@bootlin.com
---
Thomas Richard (5):
PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()
PCI: cadence: Set cdns_pcie_host_init() global
PCI: j721e: Use dev_err_probe() in the probe() function
PCI: Add T_PERST_CLK_US macro
PCI: j721e: Use T_PERST_CLK_US macro
Théo Lebrun (2):
PCI: j721e: Add reset GPIO to struct j721e_pcie
PCI: j721e: Add suspend and resume support
drivers/pci/controller/cadence/pci-j721e.c | 121 ++++++++++++++++++---
drivers/pci/controller/cadence/pcie-cadence-host.c | 44 +++++---
drivers/pci/controller/cadence/pcie-cadence.h | 12 ++
drivers/pci/pci.h | 3 +
4 files changed, 146 insertions(+), 34 deletions(-)
---
base-commit: 7510725e693fb5e4b4cd17086cc5a49a7a065b9c
change-id: 20240102-j7200-pcie-s2r-ecb1a979e357
Best regards,
--
Thomas Richard <thomas.richard@bootlin.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v7 1/7] PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-06-19 10:15 ` [PATCH v7 2/7] PCI: cadence: Set cdns_pcie_host_init() global Thomas Richard
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard
The function cdns_pcie_host_setup() mixes probe structure and link setup.
The link setup must be done during the resume sequence. So extract it from
cdns_pcie_host_setup() and create a dedicated function.
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/controller/cadence/pcie-cadence-host.c | 39 ++++++++++++++--------
drivers/pci/controller/cadence/pcie-cadence.h | 6 ++++
2 files changed, 32 insertions(+), 13 deletions(-)
diff --git a/drivers/pci/controller/cadence/pcie-cadence-host.c b/drivers/pci/controller/cadence/pcie-cadence-host.c
index 5b14f7ee3c79..93d9922730af 100644
--- a/drivers/pci/controller/cadence/pcie-cadence-host.c
+++ b/drivers/pci/controller/cadence/pcie-cadence-host.c
@@ -497,6 +497,30 @@ static int cdns_pcie_host_init(struct device *dev,
return cdns_pcie_host_init_address_translation(rc);
}
+int cdns_pcie_host_link_setup(struct cdns_pcie_rc *rc)
+{
+ struct cdns_pcie *pcie = &rc->pcie;
+ struct device *dev = rc->pcie.dev;
+ int ret;
+
+ if (rc->quirk_detect_quiet_flag)
+ cdns_pcie_detect_quiet_min_delay_set(&rc->pcie);
+
+ cdns_pcie_host_enable_ptm_response(pcie);
+
+ ret = cdns_pcie_start_link(pcie);
+ if (ret) {
+ dev_err(dev, "Failed to start link\n");
+ return ret;
+ }
+
+ ret = cdns_pcie_host_start_link(rc);
+ if (ret)
+ dev_dbg(dev, "PCIe link never came up\n");
+
+ return 0;
+}
+
int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)
{
struct device *dev = rc->pcie.dev;
@@ -533,20 +557,9 @@ int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)
return PTR_ERR(rc->cfg_base);
rc->cfg_res = res;
- if (rc->quirk_detect_quiet_flag)
- cdns_pcie_detect_quiet_min_delay_set(&rc->pcie);
-
- cdns_pcie_host_enable_ptm_response(pcie);
-
- ret = cdns_pcie_start_link(pcie);
- if (ret) {
- dev_err(dev, "Failed to start link\n");
- return ret;
- }
-
- ret = cdns_pcie_host_start_link(rc);
+ ret = cdns_pcie_host_link_setup(rc);
if (ret)
- dev_dbg(dev, "PCIe link never came up\n");
+ return ret;
for (bar = RP_BAR0; bar <= RP_NO_BAR; bar++)
rc->avail_ib_bar[bar] = true;
diff --git a/drivers/pci/controller/cadence/pcie-cadence.h b/drivers/pci/controller/cadence/pcie-cadence.h
index 7a66a2f815dc..1d37d5f9f811 100644
--- a/drivers/pci/controller/cadence/pcie-cadence.h
+++ b/drivers/pci/controller/cadence/pcie-cadence.h
@@ -521,10 +521,16 @@ static inline bool cdns_pcie_link_up(struct cdns_pcie *pcie)
}
#ifdef CONFIG_PCIE_CADENCE_HOST
+int cdns_pcie_host_link_setup(struct cdns_pcie_rc *rc);
int cdns_pcie_host_setup(struct cdns_pcie_rc *rc);
void __iomem *cdns_pci_map_bus(struct pci_bus *bus, unsigned int devfn,
int where);
#else
+static inline int cdns_pcie_host_link_setup(struct cdns_pcie_rc *rc)
+{
+ return 0;
+}
+
static inline int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)
{
return 0;
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 2/7] PCI: cadence: Set cdns_pcie_host_init() global
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
2024-06-19 10:15 ` [PATCH v7 1/7] PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup() Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-06-19 10:15 ` [PATCH v7 3/7] PCI: j721e: Use dev_err_probe() in the probe() function Thomas Richard
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard
During the resume sequence of the host, cdns_pcie_host_init() needs to be
called, so set it global.
The dev function parameter is removed, as it isn't used.
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/controller/cadence/pcie-cadence-host.c | 5 ++---
drivers/pci/controller/cadence/pcie-cadence.h | 6 ++++++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/controller/cadence/pcie-cadence-host.c b/drivers/pci/controller/cadence/pcie-cadence-host.c
index 93d9922730af..8af95e9da7ce 100644
--- a/drivers/pci/controller/cadence/pcie-cadence-host.c
+++ b/drivers/pci/controller/cadence/pcie-cadence-host.c
@@ -485,8 +485,7 @@ static int cdns_pcie_host_init_address_translation(struct cdns_pcie_rc *rc)
return cdns_pcie_host_map_dma_ranges(rc);
}
-static int cdns_pcie_host_init(struct device *dev,
- struct cdns_pcie_rc *rc)
+int cdns_pcie_host_init(struct cdns_pcie_rc *rc)
{
int err;
@@ -564,7 +563,7 @@ int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)
for (bar = RP_BAR0; bar <= RP_NO_BAR; bar++)
rc->avail_ib_bar[bar] = true;
- ret = cdns_pcie_host_init(dev, rc);
+ ret = cdns_pcie_host_init(rc);
if (ret)
return ret;
diff --git a/drivers/pci/controller/cadence/pcie-cadence.h b/drivers/pci/controller/cadence/pcie-cadence.h
index 1d37d5f9f811..bb215aeebf20 100644
--- a/drivers/pci/controller/cadence/pcie-cadence.h
+++ b/drivers/pci/controller/cadence/pcie-cadence.h
@@ -522,6 +522,7 @@ static inline bool cdns_pcie_link_up(struct cdns_pcie *pcie)
#ifdef CONFIG_PCIE_CADENCE_HOST
int cdns_pcie_host_link_setup(struct cdns_pcie_rc *rc);
+int cdns_pcie_host_init(struct cdns_pcie_rc *rc);
int cdns_pcie_host_setup(struct cdns_pcie_rc *rc);
void __iomem *cdns_pci_map_bus(struct pci_bus *bus, unsigned int devfn,
int where);
@@ -531,6 +532,11 @@ static inline int cdns_pcie_host_link_setup(struct cdns_pcie_rc *rc)
return 0;
}
+static inline int cdns_pcie_host_init(struct cdns_pcie_rc *rc)
+{
+ return 0;
+}
+
static inline int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)
{
return 0;
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 3/7] PCI: j721e: Use dev_err_probe() in the probe() function
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
2024-06-19 10:15 ` [PATCH v7 1/7] PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup() Thomas Richard
2024-06-19 10:15 ` [PATCH v7 2/7] PCI: cadence: Set cdns_pcie_host_init() global Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-06-19 10:15 ` [PATCH v7 4/7] PCI: j721e: Add reset GPIO to struct j721e_pcie Thomas Richard
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard, Francesco Dolcini
Use dev_err_probe() instead of dev_err() in the probe() function to
simplify the code and standardize the error output.
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/controller/cadence/pci-j721e.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/drivers/pci/controller/cadence/pci-j721e.c b/drivers/pci/controller/cadence/pci-j721e.c
index 85718246016b..98484f001562 100644
--- a/drivers/pci/controller/cadence/pci-j721e.c
+++ b/drivers/pci/controller/cadence/pci-j721e.c
@@ -482,20 +482,20 @@ static int j721e_pcie_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
ret = pm_runtime_get_sync(dev);
if (ret < 0) {
- dev_err(dev, "pm_runtime_get_sync failed\n");
+ dev_err_probe(dev, ret, "pm_runtime_get_sync failed\n");
goto err_get_sync;
}
ret = j721e_pcie_ctrl_init(pcie);
if (ret < 0) {
- dev_err(dev, "pm_runtime_get_sync failed\n");
+ dev_err_probe(dev, ret, "pm_runtime_get_sync failed\n");
goto err_get_sync;
}
ret = devm_request_irq(dev, irq, j721e_pcie_link_irq_handler, 0,
"j721e-pcie-link-down-irq", pcie);
if (ret < 0) {
- dev_err(dev, "failed to request link state IRQ %d\n", irq);
+ dev_err_probe(dev, ret, "failed to request link state IRQ %d\n", irq);
goto err_get_sync;
}
@@ -505,28 +505,25 @@ static int j721e_pcie_probe(struct platform_device *pdev)
case PCI_MODE_RC:
gpiod = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
if (IS_ERR(gpiod)) {
- ret = PTR_ERR(gpiod);
- if (ret != -EPROBE_DEFER)
- dev_err(dev, "Failed to get reset GPIO\n");
+ ret = dev_err_probe(dev, PTR_ERR(gpiod), "Failed to get reset GPIO\n");
goto err_get_sync;
}
ret = cdns_pcie_init_phy(dev, cdns_pcie);
if (ret) {
- dev_err(dev, "Failed to init phy\n");
+ dev_err_probe(dev, ret, "Failed to init phy\n");
goto err_get_sync;
}
clk = devm_clk_get_optional(dev, "pcie_refclk");
if (IS_ERR(clk)) {
- ret = PTR_ERR(clk);
- dev_err(dev, "failed to get pcie_refclk\n");
+ ret = dev_err_probe(dev, PTR_ERR(clk), "failed to get pcie_refclk\n");
goto err_pcie_setup;
}
ret = clk_prepare_enable(clk);
if (ret) {
- dev_err(dev, "failed to enable pcie_refclk\n");
+ dev_err_probe(dev, ret, "failed to enable pcie_refclk\n");
goto err_pcie_setup;
}
pcie->refclk = clk;
@@ -554,7 +551,7 @@ static int j721e_pcie_probe(struct platform_device *pdev)
case PCI_MODE_EP:
ret = cdns_pcie_init_phy(dev, cdns_pcie);
if (ret) {
- dev_err(dev, "Failed to init phy\n");
+ dev_err_probe(dev, ret, "Failed to init phy\n");
goto err_get_sync;
}
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 4/7] PCI: j721e: Add reset GPIO to struct j721e_pcie
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
` (2 preceding siblings ...)
2024-06-19 10:15 ` [PATCH v7 3/7] PCI: j721e: Use dev_err_probe() in the probe() function Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-06-19 10:15 ` [PATCH v7 5/7] PCI: Add T_PERST_CLK_US macro Thomas Richard
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard
From: Théo Lebrun <theo.lebrun@bootlin.com>
Add reset GPIO to struct j721e_pcie, so it can be used at suspend and
resume stages.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/controller/cadence/pci-j721e.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/controller/cadence/pci-j721e.c b/drivers/pci/controller/cadence/pci-j721e.c
index 98484f001562..9af4fd64c1f9 100644
--- a/drivers/pci/controller/cadence/pci-j721e.c
+++ b/drivers/pci/controller/cadence/pci-j721e.c
@@ -52,6 +52,7 @@ struct j721e_pcie {
u32 mode;
u32 num_lanes;
u32 max_lanes;
+ struct gpio_desc *reset_gpio;
void __iomem *user_cfg_base;
void __iomem *intd_cfg_base;
u32 linkdown_irq_regfield;
@@ -508,6 +509,7 @@ static int j721e_pcie_probe(struct platform_device *pdev)
ret = dev_err_probe(dev, PTR_ERR(gpiod), "Failed to get reset GPIO\n");
goto err_get_sync;
}
+ pcie->reset_gpio = gpiod;
ret = cdns_pcie_init_phy(dev, cdns_pcie);
if (ret) {
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 5/7] PCI: Add T_PERST_CLK_US macro
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
` (3 preceding siblings ...)
2024-06-19 10:15 ` [PATCH v7 4/7] PCI: j721e: Add reset GPIO to struct j721e_pcie Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-06-19 10:15 ` [PATCH v7 6/7] PCI: j721e: Use " Thomas Richard
` (3 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard
"Power Sequencing and Reset Signal Timings" table (section 2.9.2) in PCI
EXPRESS CARD ELECTROMECHANICAL SPECIFICATION, REV. 5.1 indicates PERST#
should be deasserted after minimum of 100us once REFCLK is stable (symbol
T_PERST-CLK).
Add a macro so that PCIe controller drivers can use it.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/pci.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index fd44565c4756..1a11f2fe3efe 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -16,6 +16,9 @@
/* Power stable to PERST# inactive from PCIe card Electromechanical Spec */
#define PCIE_T_PVPERL_MS 100
+/* REFCLK stable before PERST# inactive from PCIe card Electromechanical Spec */
+#define PCIE_T_PERST_CLK_US 100
+
/*
* PCIe r6.0, sec 5.3.3.2.1 <PME Synchronization>
* Recommends 1ms to 10ms timeout to check L2 ready.
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 6/7] PCI: j721e: Use T_PERST_CLK_US macro
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
` (4 preceding siblings ...)
2024-06-19 10:15 ` [PATCH v7 5/7] PCI: Add T_PERST_CLK_US macro Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-06-19 10:15 ` [PATCH v7 7/7] PCI: j721e: Add suspend and resume support Thomas Richard
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard
Use the T_PERST_CLK_US macro, and the fsleep() function instead of
usleep_range().
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/controller/cadence/pci-j721e.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/cadence/pci-j721e.c b/drivers/pci/controller/cadence/pci-j721e.c
index 9af4fd64c1f9..967a5bf38e26 100644
--- a/drivers/pci/controller/cadence/pci-j721e.c
+++ b/drivers/pci/controller/cadence/pci-j721e.c
@@ -539,7 +539,7 @@ static int j721e_pcie_probe(struct platform_device *pdev)
* after 100 us.
*/
if (gpiod) {
- usleep_range(100, 200);
+ fsleep(PCIE_T_PERST_CLK_US);
gpiod_set_value_cansleep(gpiod, 1);
}
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v7 7/7] PCI: j721e: Add suspend and resume support
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
` (5 preceding siblings ...)
2024-06-19 10:15 ` [PATCH v7 6/7] PCI: j721e: Use " Thomas Richard
@ 2024-06-19 10:15 ` Thomas Richard
2024-07-16 9:44 ` [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Gregory CLEMENT
2024-09-03 12:41 ` Thomas Richard
8 siblings, 0 replies; 11+ messages in thread
From: Thomas Richard @ 2024-06-19 10:15 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Thomas Richard
From: Théo Lebrun <theo.lebrun@bootlin.com>
Add suspend and resume support. Only the rc mode is supported.
During the suspend stage PERST# is asserted, then deasserted during the
resume stage.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
drivers/pci/controller/cadence/pci-j721e.c | 98 ++++++++++++++++++++++++++++--
1 file changed, 92 insertions(+), 6 deletions(-)
diff --git a/drivers/pci/controller/cadence/pci-j721e.c b/drivers/pci/controller/cadence/pci-j721e.c
index 967a5bf38e26..96316a79ab8a 100644
--- a/drivers/pci/controller/cadence/pci-j721e.c
+++ b/drivers/pci/controller/cadence/pci-j721e.c
@@ -7,6 +7,8 @@
*/
#include <linux/clk.h>
+#include <linux/clk-provider.h>
+#include <linux/container_of.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/io.h>
@@ -22,6 +24,8 @@
#include "../../pci.h"
#include "pcie-cadence.h"
+#define cdns_pcie_to_rc(p) container_of(p, struct cdns_pcie_rc, pcie)
+
#define ENABLE_REG_SYS_2 0x108
#define STATUS_REG_SYS_2 0x508
#define STATUS_CLR_REG_SYS_2 0x708
@@ -531,12 +535,12 @@ static int j721e_pcie_probe(struct platform_device *pdev)
pcie->refclk = clk;
/*
- * "Power Sequencing and Reset Signal Timings" table in
- * PCI EXPRESS CARD ELECTROMECHANICAL SPECIFICATION, REV. 3.0
- * indicates PERST# should be deasserted after minimum of 100us
- * once REFCLK is stable. The REFCLK to the connector in RC
- * mode is selected while enabling the PHY. So deassert PERST#
- * after 100 us.
+ * "Power Sequencing and Reset Signal Timings" table (section
+ * 2.9.2) in PCI EXPRESS CARD ELECTROMECHANICAL SPECIFICATION,
+ * REV. 5.1 indicates PERST# should be deasserted after minimum
+ * of 100us once REFCLK is stable (symbol T_PERST-CLK).
+ * The REFCLK to the connector in RC mode is selected while
+ * enabling the PHY. So deassert PERST# after 100 us.
*/
if (gpiod) {
fsleep(PCIE_T_PERST_CLK_US);
@@ -588,6 +592,87 @@ static void j721e_pcie_remove(struct platform_device *pdev)
pm_runtime_disable(dev);
}
+static int j721e_pcie_suspend_noirq(struct device *dev)
+{
+ struct j721e_pcie *pcie = dev_get_drvdata(dev);
+
+ if (pcie->mode == PCI_MODE_RC) {
+ gpiod_set_value_cansleep(pcie->reset_gpio, 0);
+ clk_disable_unprepare(pcie->refclk);
+ }
+
+ cdns_pcie_disable_phy(pcie->cdns_pcie);
+
+ return 0;
+}
+
+static int j721e_pcie_resume_noirq(struct device *dev)
+{
+ struct j721e_pcie *pcie = dev_get_drvdata(dev);
+ struct cdns_pcie *cdns_pcie = pcie->cdns_pcie;
+ int ret;
+
+ ret = j721e_pcie_ctrl_init(pcie);
+ if (ret < 0)
+ return ret;
+
+ j721e_pcie_config_link_irq(pcie);
+
+ /*
+ * This is not called explicitly in the probe, it is called by
+ * cdns_pcie_init_phy().
+ */
+ ret = cdns_pcie_enable_phy(pcie->cdns_pcie);
+ if (ret < 0)
+ return ret;
+
+ if (pcie->mode == PCI_MODE_RC) {
+ struct cdns_pcie_rc *rc = cdns_pcie_to_rc(cdns_pcie);
+
+ ret = clk_prepare_enable(pcie->refclk);
+ if (ret < 0)
+ return ret;
+
+ /*
+ * "Power Sequencing and Reset Signal Timings" table (section
+ * 2.9.2) in PCI EXPRESS CARD ELECTROMECHANICAL SPECIFICATION,
+ * REV. 5.1 indicates PERST# should be deasserted after minimum
+ * of 100us once REFCLK is stable (symbol T_PERST-CLK).
+ * The REFCLK to the connector in RC mode is selected while
+ * enabling the PHY. So deassert PERST# after 100 us.
+ */
+ if (pcie->reset_gpio) {
+ fsleep(PCIE_T_PERST_CLK_US);
+ gpiod_set_value_cansleep(pcie->reset_gpio, 1);
+ }
+
+ ret = cdns_pcie_host_link_setup(rc);
+ if (ret < 0) {
+ clk_disable_unprepare(pcie->refclk);
+ return ret;
+ }
+
+ /*
+ * Reset internal status of BARs to force reinitialization in
+ * cdns_pcie_host_init().
+ */
+ for (enum cdns_pcie_rp_bar bar = RP_BAR0; bar <= RP_NO_BAR; bar++)
+ rc->avail_ib_bar[bar] = true;
+
+ ret = cdns_pcie_host_init(rc);
+ if (ret) {
+ clk_disable_unprepare(pcie->refclk);
+ return ret;
+ }
+ }
+
+ return 0;
+}
+
+static DEFINE_NOIRQ_DEV_PM_OPS(j721e_pcie_pm_ops,
+ j721e_pcie_suspend_noirq,
+ j721e_pcie_resume_noirq);
+
static struct platform_driver j721e_pcie_driver = {
.probe = j721e_pcie_probe,
.remove_new = j721e_pcie_remove,
@@ -595,6 +680,7 @@ static struct platform_driver j721e_pcie_driver = {
.name = "j721e-pcie",
.of_match_table = of_j721e_pcie_match,
.suppress_bind_attrs = true,
+ .pm = pm_sleep_ptr(&j721e_pcie_pm_ops),
},
};
builtin_platform_driver(j721e_pcie_driver);
--
2.39.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
` (6 preceding siblings ...)
2024-06-19 10:15 ` [PATCH v7 7/7] PCI: j721e: Add suspend and resume support Thomas Richard
@ 2024-07-16 9:44 ` Gregory CLEMENT
2024-09-03 12:41 ` Thomas Richard
8 siblings, 0 replies; 11+ messages in thread
From: Gregory CLEMENT @ 2024-07-16 9:44 UTC (permalink / raw)
To: Thomas Richard, Lorenzo Pieralisi, Krzysztof Wilczyński,
Rob Herring, Bjorn Helgaas, Vignesh Raghavendra,
Siddharth Vadapalli
Cc: theo.lebrun, thomas.petazzoni, u-kumar1, linux-pci, linux-kernel,
linux-omap, linux-arm-kernel, Thomas Richard, Francesco Dolcini,
Richard Genoud
Hello PCIe maintainers!
> This adds suspend to ram support for the PCIe (RC mode) on J7200 platform.
>
> In this 7th iteration, the i2c and mux patches were moved to dedicated
> series ([1] and [2]).
> The patch for the gpio-pca953x driver was removed. It will be sent
> separately for further testing and discussion.
>
> No merge conflict with 6.10-rc4.
>
> [1]: https://lore.kernel.org/all/20240613-i2c-omap-wakeup-controller-during-suspend-v1-0-aab001eb1ad1@bootlin.com/
> [2]:
> https://lore.kernel.org/all/20240613-mux-mmio-resume-support-v1-0-4525bf56024a@bootlin.com/
I noticed that this series has not been merged yet, even though it
seemed that there were no remaining comments to address.
Is there any reason why it has not been applied yet?
Thanks,
Gregory
>
> Regards,
>
> Thomas
>
> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
> ---
> Changes in v7:
> - all: series rebased on Linux 6.10-rc4.
> - i2c: patches moved to a dedicated series.
> - mux: patches moved to a dedicated series.
> - gpio-pca953x: patch removed, will be sent separately.
> - Link to v6: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v6-0-4656ef6e6d66@bootlin.com
>
> Changes in v6:
> - i2c-omap: add a patch to remove __maybe_unused attribute of
> omap_i2c_runtime_suspend() and omap_i2c_runtime_resume()
> - i2c-omap: fix compile issue if CONFIG_PM_SLEEP is not set
> - Link to v5: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v5-0-4b8c46711ded@bootlin.com
>
> Changes in v5:
> - all: series rebased on Linux 6.9-rc1
> - pinctrl-single: patch removed (already applied to the pinctrl tree)
> - phy: patches moved to a dedicated series.
> - pci: add T_PERST_CLK_US macro.
> - pci-j721e: update the comments about T_PERST_CLK_US.
> - Link to v4: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v4-0-6f1f53390c85@bootlin.com
>
> Changes in v4:
> - all: use SoB/Co-developed-by for patches initially developed by Théo
> Lebrun.
> - pinctrl-single: squash the two commits.
> - i2c-omap: fix line lenghts of the comment in omap_i2c_suspend().
> - mux: mux_chip_resume() return 0 or at the first error.
> - phy-j721e-wiz: clean code around dev_err_probe().
> - phy-j721e-wiz: use REF_CLK_100MHZ macros.
> - pci: fix subject line for all PCI patches.
> - pci-cadence: use fsleep() instead of usleep_range().
> - pci-cadence: remove cdns_torrent_clk_cleanup() call in
> cdns_torrent_phy_resume_noirq().
> - pci-j721e: add a patch to use dev_err_probe() instead of dev_err() in the probe().
> - pci-j721e: fix unordered header files.
> - pci-j721e: remove some log spammers.
> - pci-j721e: add a missing clock disable in j721e_pcie_resume_noirq().
> - pci-j721e: simplify the patch "Add reset GPIO to struct j721e_pcie"
> - Link to v3: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v3-0-5c2e4a3fac1f@bootlin.com
>
> Changes in v3:
> - pinctrl-single: split patch in two parts, a first patch to remove the
> dead code, a second to move suspend()/resume() callbacks to noirq.
> - i2c-omap: add a comments above the suspend_noirq() callback.
> - mux: now mux_chip_resume() try to restores all muxes, then return 0 if
> all is ok or the first failure.
> - mmio: fix commit message.
> - phy-j721e-wiz: add a patch to use dev_err_probe() instead of dev_err() in
> the wiz_clock_init() function.
> - phy-j721e-wiz: remove probe boolean for the wiz_clock_init(), rename the
> function to wiz_clock_probe(), extract hardware configuration part in a
> new function wiz_clock_init().
> - phy-cadence-torrent: use dev_err_probe() and fix commit messages
> - pcie-cadence-host: remove probe boolean for the cdns_pcie_host_setup()
> function and extract the link setup part in a new function
> cdns_pcie_host_link_setup().
> - pcie-cadence-host: make cdns_pcie_host_init() global.
> - pci-j721e: use the cdns_pcie_host_link_setup() cdns_pcie_host_init()
> functions in the resume_noirq() callback.
> - Link to v2: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v2-0-8e4f7d228ec2@bootlin.com
>
> Changes in v2:
> - all: fix commits messages.
> - all: use DEFINE_NOIRQ_DEV_PM_OPS and pm_sleep_ptr macros.
> - all: remove useless #ifdef CONFIG_PM.
> - pinctrl-single: drop dead code
> - mux: add mux_chip_resume() function in mux core.
> - mmio: resume sequence is now a call to mux_chip_resume().
> - phy-cadence-torrent: fix typo in resume sequence (reset_control_assert()
> instead of reset_control_put()).
> - phy-cadence-torrent: use PHY instead of phy.
> - pci-j721e: do not shadow cdns_pcie_host_setup return code in resume
> sequence.
> - pci-j721e: drop dead code.
> - Link to v1: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v1-0-84e55da52400@bootlin.com
>
> ---
> Thomas Richard (5):
> PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()
> PCI: cadence: Set cdns_pcie_host_init() global
> PCI: j721e: Use dev_err_probe() in the probe() function
> PCI: Add T_PERST_CLK_US macro
> PCI: j721e: Use T_PERST_CLK_US macro
>
> Théo Lebrun (2):
> PCI: j721e: Add reset GPIO to struct j721e_pcie
> PCI: j721e: Add suspend and resume support
>
> drivers/pci/controller/cadence/pci-j721e.c | 121 ++++++++++++++++++---
> drivers/pci/controller/cadence/pcie-cadence-host.c | 44 +++++---
> drivers/pci/controller/cadence/pcie-cadence.h | 12 ++
> drivers/pci/pci.h | 3 +
> 4 files changed, 146 insertions(+), 34 deletions(-)
> ---
> base-commit: 7510725e693fb5e4b4cd17086cc5a49a7a065b9c
> change-id: 20240102-j7200-pcie-s2r-ecb1a979e357
>
> Best regards,
> --
> Thomas Richard <thomas.richard@bootlin.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
` (7 preceding siblings ...)
2024-07-16 9:44 ` [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Gregory CLEMENT
@ 2024-09-03 12:41 ` Thomas Richard
2024-09-03 18:32 ` Krzysztof Wilczyński
8 siblings, 1 reply; 11+ messages in thread
From: Thomas Richard @ 2024-09-03 12:41 UTC (permalink / raw)
To: Lorenzo Pieralisi, Krzysztof Wilczyński, Rob Herring,
Bjorn Helgaas, Vignesh Raghavendra, Siddharth Vadapalli
Cc: gregory.clement, theo.lebrun, thomas.petazzoni, u-kumar1,
linux-pci, linux-kernel, linux-omap, linux-arm-kernel,
Francesco Dolcini
On 6/19/24 12:15, Thomas Richard wrote:
> This adds suspend to ram support for the PCIe (RC mode) on J7200 platform.
>
> In this 7th iteration, the i2c and mux patches were moved to dedicated
> series ([1] and [2]).
> The patch for the gpio-pca953x driver was removed. It will be sent
> separately for further testing and discussion.
>
> No merge conflict with 6.10-rc4.
>
> [1]: https://lore.kernel.org/all/20240613-i2c-omap-wakeup-controller-during-suspend-v1-0-aab001eb1ad1@bootlin.com/
> [2]: https://lore.kernel.org/all/20240613-mux-mmio-resume-support-v1-0-4525bf56024a@bootlin.com/
Hello !!
This series has no remaining comment to address.
Is there any chance to get this series merged ?
Best Regards,
Thomas
>
> Regards,
>
> Thomas
>
> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
> ---
> Changes in v7:
> - all: series rebased on Linux 6.10-rc4.
> - i2c: patches moved to a dedicated series.
> - mux: patches moved to a dedicated series.
> - gpio-pca953x: patch removed, will be sent separately.
> - Link to v6: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v6-0-4656ef6e6d66@bootlin.com
>
> Changes in v6:
> - i2c-omap: add a patch to remove __maybe_unused attribute of
> omap_i2c_runtime_suspend() and omap_i2c_runtime_resume()
> - i2c-omap: fix compile issue if CONFIG_PM_SLEEP is not set
> - Link to v5: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v5-0-4b8c46711ded@bootlin.com
>
> Changes in v5:
> - all: series rebased on Linux 6.9-rc1
> - pinctrl-single: patch removed (already applied to the pinctrl tree)
> - phy: patches moved to a dedicated series.
> - pci: add T_PERST_CLK_US macro.
> - pci-j721e: update the comments about T_PERST_CLK_US.
> - Link to v4: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v4-0-6f1f53390c85@bootlin.com
>
> Changes in v4:
> - all: use SoB/Co-developed-by for patches initially developed by Théo
> Lebrun.
> - pinctrl-single: squash the two commits.
> - i2c-omap: fix line lenghts of the comment in omap_i2c_suspend().
> - mux: mux_chip_resume() return 0 or at the first error.
> - phy-j721e-wiz: clean code around dev_err_probe().
> - phy-j721e-wiz: use REF_CLK_100MHZ macros.
> - pci: fix subject line for all PCI patches.
> - pci-cadence: use fsleep() instead of usleep_range().
> - pci-cadence: remove cdns_torrent_clk_cleanup() call in
> cdns_torrent_phy_resume_noirq().
> - pci-j721e: add a patch to use dev_err_probe() instead of dev_err() in the probe().
> - pci-j721e: fix unordered header files.
> - pci-j721e: remove some log spammers.
> - pci-j721e: add a missing clock disable in j721e_pcie_resume_noirq().
> - pci-j721e: simplify the patch "Add reset GPIO to struct j721e_pcie"
> - Link to v3: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v3-0-5c2e4a3fac1f@bootlin.com
>
> Changes in v3:
> - pinctrl-single: split patch in two parts, a first patch to remove the
> dead code, a second to move suspend()/resume() callbacks to noirq.
> - i2c-omap: add a comments above the suspend_noirq() callback.
> - mux: now mux_chip_resume() try to restores all muxes, then return 0 if
> all is ok or the first failure.
> - mmio: fix commit message.
> - phy-j721e-wiz: add a patch to use dev_err_probe() instead of dev_err() in
> the wiz_clock_init() function.
> - phy-j721e-wiz: remove probe boolean for the wiz_clock_init(), rename the
> function to wiz_clock_probe(), extract hardware configuration part in a
> new function wiz_clock_init().
> - phy-cadence-torrent: use dev_err_probe() and fix commit messages
> - pcie-cadence-host: remove probe boolean for the cdns_pcie_host_setup()
> function and extract the link setup part in a new function
> cdns_pcie_host_link_setup().
> - pcie-cadence-host: make cdns_pcie_host_init() global.
> - pci-j721e: use the cdns_pcie_host_link_setup() cdns_pcie_host_init()
> functions in the resume_noirq() callback.
> - Link to v2: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v2-0-8e4f7d228ec2@bootlin.com
>
> Changes in v2:
> - all: fix commits messages.
> - all: use DEFINE_NOIRQ_DEV_PM_OPS and pm_sleep_ptr macros.
> - all: remove useless #ifdef CONFIG_PM.
> - pinctrl-single: drop dead code
> - mux: add mux_chip_resume() function in mux core.
> - mmio: resume sequence is now a call to mux_chip_resume().
> - phy-cadence-torrent: fix typo in resume sequence (reset_control_assert()
> instead of reset_control_put()).
> - phy-cadence-torrent: use PHY instead of phy.
> - pci-j721e: do not shadow cdns_pcie_host_setup return code in resume
> sequence.
> - pci-j721e: drop dead code.
> - Link to v1: https://lore.kernel.org/r/20240102-j7200-pcie-s2r-v1-0-84e55da52400@bootlin.com
>
> ---
> Thomas Richard (5):
> PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()
> PCI: cadence: Set cdns_pcie_host_init() global
> PCI: j721e: Use dev_err_probe() in the probe() function
> PCI: Add T_PERST_CLK_US macro
> PCI: j721e: Use T_PERST_CLK_US macro
>
> Théo Lebrun (2):
> PCI: j721e: Add reset GPIO to struct j721e_pcie
> PCI: j721e: Add suspend and resume support
>
> drivers/pci/controller/cadence/pci-j721e.c | 121 ++++++++++++++++++---
> drivers/pci/controller/cadence/pcie-cadence-host.c | 44 +++++---
> drivers/pci/controller/cadence/pcie-cadence.h | 12 ++
> drivers/pci/pci.h | 3 +
> 4 files changed, 146 insertions(+), 34 deletions(-)
> ---
> base-commit: 7510725e693fb5e4b4cd17086cc5a49a7a065b9c
> change-id: 20240102-j7200-pcie-s2r-ecb1a979e357
>
> Best regards,
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200
2024-09-03 12:41 ` Thomas Richard
@ 2024-09-03 18:32 ` Krzysztof Wilczyński
0 siblings, 0 replies; 11+ messages in thread
From: Krzysztof Wilczyński @ 2024-09-03 18:32 UTC (permalink / raw)
To: Thomas Richard
Cc: Lorenzo Pieralisi, Rob Herring, Bjorn Helgaas,
Vignesh Raghavendra, Siddharth Vadapalli, gregory.clement,
theo.lebrun, thomas.petazzoni, u-kumar1, linux-pci, linux-kernel,
linux-omap, linux-arm-kernel, Francesco Dolcini
Hello,
> This series has no remaining comment to address.
No, nothing. Everything looks good.
> Is there any chance to get this series merged ?
Yes. Apologies for the delay.
Bjorn, should be able to pull it for 6.12, hopefully.
Krzysztof
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-09-03 18:32 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-19 10:15 [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Thomas Richard
2024-06-19 10:15 ` [PATCH v7 1/7] PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup() Thomas Richard
2024-06-19 10:15 ` [PATCH v7 2/7] PCI: cadence: Set cdns_pcie_host_init() global Thomas Richard
2024-06-19 10:15 ` [PATCH v7 3/7] PCI: j721e: Use dev_err_probe() in the probe() function Thomas Richard
2024-06-19 10:15 ` [PATCH v7 4/7] PCI: j721e: Add reset GPIO to struct j721e_pcie Thomas Richard
2024-06-19 10:15 ` [PATCH v7 5/7] PCI: Add T_PERST_CLK_US macro Thomas Richard
2024-06-19 10:15 ` [PATCH v7 6/7] PCI: j721e: Use " Thomas Richard
2024-06-19 10:15 ` [PATCH v7 7/7] PCI: j721e: Add suspend and resume support Thomas Richard
2024-07-16 9:44 ` [PATCH v7 0/7] Add suspend to ram support for PCIe on J7200 Gregory CLEMENT
2024-09-03 12:41 ` Thomas Richard
2024-09-03 18:32 ` Krzysztof Wilczyński
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).