ASoC: SOF: ipc: use timeout configured at probe
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Mon, 22 Jul 2019 14:13:45 +0000 (09:13 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 23 Jul 2019 11:18:54 +0000 (12:18 +0100)
Do not hardcode IPC timeout value in ipc.c, but rather use the timeout
value configured during device probe. For platforms that do not override
the IPC timeout, default value TIMEOUT_DEFAULT_IPC_MS has already been
defined in core.c.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20190722141402.7194-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc.c

index 20dfca9..b2f359d 100644 (file)
 #include "sof-priv.h"
 #include "ops.h"
 
-/*
- * IPC message default size and timeout (ms).
- * TODO: allow platforms to set size and timeout.
- */
-#define IPC_TIMEOUT_MS         300
-
 static void ipc_trace_message(struct snd_sof_dev *sdev, u32 msg_id);
 static void ipc_stream_message(struct snd_sof_dev *sdev, u32 msg_cmd);
 
@@ -211,7 +205,7 @@ static int tx_wait_done(struct snd_sof_ipc *ipc, struct snd_sof_ipc_msg *msg,
 
        /* wait for DSP IPC completion */
        ret = wait_event_timeout(msg->waitq, msg->ipc_complete,
-                                msecs_to_jiffies(IPC_TIMEOUT_MS));
+                                msecs_to_jiffies(sdev->ipc_timeout));
 
        if (ret == 0) {
                dev_err(sdev->dev, "error: ipc timed out for 0x%x size %d\n",