From: Markus Mayer <hidden> Date: 2017-10-02 23:14:15
From: Markus Mayer <mmayer@broadcom.com>
This series lets the DPFE driver skip the DPFE firmware download if the
DCPU is already running. If it's running by the time Linux comes up, it
means the boot loader already downloaded the DPFE firmware.
Markus Mayer (2):
memory: brcmstb: dpfe: introduce is_dcpu_enabled()
memory: brcmstb: dpfe: skip downloading firmware when possible
drivers/memory/brcmstb_dpfe.c | 37 +++++++++++++++++++++++++++++--------
1 file changed, 29 insertions(+), 8 deletions(-)
--
2.7.4
From: Markus Mayer <hidden> Date: 2017-10-02 23:14:28
From: Markus Mayer <mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
In order to check whether or not the DCPU is running, we introduce
a function called is_dcpu_enabled().
Signed-off-by: Markus Mayer <mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
---
drivers/memory/brcmstb_dpfe.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
@@ -202,17 +202,26 @@ static const u32 dpfe_commands[DPFE_CMD_MAX][MSG_FIELD_MAX] = {},};+staticboolis_dcpu_enabled(void__iomem*regs)+{+u32val;++val=readl_relaxed(regs+REG_DCPU_RESET);++return!(val&DCPU_RESET_MASK);+}+staticvoid__disable_dcpu(void__iomem*regs){u32val;-/* Check if DCPU is running */+if(!is_dcpu_enabled(regs))+return;++/* Put DCPU in reset if it's running. */val=readl_relaxed(regs+REG_DCPU_RESET);-if(!(val&DCPU_RESET_MASK)){-/* Put DCPU in reset */-val|=(1<<DCPU_RESET_SHIFT);-writel_relaxed(val,regs+REG_DCPU_RESET);-}+val|=(1<<DCPU_RESET_SHIFT);+writel_relaxed(val,regs+REG_DCPU_RESET);}staticvoid__enable_dcpu(void__iomem*regs)
--
2.7.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Markus Mayer <hidden> Date: 2017-10-02 23:14:41
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(-)
@@ -431,13 +431,25 @@ static int brcmstb_dpfe_download_firmware(struct platform_device *pdev,constvoid*fw_blob;intret;+priv=platform_get_drvdata(pdev);++/*+*SkipdownloadingthefirmwareiftheDCPUisalreadyrunningand+*respondingtocommands.+*/+if(is_dcpu_enabled(priv->regs)){+u32response[MSG_FIELD_MAX];++ret=__send_command(priv,DPFE_CMD_GET_INFO,response);+if(!ret)+return0;+}+ret=request_firmware(&fw,FIRMWARE_NAME,dev);/* request_firmware() prints its own error messages. */if(ret)returnret;-priv=platform_get_drvdata(pdev);-ret=__verify_firmware(init,fw);if(ret)return-EFAULT;
From: Markus Mayer <mmayer-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
This series lets the DPFE driver skip the DPFE firmware download if the
DCPU is already running. If it's running by the time Linux comes up, it
means the boot loader already downloaded the DPFE firmware.
Series applied to drivers/next thanks Markus.
--
--
Florian
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html