On Mon, 2018-06-04 at 13:33 +0100, Liam Girdwood wrote:
From: Marcin Maka marcin.maka@linux.intel.com
Common platform API separated to avoid duplicated declarations and indicate public functions implemented by all platforms.
Signed-off-by: Marcin Maka marcin.maka@linux.intel.com
# Conflicts: # src/platform/apollolake/include/platform/platform.h # src/platform/baytrail/include/platform/platform.h # src/platform/cannonlake/include/platform/platform.h # src/platform/haswell/include/platform/platform.h
Marcin, can you resent on top of master. I had to manually merge and have likely made some errors.
src/include/sof/panic.h | 4 +- src/include/sof/platform.h | 60 +++++++++++++++++++ .../apollolake/include/platform/platform.h | 15 ++--- .../baytrail/include/platform/platform.h | 8 ++- .../cannonlake/include/platform/platform.h | 14 ++--- .../haswell/include/platform/platform.h | 6 +- 6 files changed, 82 insertions(+), 25 deletions(-) create mode 100644 src/include/sof/platform.h
snip
/* Platform defined trace code */ -#define platform_panic(__x) { \
- mailbox_sw_reg_write(SRAM_REG_FW_STATUS, \
(0xdead000 | (__x)) & 0x3fffffff); \
- ipc_write(IPC_DIPCIDD, MAILBOX_EXCEPTION_OFFSET + 2 * 0x20000); \
- ipc_write(IPC_DIPCIDR, 0x80000000 | \
((0xdead000 | (__x)) & 0x3fffffff)); \
+static inline void platform_panic(uint32_t p) +{
- sw_reg_write(SRAM_REG_FW_STATUS, p & 0x3fffffff);
- ipc_write(IPC_DIPCIDR, 0x80000000 | (p & 0x3fffffff));
}
Btw, will we still get the 0xdead code in the IPC registers on a FW crash ? The driver uses this to determine if it has to take any further recovery action.
Thanks
Liam