public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Thor Thayer <tthayer@opensource.altera.com>
Cc: dinguyen@opensource.altera.com, dinh.linux@gmail.com,
	atull@opensource.altera.com, dougthompson@xmission.com,
	mchehab@osg.samsung.com, linux-edac@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] EDAC, altera: wrap edac pm with a CONFIG_PM
Date: Sat, 6 Jun 2015 10:01:26 +0200	[thread overview]
Message-ID: <20150606080126.GB545@pd.tnic> (raw)
In-Reply-To: <5572174D.60804@opensource.altera.com>

On Fri, Jun 05, 2015 at 04:40:29PM -0500, Thor Thayer wrote:
> Yes, in our case, it is a hardware issue but I'm still gathering
> information.
> 
> The IRQ vectors for OCRAM reside on DDR and in Suspend-to-RAM mode we're
> executing out of OCRAM. If an ECC error occurs, we can't handle it so it was
> decided to make them mutually exclusive.

Thanks Thor,

that's actually a good-enough explanation for me - I was just making
sure that it is not some silly EDAC core limitation preventing you guys
from doing suspend.

Anyway, I've committed the version below, if you still feel you want to
improve the explanation, no problem - it is the topmost patch on the
branch and I can amend it easily.

---
From: Alan Tull <atull@opensource.altera.com>
Date: Fri, 5 Jun 2015 08:49:15 -0500
Subject: [PATCH] EDAC, altera: Do not allow suspend when EDAC is enabled

Suspend-to-RAM and EDAC support are mutually exclusive on SOCFPGA. If
EDAC is enabled, it will prevent the platform from going into suspend.

The reason is that the IRQ vectors for OCRAM reside on DDR and in
Suspend-to-RAM mode we're executing out of OCRAM. If an ECC error
occurs, we can't handle it so it was decided to make them mutually
exclusive.

Signed-off-by: Alan Tull <atull@opensource.altera.com>
Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: dinh.linux@gmail.com
Cc: dougthompson@xmission.com
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: mchehab@osg.samsung.com
Cc: tthayer@opensource.altera.com
Link: http://lkml.kernel.org/r/1433512155-9906-1-git-send-email-dinguyen@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
---
 drivers/edac/altera_edac.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c
index 182c741adf3e..23ef0917483c 100644
--- a/drivers/edac/altera_edac.c
+++ b/drivers/edac/altera_edac.c
@@ -477,11 +477,31 @@ static int altr_sdram_remove(struct platform_device *pdev)
 	return 0;
 }
 
+/*
+ * If you want to suspend, need to disable EDAC by removing it
+ * from the device tree or defconfig.
+ */
+#ifdef CONFIG_PM
+static int altr_sdram_prepare(struct device *dev)
+{
+	pr_err("Suspend not allowed when EDAC is enabled.\n");
+
+	return -EPERM;
+}
+
+static const struct dev_pm_ops altr_sdram_pm_ops = {
+	.prepare = altr_sdram_prepare,
+};
+#endif
+
 static struct platform_driver altr_sdram_edac_driver = {
 	.probe = altr_sdram_probe,
 	.remove = altr_sdram_remove,
 	.driver = {
 		.name = "altr_sdram_edac",
+#ifdef CONFIG_PM
+		.pm = &altr_sdram_pm_ops,
+#endif
 		.of_match_table = altr_sdram_ctrl_of_match,
 	},
 };
-- 
2.3.5

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.
--

  reply	other threads:[~2015-06-06  8:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 13:49 [PATCH] EDAC, altera: wrap edac pm with a CONFIG_PM dinguyen
2015-06-05 15:15 ` Borislav Petkov
2015-06-05 21:40   ` Thor Thayer
2015-06-06  8:01     ` Borislav Petkov [this message]
2015-06-08  0:46       ` atull

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=20150606080126.GB545@pd.tnic \
    --to=bp@alien8.de \
    --cc=atull@opensource.altera.com \
    --cc=dinguyen@opensource.altera.com \
    --cc=dinh.linux@gmail.com \
    --cc=dougthompson@xmission.com \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@osg.samsung.com \
    --cc=tthayer@opensource.altera.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox