On 2020-09-21 3:00 PM, Andy Shevchenko wrote:
On Mon, Sep 21, 2020 at 01:54:12PM +0200, Cezary Rojewski wrote:
Implement IRQ handlers for immediate and delayed replies and notifications. Communication is synchronous and allows for serialization of maximum one message at a time.
DSP may respond with ADSP_PENDING status for a request - known as delayed reply - and when situation occurs, framework keeps the lock and awaits upcoming response through IPCD channel which is handled in bottom-half. Immediate replies spawn no BH at all as their processing is very short.
Signed-off-by: Cezary Rojewski cezary.rojewski@intel.com
...
diff --git a/sound/soc/intel/catpt/ipc.c b/sound/soc/intel/catpt/ipc.c new file mode 100644 index 000000000000..500d4845a7cf --- /dev/null +++ b/sound/soc/intel/catpt/ipc.c @@ -0,0 +1,246 @@ +// SPDX-License-Identifier: GPL-2.0-only +// +// Copyright(c) 2020 Intel Corporation. All rights reserved. +// +// Author: Cezary Rojewski cezary.rojewski@intel.com +//
+#include <linux/irqreturn.h> +#include "core.h" +#include "messages.h" +#include "registers.h"
+#define CATPT_IPC_TIMEOUT_MSECS 300
A nit-pick: _MS is enough.
Sure, will reword this and one _MSECS that is found within loader.c
Thanks!