platform: panice: Send exception memory offset via IPC

Send the memory window offset with the panic IPC in case the panic
happen before DSP ready when the memory window info is sent.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
This commit is contained in:
Pan Xiuli 2018-05-04 15:41:49 +08:00 committed by Liam Girdwood
parent 530ef2a213
commit 8080070449
4 changed files with 13 additions and 6 deletions

View File

@ -120,7 +120,8 @@ struct sof;
#define platform_panic(__x) { \
mailbox_sw_reg_write(SRAM_REG_FW_STATUS, \
(0xdead000 | (__x)) & 0x3fffffff); \
ipc_write(IPC_DIPCI, 0x80000000 | ((0xdead000 | __x) & 0x3fffffff)); \
ipc_write(IPC_DIPCIE, MAILBOX_EXCEPTION_OFFSET + 2 * 0x20000); \
ipc_write(IPC_DIPCI, 0x80000000 | ((0xdead000 | (__x)) & 0x3fffffff)); \
}
/* Platform defined trace code */

View File

@ -27,6 +27,7 @@
*
* Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
* Keyon Jie <yang.jie@linux.intel.com>
* Xiuli Pan <xiuli.pan@linux.intel.com>
*/
#ifndef __PLATFORM_PLATFORM_H__
@ -103,7 +104,7 @@ struct sof;
/* Platform defined panic code */
#define platform_panic(__x) { \
shim_write(SHIM_IPCDL, (0xdead000 | (__x & 0xfff))); \
shim_write(SHIM_IPCDH, SHIM_IPCDH_BUSY); \
shim_write(SHIM_IPCDH, (SHIM_IPCDH_BUSY | MAILBOX_EXCEPTION_OFFSET)); \
}
/* Platform defined trace code */

View File

@ -115,7 +115,9 @@ struct sof;
#define platform_panic(__x) { \
mailbox_sw_reg_write(SRAM_REG_FW_STATUS, \
(0xdead000 | (__x)) & 0x3fffffff); \
ipc_write(IPC_DIPCIDR, 0x80000000 | ((0xdead000 | __x) & 0x3fffffff)); \
ipc_write(IPC_DIPCIDD, MAILBOX_EXCEPTION_OFFSET + 2 * 0x20000); \
ipc_write(IPC_DIPCIDR, 0x80000000 | \
((0xdead000 | (__x)) & 0x3fffffff)); \
}
/* Platform defined trace code */

View File

@ -25,7 +25,8 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* Author: Liam Girdwood <liam.r.girdwood@linux.intel.com>
* Authors: Liam Girdwood <liam.r.girdwood@linux.intel.com>
* Xiuli Pan <xiuli.pan@linux.intel.com>
*/
#ifndef __PLATFORM_PLATFORM_H__
@ -100,8 +101,10 @@ struct sof;
#define PLATFORM_IDLE_TIME 750000
/* Platform defined panic code */
#define platform_panic(__x) \
shim_write(SHIM_IPCD, (SHIM_IPCD_BUSY | 0xdead000 | __x))
#define platform_panic(__x) { \
shim_write(SHIM_IPCX, MAILBOX_EXCEPTION_OFFSET & 0x3fffffff); \
shim_write(SHIM_IPCD, (SHIM_IPCD_BUSY | 0xdead000 | __x)); \
}
/* Platform defined trace code */
#define platform_trace_point(__x) \