[openwrt/openwrt] bmips: add SPI accepted PM patches

LEDE Commits lede-commits at lists.infradead.org
Wed Feb 24 12:21:17 EST 2021


noltari pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/a0eff5ddffa7f8445fd9f80683c231d71ae880cb

commit a0eff5ddffa7f8445fd9f80683c231d71ae880cb
Author: Álvaro Fernández Rojas <noltari at gmail.com>
AuthorDate: Wed Feb 24 18:20:04 2021 +0100

    bmips: add SPI accepted PM patches
    
    These patches have been accepted upstream.
    
    Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
---
 .../041-v5.12-spi-bcm63xx-spi-fix-pm_runtime.patch | 45 ++++++++++++++++++++
 ...42-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch | 48 ++++++++++++++++++++++
 ...5-spi-bcm63xx-spi-disable-auto_runtime_pm.patch | 10 -----
 ...spi-bcm63xx-hsspi-disable-auto_runtime_pm.patch | 10 -----
 4 files changed, 93 insertions(+), 20 deletions(-)

diff --git a/target/linux/bmips/patches-5.10/041-v5.12-spi-bcm63xx-spi-fix-pm_runtime.patch b/target/linux/bmips/patches-5.10/041-v5.12-spi-bcm63xx-spi-fix-pm_runtime.patch
new file mode 100644
index 0000000000..3fe7a552cd
--- /dev/null
+++ b/target/linux/bmips/patches-5.10/041-v5.12-spi-bcm63xx-spi-fix-pm_runtime.patch
@@ -0,0 +1,45 @@
+From 73ae625da5c36300fccd809738e7c68f49ebce35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari at gmail.com>
+Date: Tue, 23 Feb 2021 16:18:50 +0100
+Subject: [PATCH 1/2] spi: bcm63xx-spi: fix pm_runtime
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The driver sets auto_runtime_pm to true, but it doesn't call
+pm_runtime_enable(), which results in "Failed to power device" when PM support
+is enabled.
+
+Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
+Link: https://lore.kernel.org/r/20210223151851.4110-2-noltari@gmail.com
+Signed-off-by: Mark Brown <broonie at kernel.org>
+---
+ drivers/spi/spi-bcm63xx.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/spi/spi-bcm63xx.c
++++ b/drivers/spi/spi-bcm63xx.c
+@@ -593,11 +593,13 @@ static int bcm63xx_spi_probe(struct plat
+ 
+ 	bcm_spi_writeb(bs, SPI_INTR_CLEAR_ALL, SPI_INT_STATUS);
+ 
++	pm_runtime_enable(&pdev->dev);
++
+ 	/* register and we are done */
+ 	ret = devm_spi_register_master(dev, master);
+ 	if (ret) {
+ 		dev_err(dev, "spi register failed\n");
+-		goto out_clk_disable;
++		goto out_pm_disable;
+ 	}
+ 
+ 	dev_info(dev, "at %pr (irq %d, FIFOs size %d)\n",
+@@ -605,6 +607,8 @@ static int bcm63xx_spi_probe(struct plat
+ 
+ 	return 0;
+ 
++out_pm_disable:
++	pm_runtime_disable(&pdev->dev);
+ out_clk_disable:
+ 	clk_disable_unprepare(clk);
+ out_err:
diff --git a/target/linux/bmips/patches-5.10/042-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch b/target/linux/bmips/patches-5.10/042-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch
new file mode 100644
index 0000000000..47c75659b9
--- /dev/null
+++ b/target/linux/bmips/patches-5.10/042-v5.12-spi-bcm63xx-hsspi-fix-pm_runtime.patch
@@ -0,0 +1,48 @@
+From 216e8e80057a9f0b6366327881acf88eaf9f1fd4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari at gmail.com>
+Date: Tue, 23 Feb 2021 16:18:51 +0100
+Subject: [PATCH 2/2] spi: bcm63xx-hsspi: fix pm_runtime
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The driver sets auto_runtime_pm to true, but it doesn't call
+pm_runtime_enable(), which results in "Failed to power device" when PM support
+is enabled.
+
+Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
+Link: https://lore.kernel.org/r/20210223151851.4110-3-noltari@gmail.com
+Signed-off-by: Mark Brown <broonie at kernel.org>
+---
+ drivers/spi/spi-bcm63xx-hsspi.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/spi/spi-bcm63xx-hsspi.c
++++ b/drivers/spi/spi-bcm63xx-hsspi.c
+@@ -21,6 +21,7 @@
+ #include <linux/mutex.h>
+ #include <linux/of.h>
+ #include <linux/reset.h>
++#include <linux/pm_runtime.h>
+ 
+ #define HSSPI_GLOBAL_CTRL_REG			0x0
+ #define GLOBAL_CTRL_CS_POLARITY_SHIFT		0
+@@ -439,13 +440,17 @@ static int bcm63xx_hsspi_probe(struct pl
+ 	if (ret)
+ 		goto out_put_master;
+ 
++	pm_runtime_enable(&pdev->dev);
++
+ 	/* register and we are done */
+ 	ret = devm_spi_register_master(dev, master);
+ 	if (ret)
+-		goto out_put_master;
++		goto out_pm_disable;
+ 
+ 	return 0;
+ 
++out_pm_disable:
++	pm_runtime_disable(&pdev->dev);
+ out_put_master:
+ 	spi_master_put(master);
+ out_disable_pll_clk:
diff --git a/target/linux/bmips/patches-5.10/205-spi-bcm63xx-spi-disable-auto_runtime_pm.patch b/target/linux/bmips/patches-5.10/205-spi-bcm63xx-spi-disable-auto_runtime_pm.patch
deleted file mode 100644
index 43e1ce5221..0000000000
--- a/target/linux/bmips/patches-5.10/205-spi-bcm63xx-spi-disable-auto_runtime_pm.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/drivers/spi/spi-bcm63xx.c
-+++ b/drivers/spi/spi-bcm63xx.c
-@@ -574,7 +574,6 @@ static int bcm63xx_spi_probe(struct plat
- 	master->bits_per_word_mask = SPI_BPW_MASK(8);
- 	master->max_transfer_size = bcm63xx_spi_max_length;
- 	master->max_message_size = bcm63xx_spi_max_length;
--	master->auto_runtime_pm = true;
- 	bs->msg_type_shift = bs->reg_offsets[SPI_MSG_TYPE_SHIFT];
- 	bs->msg_ctl_width = bs->reg_offsets[SPI_MSG_CTL_WIDTH];
- 	bs->tx_io = (u8 *)(bs->regs + bs->reg_offsets[SPI_MSG_DATA]);
diff --git a/target/linux/bmips/patches-5.10/206-spi-bcm63xx-hsspi-disable-auto_runtime_pm.patch b/target/linux/bmips/patches-5.10/206-spi-bcm63xx-hsspi-disable-auto_runtime_pm.patch
deleted file mode 100644
index a78c864ee0..0000000000
--- a/target/linux/bmips/patches-5.10/206-spi-bcm63xx-hsspi-disable-auto_runtime_pm.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/drivers/spi/spi-bcm63xx-hsspi.c
-+++ b/drivers/spi/spi-bcm63xx-hsspi.c
-@@ -417,7 +417,6 @@ static int bcm63xx_hsspi_probe(struct pl
- 	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH |
- 			    SPI_RX_DUAL | SPI_TX_DUAL;
- 	master->bits_per_word_mask = SPI_BPW_MASK(8);
--	master->auto_runtime_pm = true;
- 
- 	platform_set_drvdata(pdev, master);
- 



More information about the lede-commits mailing list