lkml.org 
[lkml]   [2022]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC PATCH v2 3/5] ASoC: apple: Add MCA platform driver for Apple SoCs
From
Date

> 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...

\
 
 \ /
  Last update: 2022-06-06 22:39    [W:0.069 / U:1.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site