diff mbox series

spi: spi-mtk-nor: initialize spi controller after resume

Message ID 20220412115743.22641-1-allen-kh.cheng@mediatek.com (mailing list archive)
State New, archived
Headers show
Series spi: spi-mtk-nor: initialize spi controller after resume | expand

Commit Message

Allen-KH Cheng April 12, 2022, 11:57 a.m. UTC
After system resumes, the registers of nor controller are
initialized with default values. The nor controller will
not function properly.

To handle both issues above, we add mtk_nor_init() in
mtk_nor_resume after pm_runtime_force_resume().

Fixes: 3bfd9103c7af ("spi: spi-mtk-nor: Add power management support")

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 drivers/spi/spi-mtk-nor.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Comments

Rex-BC Chen (陳柏辰) April 12, 2022, 12:27 p.m. UTC | #1
On Tue, 2022-04-12 at 19:57 +0800, Allen-KH Cheng wrote:
> After system resumes, the registers of nor controller are
> initialized with default values. The nor controller will
> not function properly.
> 
> To handle both issues above, we add mtk_nor_init() in
> mtk_nor_resume after pm_runtime_force_resume().
> 
> Fixes: 3bfd9103c7af ("spi: spi-mtk-nor: Add power management
> support")
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---

Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
AngeloGioacchino Del Regno April 12, 2022, 4:17 p.m. UTC | #2
Il 12/04/22 13:57, Allen-KH Cheng ha scritto:
> After system resumes, the registers of nor controller are
> initialized with default values. The nor controller will
> not function properly.
> 
> To handle both issues above, we add mtk_nor_init() in
> mtk_nor_resume after pm_runtime_force_resume().
> 
> Fixes: 3bfd9103c7af ("spi: spi-mtk-nor: Add power management support")
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.com>

That's just one issue, not two, so... "To handle both issues [etc]" should become
something like:
"Solve this issue by reinitializing the registers right after resuming the
controller"

After fixing the commit description,

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Mark Brown April 12, 2022, 7:50 p.m. UTC | #3
On Tue, 12 Apr 2022 19:57:43 +0800, Allen-KH Cheng wrote:
> After system resumes, the registers of nor controller are
> initialized with default values. The nor controller will
> not function properly.
> 
> To handle both issues above, we add mtk_nor_init() in
> mtk_nor_resume after pm_runtime_force_resume().
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/1] spi: spi-mtk-nor: initialize spi controller after resume
      commit: 317c2045618cc1f8d38beb8c93a7bdb6ad8638c6

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
Allen-KH Cheng April 13, 2022, 3:33 a.m. UTC | #4
Hi Mark,

On Tue, 2022-04-12 at 20:50 +0100, Mark Brown wrote:
> On Tue, 12 Apr 2022 19:57:43 +0800, Allen-KH Cheng wrote:
> > After system resumes, the registers of nor controller are
> > initialized with default values. The nor controller will
> > not function properly.
> > 
> > To handle both issues above, we add mtk_nor_init() in
> > mtk_nor_resume after pm_runtime_force_resume().
> > 
> > [...]
> 
> Applied to
> 
>    
> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git__;!!CTRNKA9wMg0ARbw!yMeMfZ19NoVygn0D8jzp0BcX0t6mWOG9BHPtCkD4VW8I24y8h9ZJKA7R-g5XFhDiXJnnCz0t18TJC-73vXyYW0m8CQ$
>   for-next
> 
> Thanks!
> 
> [1/1] spi: spi-mtk-nor: initialize spi controller after resume
>       commit: 317c2045618cc1f8d38beb8c93a7bdb6ad8638c6
> 
> All being well this means that it will be integrated into the linux-
> next
> tree (usually sometime in the next 24 hours) and sent to Linus during
> the next merge window (or sooner if it is a bug fix), however if
> problems are discovered then the patch may be dropped or reverted.
> 
> You may get further e-mails resulting from automated or manual
> testing
> and review of the tree, please engage with people reporting problems
> and
> send followup patches addressing any issues that are reported if
> needed.
> 
> If any updates are required or you are submitting further changes
> they
> should be sent as incremental updates against current git, existing
> patches will not be replaced.
> 
> Please add any relevant lists and maintainers to the CCs when
> replying
> to this mail.
> 
> Thanks,
> Mark

Sorry, There is one issue I want to correct in commit message.

"To handle both issues [etc]" should become something like:
"Solve this issue by reinitializing the registers right after resuming
the controller"

Do you mind help me modify commit message? or I can send a new PATCH to
correst this.

I apologize for any inconvenience caused.

Thanks,
Allen
Mark Brown April 13, 2022, 12:47 p.m. UTC | #5
On Wed, Apr 13, 2022 at 11:33:47AM +0800, allen-kh.cheng wrote:

> Sorry, There is one issue I want to correct in commit message.

> "To handle both issues [etc]" should become something like:
> "Solve this issue by reinitializing the registers right after resuming
> the controller"

> Do you mind help me modify commit message? or I can send a new PATCH to
> correst this.

Sorry, there's a merge commit after the patch so I can't easily rebase
(which I don't generally do anyway) - it'll just have to stay the way it
is.  Not the end of the world even if it is unfortunate.
diff mbox series

Patch

diff --git a/drivers/spi/spi-mtk-nor.c b/drivers/spi/spi-mtk-nor.c
index 94fb09696677..d167699a1a96 100644
--- a/drivers/spi/spi-mtk-nor.c
+++ b/drivers/spi/spi-mtk-nor.c
@@ -960,7 +960,17 @@  static int __maybe_unused mtk_nor_suspend(struct device *dev)
 
 static int __maybe_unused mtk_nor_resume(struct device *dev)
 {
-	return pm_runtime_force_resume(dev);
+	struct spi_controller *ctlr = dev_get_drvdata(dev);
+	struct mtk_nor *sp = spi_controller_get_devdata(ctlr);
+	int ret;
+
+	ret = pm_runtime_force_resume(dev);
+	if (ret)
+		return ret;
+
+	mtk_nor_init(sp);
+
+	return 0;
 }
 
 static const struct dev_pm_ops mtk_nor_pm_ops = {