diff options
author | Mark Brown <broonie@kernel.org> | 2019-06-03 18:38:15 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2019-06-03 18:38:15 +0100 |
commit | a529819d8876fd469f58e630ed015c4a4620ee75 (patch) | |
tree | 99666fbde477efd814c9328bd685a9d6ea208393 /sound/soc/sof/intel/byt.c | |
parent | 663580695611b9c3837cdf596de2194234f0fbd5 (diff) | |
parent | 14104eb6a351a5bad21fdd2cf05ca46ad5e5beab (diff) |
Merge branch 'asoc-5.2' into asoc-5.3
Diffstat (limited to 'sound/soc/sof/intel/byt.c')
-rw-r--r-- | sound/soc/sof/intel/byt.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c index 8765eedfcf54..107d711efc3f 100644 --- a/sound/soc/sof/intel/byt.c +++ b/sound/soc/sof/intel/byt.c @@ -265,17 +265,20 @@ static void byt_get_registers(struct snd_sof_dev *sdev, struct sof_ipc_panic_info *panic_info, u32 *stack, size_t stack_words) { + u32 offset = sdev->dsp_oops_offset; + /* first read regsisters */ - sof_mailbox_read(sdev, sdev->dsp_oops_offset, xoops, sizeof(*xoops)); + sof_mailbox_read(sdev, offset, xoops, sizeof(*xoops)); + + /* note: variable AR register array is not read */ /* then get panic info */ - sof_mailbox_read(sdev, sdev->dsp_oops_offset + sizeof(*xoops), - panic_info, sizeof(*panic_info)); + offset += xoops->arch_hdr.totalsize; + sof_mailbox_read(sdev, offset, panic_info, sizeof(*panic_info)); /* then get the stack */ - sof_mailbox_read(sdev, sdev->dsp_oops_offset + sizeof(*xoops) + - sizeof(*panic_info), stack, - stack_words * sizeof(u32)); + offset += sizeof(*panic_info); + sof_mailbox_read(sdev, offset, stack, stack_words * sizeof(u32)); } static void byt_dump(struct snd_sof_dev *sdev, u32 flags) |