All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
To: lgirdwood@gmail.com, broonie@kernel.org
Cc: linux-sound@vger.kernel.org, kai.vehmanen@linux.intel.com,
	yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev,
	liam.r.girdwood@intel.com
Subject: [PATCH 0/4] ASoC: SOF: Intel: Handle ACE2+ link DMA allocation restrictions
Date: Thu, 30 Jul 2026 15:51:26 +0300	[thread overview]
Message-ID: <20260730125130.29887-1-peter.ujfalusi@linux.intel.com> (raw)

Hi,

We have seen cases when the delay reporting unexpectedly behaves incorrectly,
counters are not counting in hardware registers under seemingly random
conditions.
It turned out that there are few cases that the driver must handle in order
to make sure that LLP, PPLC counters are working correctly: 

- non-alt links must not be reset during probe
- Concurrent (cross-direction) hazard: when SoundWire shares a physical
  link DMA stream index with HDaudio, iDisp or UAOL across the two
  directions, the LLP and timestamp values for the affected stream are
  wrong. SSP and DMIC are not affected because every DMA request from
  those links carries one sample block.

- Sequential (playback only) hazard: once a HDaudio or iDisp link has
  used a playback stream index, that index cannot drive any non
  HDA/iDisp link in the same direction until the next controller
  reset (CRST#).

For users the impact was not visible as the link counter issue only affected
the delay reporting which already have defensive path to filter out
incorrect delays and the DSP caused delay for normal PCMs are negligible to
cause A/V sync issues for example.

Regards,
Peter
--
Peter Ujfalusi (4):
  ASoC: SOF: Intel: hda: Fold mlink enumeration into
    hda_dsp_ctrl_init_chip()
  ASoC: SOF: Intel: hda: Keep non-alt mlinks powered at probe on ACE2+
  ASoC: SOF: Intel: hda: Remove unused hda_bus_ml_put_all()
  ASoC: SOF: Intel: hda: Avoid ACE2+ link DMA stream allocation hazards

 include/sound/hda-mlink.h         | 23 +++++++++-
 sound/soc/sof/intel/hda-ctrl.c    | 19 ++++++++
 sound/soc/sof/intel/hda-dai-ops.c | 76 ++++++++++++++++++++++++++++---
 sound/soc/sof/intel/hda-dai.c     |  2 +-
 sound/soc/sof/intel/hda-mlink.c   | 35 ++++++++------
 sound/soc/sof/intel/hda.c         |  4 --
 sound/soc/sof/intel/hda.h         | 26 ++++++++++-
 7 files changed, 158 insertions(+), 27 deletions(-)

-- 
2.55.0


             reply	other threads:[~2026-07-30 12:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-30 12:51 Peter Ujfalusi [this message]
2026-07-30 12:51 ` [PATCH 1/4] ASoC: SOF: Intel: hda: Fold mlink enumeration into hda_dsp_ctrl_init_chip() Peter Ujfalusi
2026-07-30 12:51 ` [PATCH 2/4] ASoC: SOF: Intel: hda: Keep non-alt mlinks powered at probe on ACE2+ Peter Ujfalusi
2026-07-30 12:51 ` [PATCH 3/4] ASoC: SOF: Intel: hda: Remove unused hda_bus_ml_put_all() Peter Ujfalusi
2026-07-30 12:51 ` [PATCH 4/4] ASoC: SOF: Intel: hda: Avoid ACE2+ link DMA stream allocation hazards Peter Ujfalusi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260730125130.29887-1-peter.ujfalusi@linux.intel.com \
    --to=peter.ujfalusi@linux.intel.com \
    --cc=broonie@kernel.org \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=lgirdwood@gmail.com \
    --cc=liam.r.girdwood@intel.com \
    --cc=linux-sound@vger.kernel.org \
    --cc=pierre-louis.bossart@linux.dev \
    --cc=yung-chuan.liao@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.