mbox series

[0/7] ASoC: Intel: Skylake: Critical IPC fixes and flow adjustments

Message ID 20190613190436.20156-1-cezary.rojewski@intel.com (mailing list archive)
Headers show
Series ASoC: Intel: Skylake: Critical IPC fixes and flow adjustments | expand

Message

Cezary Rojewski June 13, 2019, 7:04 p.m. UTC
From: Cezary Rojewski <cezary.rojewski@intel.com>

This set of changes contains critical IPC fixes:
- ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit
- ASoC: Intel: Fix race condition in IPC rx list

as well as updates to common mechanisms to use recommended flows, most
notably:
- ASoC: Intel: Skylake: Use recommended SDxFMT programming sequence
- ASoC: Intel: Skylake: Fix incorrect capture position reporting

While flow adjustments fix issues with 100% reproduction rate, the most
crucial changes address issues occurring rarely - usually only under
stress conditions. These, however, can easily cause unexpected behavior
on DSP level.

Amadeusz Sławiński (1):
  ASoC: Intel: Skylake: Reset pipeline before its deletion

Cezary Rojewski (3):
  ASoC: Intel: Skylake: Fix incorrect capture position reporting
  ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit
  ASoC: Intel: Common: Fix NULL dereference in tx_wait_done

Gustaw Lewandowski (1):
  ASoC: Intel: Fix race condition in IPC rx list

Kamil Lulko (1):
  ASoC: Intel: Skylake: Strip T and L from TLV IPCs

Paweł Harłoziński (1):
  ASoC: Intel: Skylake: Use recommended SDxFMT programming sequence

 include/sound/hda_codec.h              |  3 +++
 sound/pci/hda/hda_intel.c              |  3 ---
 sound/soc/intel/common/sst-ipc.c       |  2 +-
 sound/soc/intel/skylake/cnl-sst.c      |  2 +-
 sound/soc/intel/skylake/skl-messages.c | 23 ++++++++++++++++-------
 sound/soc/intel/skylake/skl-pcm.c      | 14 +++++++++++++-
 sound/soc/intel/skylake/skl-sst-ipc.c  |  4 ++--
 sound/soc/intel/skylake/skl-topology.c | 22 +++++++++-------------
 sound/soc/intel/skylake/skl.c          | 21 +++++++++++++++++++++
 sound/soc/intel/skylake/skl.h          |  1 +
 10 files changed, 67 insertions(+), 28 deletions(-)

Comments

Mark Brown June 25, 2019, 10:53 a.m. UTC | #1
On Thu, Jun 13, 2019 at 09:04:29PM +0200, cezary.rojewski@intel.com wrote:
> From: Cezary Rojewski <cezary.rojewski@intel.com>
> 
> This set of changes contains critical IPC fixes:
> - ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit
> - ASoC: Intel: Fix race condition in IPC rx list

Pierre, any thoughts on this series?
Pierre-Louis Bossart June 25, 2019, 1:10 p.m. UTC | #2
On 6/25/19 5:53 AM, Mark Brown wrote:
> On Thu, Jun 13, 2019 at 09:04:29PM +0200, cezary.rojewski@intel.com wrote:
>> From: Cezary Rojewski <cezary.rojewski@intel.com>
>>
>> This set of changes contains critical IPC fixes:
>> - ASoC: Intel: Skylake: Read HIPCT extension before clearing DONE bit
>> - ASoC: Intel: Fix race condition in IPC rx list
> 
> Pierre, any thoughts on this series?

This series I looked at in detail and it was the basis for the recent 
SOF cleanup on IPC. There are still some improvements being debated on 
when exactly the IPC interrupts need to be unmasked - Guennadi suggested 
the interrupt need to be re-enabled at the beginning of the interrupt 
thread to avoid missing events - but this can come as bullet-proof 
hardening patches later for both SOF and Skylake. For now this is a good 
first pass, feel free to take the following tag for the series

Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>