1
0
Fork 0

memory: brcmstb: dpfe: wait for DCPU to be ready

We wait for the DCPU to be ready before sending a command.

Signed-off-by: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
alistair/sunxi64-5.4-dsi
Markus Mayer 2019-04-02 16:01:00 -07:00 committed by Florian Fainelli
parent 6ca5d2ba9e
commit a7c25759d8
1 changed files with 12 additions and 0 deletions

View File

@ -304,6 +304,18 @@ static int __send_command(struct private_data *priv, unsigned int cmd,
mutex_lock(&priv->lock);
/* Wait for DCPU to become ready */
for (i = 0; i < DELAY_LOOP_MAX; i++) {
resp = readl_relaxed(regs + REG_TO_HOST_MBOX);
if (resp == 0)
break;
msleep(1);
}
if (resp != 0) {
mutex_unlock(&priv->lock);
return -ETIMEDOUT;
}
/* Write command and arguments to message area */
for (i = 0; i < MSG_FIELD_MAX; i++)
writel_relaxed(msg[i], regs + DCPU_MSG_RAM(i));