<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/soc/apple, branch linux-6.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-10-10T21:10:07Z</updated>
<entry>
<title>ASoC: apple: mca: Annotate struct mca_data with __counted_by</title>
<updated>2023-10-10T21:10:07Z</updated>
<author>
<name>Kees Cook</name>
</author>
<published>2023-09-22T17:50:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59825951707eccf92782e109c04772d34fc07eb6'/>
<id>urn:sha1:59825951707eccf92782e109c04772d34fc07eb6</id>
<content type='text'>
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
(for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

As found with Coccinelle[1], add __counted_by for struct mca_data.

[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci

Cc: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Cc: Liam Girdwood &lt;lgirdwood@gmail.com&gt;
Cc: Mark Brown &lt;broonie@kernel.org&gt;
Cc: Jaroslav Kysela &lt;perex@perex.cz&gt;
Cc: Takashi Iwai &lt;tiwai@suse.com&gt;
Cc: asahi@lists.linux.dev
Cc: alsa-devel@alsa-project.org
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Reviewed-by: "Gustavo A. R. Silva" &lt;gustavoars@kernel.org&gt;
Link: https://lore.kernel.org/r/20230922175050.work.819-kees@kernel.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: convert not to use asoc_xxx()</title>
<updated>2023-09-25T12:16:26Z</updated>
<author>
<name>Kuninori Morimoto</name>
</author>
<published>2023-09-11T23:48:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2bbb49e294acb690340693f5f54dc6ef29641d54'/>
<id>urn:sha1:2bbb49e294acb690340693f5f54dc6ef29641d54</id>
<content type='text'>
ASoC is now unified asoc_xxx() into snd_soc_xxx().
This patch convert asoc_xxx() to snd_soc_xxx().

Signed-off-by: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Link: https://lore.kernel.org/r/87sf7kqnj0.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Convert to platform remove callback returning void</title>
<updated>2023-03-20T13:07:18Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2023-03-15T15:05:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eb5a9cf29f1e5b6290e168d405eef98b42f158a4'/>
<id>urn:sha1:eb5a9cf29f1e5b6290e168d405eef98b42f158a4</id>
<content type='text'>
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Acked-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@microchip.com&gt;
Link: https://lore.kernel.org/r/20230315150745.67084-24-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Improve handling of unavailable DMA channels</title>
<updated>2023-02-24T16:31:20Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2023-02-24T15:33:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb1847cc460c127b12720119eae5f438ffc62e85'/>
<id>urn:sha1:fb1847cc460c127b12720119eae5f438ffc62e85</id>
<content type='text'>
When we fail to obtain a DMA channel, don't return a blanket -EINVAL,
instead return the original error code if there's one. This makes
deferring work as it should. Also don't print an error message for
-EPROBE_DEFER.

Fixes: 4ec8179c212f ("ASoC: apple: mca: Postpone requesting of DMA channels")
Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20230224153302.45365-3-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Fix SERDES reset sequence</title>
<updated>2023-02-24T16:31:19Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2023-02-24T15:33:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8b3e396088d787771f19fd3b7949e080dc31d6f'/>
<id>urn:sha1:d8b3e396088d787771f19fd3b7949e080dc31d6f</id>
<content type='text'>
Fix the reset sequence of reads and writes that we invoke from within
the early trigger. It looks like there never was a SERDES_CONF_SOME_RST
bit that should be involved in the reset sequence, and its presence in
the driver code is a mistake from earlier.

Instead, the reset sequence should go as follows: We should switch the
the SERDES unit's SYNC_SEL mux to the value of 7 (so outside the range
of 1...6 representing cluster's SYNCGEN units), then raise the RST bit
in SERDES_STATUS and wait for it to clear.

Properly resetting the SERDES unit fixes frame desynchronization hazard
in case of long frames (longer than 4 used slots). The desynchronization
manifests itself by rotating the PCM channels.

Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver")
Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20230224153302.45365-2-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Fix final status read on SERDES reset</title>
<updated>2023-02-24T16:31:18Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2023-02-24T15:33:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aaf5f0d76b6e1870e3674408de2b13a92a4d4059'/>
<id>urn:sha1:aaf5f0d76b6e1870e3674408de2b13a92a4d4059</id>
<content type='text'>
From within the early trigger we are doing a reset of the SERDES unit,
but the final status read is on a bad address. Add the missing SERDES
unit offset in calculation of the address.

Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver")
Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20230224153302.45365-1-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Adjust timing of component unregister</title>
<updated>2022-09-27T12:59:59Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2022-09-27T11:34:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db6ae79a7e4f729457ec42db5d6d0fbe0e35784c'/>
<id>urn:sha1:db6ae79a7e4f729457ec42db5d6d0fbe0e35784c</id>
<content type='text'>
On removal of the driver, the ASoC component should be unregistered
first, before we start releasing any of the other resources.

Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver")
Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20220927113426.49724-3-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Remove stale release of DMA channels</title>
<updated>2022-09-27T12:59:58Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2022-09-27T11:34:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e92e50e4263f5cf9c731ef5593c31f94dc3b7b8c'/>
<id>urn:sha1:e92e50e4263f5cf9c731ef5593c31f94dc3b7b8c</id>
<content type='text'>
The commit 4ec8179c212f ("ASoC: apple: mca: Postpone requesting of DMA
channels") shuffled around with the requesting and releasing of DMA
channels. It left behind stale release calls from within
apple_mca_release, remove those now.

Fixes: 4ec8179c212f ("ASoC: apple: mca: Postpone requesting of DMA channels")
Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20220927113426.49724-2-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Trigger, not deassert, the peripheral reset</title>
<updated>2022-09-27T12:59:57Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2022-09-27T11:34:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d584e73e7310971cc226ef0e2a1bc0526da0d582'/>
<id>urn:sha1:d584e73e7310971cc226ef0e2a1bc0526da0d582</id>
<content type='text'>
Replace the deassertion of the peripheral's shared reset with the
triggering of a pulse on it. This is what we should have been using all
along as the platform's custom is not leaving the reset asserted on
unused peripherals.

Fixes: 3df5d0d97289 ("ASoC: apple: mca: Start new platform driver")
Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20220927113426.49724-1-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>ASoC: apple: mca: Postpone requesting of DMA channels</title>
<updated>2022-09-05T12:09:41Z</updated>
<author>
<name>Martin Povišer</name>
</author>
<published>2022-09-05T07:40:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ec8179c212fb1530df4a1df6db75756c06da5f6'/>
<id>urn:sha1:4ec8179c212fb1530df4a1df6db75756c06da5f6</id>
<content type='text'>
Move the requesting of DMA channels further down from 'probe' to
'pcm_new'. This is to spare the allocated DMA channel resources as we
typically only ever use one or two of the clusters for PCM streaming.
Before we would request DMA channels for all clusters.

(This is prompted by a change in the Audio DMA Controller driver, which
will now be allocating cache SRAM to channels.)

Signed-off-by: Martin Povišer &lt;povik+lin@cutebit.org&gt;
Link: https://lore.kernel.org/r/20220905074030.1293-1-povik+lin@cutebit.org
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
