[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2847a6d1-d97f-4161-c8b6-03672cf6645c@nvidia.com>
Date: Fri, 15 Oct 2021 11:54:41 +0530
From: Sameer Pujar <spujar@...dia.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
<alsa-devel@...a-project.org>
CC: <tiwai@...e.de>, <broonie@...nel.org>, <vkoul@...nel.org>,
Gyeongtaek Lee <gt82.lee@...sung.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v3 05/13] ASoC: soc-pcm: align BE 'atomicity' with
that of the FE
On 10/13/2021 8:00 PM, Pierre-Louis Bossart wrote:
> Since the flow for DPCM is based on taking a lock for the FE first, we
> need to make sure during the connection between a BE and an FE that
> they both use the same 'atomicity', otherwise we may sleep in atomic
> context.
>
> If the FE is nonatomic, this patch forces the BE to be nonatomic as
> well. That should have no negative impact since the BE 'inherits' the
> FE properties.
>
> However, if the FE is atomic and the BE is not, then the configuration
> is flagged as invalid.
In normal PCM, atomicity seems to apply only for trigger(). Other
callbacks like prepare, hw_params are executed in non-atomic context. So
when 'nonatomic' flag is false, still it is possible to sleep in a
prepare or hw_param callback and this is true for FE as well. So I am
not sure if atomicity is applicable as a whole even for FE.
At this point it does not cause serious problems, but with subsequent
patches (especially when patch 7/13 is picked) I see failures. Please
refer to patch 7/13 thread for more details.
I am wondering if it is possible to only use locks internally for DPCM
state management and decouple BE callbacks from this, like normal PCMs do?
Powered by blists - more mailing lists