From: Markus Mayer <code@mmayer.net>
To: Florian Fainelli <f.fainelli@gmail.com>,
Gregory Fong <gregory.0xf0@gmail.com>,
Brian Norris <computersforpeace@gmail.com>
Cc: Markus Mayer <mmayer@broadcom.com>,
Broadcom Kernel List <bcm-kernel-feedback-list@broadcom.com>,
Device Tree List <devicetree@vger.kernel.org>,
ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: [PATCH 2/2] memory: brcmstb: dpfe: skip downloading firmware when possible
Date: Mon, 2 Oct 2017 16:13:47 -0700 [thread overview]
Message-ID: <20171002231347.8671-3-code@mmayer.net> (raw)
In-Reply-To: <20171002231347.8671-1-code@mmayer.net>
From: Markus Mayer <mmayer@broadcom.com>
We want to skip downloading the DPFE firmware from Linux if it was
already downloaded by the boot loader.
The driver now checks if the DCPU is already running and, if so,
whether it can process commands. If the DCPU processes commands
successfully, the driver skips the firmware download step.
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
---
drivers/memory/brcmstb_dpfe.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c
index 3516ee8..0a7bdbe 100644
--- a/drivers/memory/brcmstb_dpfe.c
+++ b/drivers/memory/brcmstb_dpfe.c
@@ -431,13 +431,25 @@ static int brcmstb_dpfe_download_firmware(struct platform_device *pdev,
const void *fw_blob;
int ret;
+ priv = platform_get_drvdata(pdev);
+
+ /*
+ * Skip downloading the firmware if the DCPU is already running and
+ * responding to commands.
+ */
+ if (is_dcpu_enabled(priv->regs)) {
+ u32 response[MSG_FIELD_MAX];
+
+ ret = __send_command(priv, DPFE_CMD_GET_INFO, response);
+ if (!ret)
+ return 0;
+ }
+
ret = request_firmware(&fw, FIRMWARE_NAME, dev);
/* request_firmware() prints its own error messages. */
if (ret)
return ret;
- priv = platform_get_drvdata(pdev);
-
ret = __verify_firmware(init, fw);
if (ret)
return -EFAULT;
--
2.7.4
next prev parent reply other threads:[~2017-10-02 23:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-02 23:13 [PATCH 0/2] memory: brcmstb: dpfe: skip downloading firmware Markus Mayer
2017-10-02 23:13 ` Markus Mayer [this message]
[not found] ` <20171002231347.8671-1-code-7CzEARzsJhSsTnJN9+BGXg@public.gmane.org>
2017-10-02 23:13 ` [PATCH 1/2] memory: brcmstb: dpfe: introduce is_dcpu_enabled() Markus Mayer
2017-10-06 23:19 ` [PATCH 0/2] memory: brcmstb: dpfe: skip downloading firmware Florian Fainelli
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=20171002231347.8671-3-code@mmayer.net \
--to=code@mmayer.net \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=computersforpeace@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=gregory.0xf0@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmayer@broadcom.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;
as well as URLs for NNTP newsgroup(s).