<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/core/pcm_dmaengine.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-08-10T20:09:12Z</updated>
<entry>
<title>ASoC: dmaengine_pcm: Add port_window_size to DAI dma data struct</title>
<updated>2025-08-10T20:09:12Z</updated>
<author>
<name>Chancel Liu</name>
</author>
<published>2025-08-08T06:17:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32dffd4c3e3129e3d9bb378af8d80bb57dc3038b'/>
<id>urn:sha1:32dffd4c3e3129e3d9bb378af8d80bb57dc3038b</id>
<content type='text'>
The port_window_size is a struct member of dma slave channel runtime
config. It's the length of the register area in words the data need to
be accessed on the device side. It is only used for devices which is
using an area instead of a single register to send or receive the data.
Typically the DMA loops in this area in order to transfer the data.

It's useful for cases that reading/writing multiple registers in DMA
transactions.

Signed-off-by: Chancel Liu &lt;chancel.liu@nxp.com&gt;
Link: https://patch.msgid.link/20250808061741.187414-1-chancel.liu@nxp.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ALSA: pcm: Remove unused snd_dmaengine_pcm_open_request_chan</title>
<updated>2025-05-05T10:36:29Z</updated>
<author>
<name>Dr. David Alan Gilbert</name>
</author>
<published>2025-05-02T23:52:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a5f2dd266c0b5b706ebc39d64c1caaec636f8fbf'/>
<id>urn:sha1:a5f2dd266c0b5b706ebc39d64c1caaec636f8fbf</id>
<content type='text'>
snd_dmaengine_pcm_open_request_chan() last use was removed in 2022's
commit b401d1fd8053 ("ASoC: pxa: remove unused board support")

Remove it.

Signed-off-by: Dr. David Alan Gilbert &lt;linux@treblig.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Link: https://patch.msgid.link/20250502235219.1000429-3-linux@treblig.org
</content>
</entry>
<entry>
<title>ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused</title>
<updated>2024-07-17T08:39:47Z</updated>
<author>
<name>Shengjiu Wang</name>
</author>
<published>2024-07-17T06:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=88e98af9f4b5b0d60c1fe7f7f2701b5467691e75'/>
<id>urn:sha1:88e98af9f4b5b0d60c1fe7f7f2701b5467691e75</id>
<content type='text'>
When suspended, the DMA channel may enter PAUSE state if dmaengine_pause()
is supported by DMA.
At this state, dmaengine_synchronize() should not be called, otherwise
the DMA channel can't be resumed successfully.

Fixes: e8343410ddf0 ("ALSA: dmaengine: Synchronize dma channel after drop()")
Signed-off-by: Shengjiu Wang &lt;shengjiu.wang@nxp.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Link: https://patch.msgid.link/1721198693-27636-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' into for-next</title>
<updated>2024-06-26T20:11:13Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2024-06-26T20:11:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be8f4de61417c65715a7f7661ce4770414c9a5a0'/>
<id>urn:sha1:be8f4de61417c65715a7f7661ce4770414c9a5a0</id>
<content type='text'>
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>Merge tag 'asoc-fix-v6.10-rc5' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus</title>
<updated>2024-06-26T20:02:55Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2024-06-26T20:02:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b3e3810738376b3292d1bf29996640843fbd9a0'/>
<id>urn:sha1:4b3e3810738376b3292d1bf29996640843fbd9a0</id>
<content type='text'>
ASoC: Fixes for v6.10

A relatively large batch of updates, largely due to the long interval
since I last sent fixes due to various travel and holidays.  There's a
lot of driver specific fixes and quirks in here, none of them too major,
and also some fixes for recently introduced memory safety issues in the
topology code.
</content>
</entry>
<entry>
<title>ALSA: pcm_dmaengine: Unify two close functions</title>
<updated>2024-06-25T11:34:25Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2024-06-25T11:33:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=337b7b0b8b02aa10b52386371433eb6f522dc550'/>
<id>urn:sha1:337b7b0b8b02aa10b52386371433eb6f522dc550</id>
<content type='text'>
Both snd_dmaengine_pcm_close() and
snd_dmaengine_pcm_close_release_chan() are almost identical except for
a call of dma_release_channel() in the latter.  For code
simplification, unify them internally.

Just a code refactoring, and no functional changes.

Link: https://patch.msgid.link/20240625113356.2123-1-tiwai@suse.de
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: dmaengine_pcm: terminate dmaengine before synchronize</title>
<updated>2024-06-25T09:55:45Z</updated>
<author>
<name>Shengjiu Wang</name>
</author>
<published>2024-06-20T02:40:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6a7db25aad8ce6512b366d2ce1d0e60bac00a09d'/>
<id>urn:sha1:6a7db25aad8ce6512b366d2ce1d0e60bac00a09d</id>
<content type='text'>
When dmaengine supports pause function, in suspend state,
dmaengine_pause() is called instead of dmaengine_terminate_async(),

In end of playback stream, the runtime-&gt;state will go to
SNDRV_PCM_STATE_DRAINING, if system suspend &amp; resume happen
at this time, application will not resume playback stream, the
stream will be closed directly, the dmaengine_terminate_async()
will not be called before the dmaengine_synchronize(), which
violates the call sequence for dmaengine_synchronize().

This behavior also happens for capture streams, but there is no
SNDRV_PCM_STATE_DRAINING state for capture. So use
dmaengine_tx_status() to check the DMA status if the status is
DMA_PAUSED, then call dmaengine_terminate_async() to terminate
dmaengine before dmaengine_synchronize().

Signed-off-by: Shengjiu Wang &lt;shengjiu.wang@nxp.com&gt;
Link: https://patch.msgid.link/1718851218-27803-1-git-send-email-shengjiu.wang@nxp.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: dmaengine: Synchronize dma channel after drop()</title>
<updated>2024-06-11T16:13:31Z</updated>
<author>
<name>Jai Luthra</name>
</author>
<published>2024-06-11T12:32:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8343410ddf08fc36a9b9cc7c51a4e53a262d4c6'/>
<id>urn:sha1:e8343410ddf08fc36a9b9cc7c51a4e53a262d4c6</id>
<content type='text'>
Sometimes the stream may be stopped due to XRUN events, in which case
the userspace can call snd_pcm_drop() and snd_pcm_prepare() to stop and
start the stream again.

In these cases, we must wait for the DMA channel to synchronize before
marking the stream as prepared for playback, as the DMA channel gets
stopped by drop() without any synchronization. Make sure the ALSA core
synchronizes the DMA channel by adding a sync_stop() hook.

Reviewed-by: Peter Ujfalusi &lt;peter.ujfalusi@gmail.com&gt;
Signed-off-by: Jai Luthra &lt;j-luthra@ti.com&gt;
Link: https://lore.kernel.org/r/20240611-asoc_next-v3-1-fcfd84b12164@ti.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ALSA: pcm_dmaengine: Add missing module description</title>
<updated>2024-05-09T08:13:07Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2024-05-08T09:11:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b58a6b1ee60a49249030bb1fb6d0d139bfc5bf0a'/>
<id>urn:sha1:b58a6b1ee60a49249030bb1fb6d0d139bfc5bf0a</id>
<content type='text'>
Now that make W=1 starts complaining the lack of MODULE_DESCRIPTION(),
let's add the missing information.

Reported-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Closes: https://lore.kernel.org/r/ZjpQm-hxLQtpgkUx@smile.fi.intel.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Reviewed-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Reviewed-by: Dragan Simic &lt;dsimic@manjaro.org&gt;
Link: https://lore.kernel.org/r/20240508091128.25274-4-tiwai@suse.de
</content>
</entry>
<entry>
<title>ALSA: dmaengine: increment buffer pointer atomically</title>
<updated>2022-09-27T06:55:05Z</updated>
<author>
<name>Andreas Pape</name>
</author>
<published>2022-09-26T16:58:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1c442019594692c64a70a86ad88eb5b6db92216'/>
<id>urn:sha1:d1c442019594692c64a70a86ad88eb5b6db92216</id>
<content type='text'>
Setting pointer and afterwards checking for wraparound leads
to the possibility of returning the inconsistent pointer position.

This patch increments buffer pointer atomically to avoid this issue.

Fixes: e7f73a1613567a ("ASoC: Add dmaengine PCM helper functions")
Signed-off-by: Andreas Pape &lt;apape@de.adit-jv.com&gt;
Signed-off-by: Eugeniu Rosca &lt;erosca@de.adit-jv.com&gt;
Link: https://lore.kernel.org/r/1664211493-11789-1-git-send-email-erosca@de.adit-jv.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
