6 Jun
2022
6 Jun
'22
10:35 p.m.
On 6. 6. 2022, at 22:17, Mark Brown broonie@kernel.org wrote:
On Mon, Jun 06, 2022 at 09:19:08PM +0200, Martin Povišer wrote:
+++ b/sound/soc/apple/mca.c @@ -0,0 +1,1122 @@ +/*
- Apple SoCs MCA driver
Please add SPDX headers to all your files.
mca_modify(cl, serdes_conf,
SERDES_CONF_SOME_RST, SERDES_CONF_SOME_RST);
(void) readl_relaxed(cl->base + serdes_conf);
Please drop the cast, casts to/from void are generally a warning sign as they're unneeded in C. If you want to document the barrier use a comment or wrapper function.
- /*
* Codecs require clocks at time of umute with the 'mute_stream' op.
* We need to enable them here at the latest (frontend prepare would
* be too late).
*/
- if (!mca_fe_clocks_in_use(fe_cl)) {
ret = mca_fe_enable_clocks(fe_cl);
if (ret < 0)
return ret;
- }
This requirement is CODEC specific. It's fine to bodge around to satisfy it though, especially given the restricted set of platforms this can be used with.
- fe_cl = &mca->clusters[cl->port_driver];
- if (!mca_fe_clocks_in_use(fe_cl))
return 0; /* Nothing to do */
- cl->clocks_in_use[substream->stream] = false;
- if (!mca_fe_clocks_in_use(fe_cl))
mca_fe_disable_clocks(fe_cl);
Are you sure this doesn't need locking?
I am not sure. I need to study what locking is already done by ALSA/ASoC. I assume the two stream directions here don’t share a lock already...