[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <887331ff-8892-66a7-20bc-0fce447c792f@linaro.org>
Date: Mon, 9 Jul 2018 15:02:11 +0100
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Mark Brown <broonie@...nel.org>
Cc: Rohit kumar <rohitkr@...eaurora.org>, lgirdwood@...il.com,
robh+dt@...nel.org, mark.rutland@....com, plai@...eaurora.org,
bgoswami@...eaurora.org, perex@...ex.cz, tiwai@...e.com,
alsa-devel@...a-project.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/5] ASoC: qcom: add sdm845 sound card support
On 09/07/18 13:41, Mark Brown wrote:
>> AFAIU, The issue with that mechanism or EPROBEDEFER is that it works only
>> for first time.. for the second time(restart usecase) there are no hooks
>> like bind/unbind.
> This is not the case, the card will be unbound at the ASoC level when
> any of the components are removed and then probed again when they
> reappear.
>
I did try this and It works only for first time! May be am missing
something!
snd_soc_component_del_unlocked() unregisters the sound card totally. so
for the second time (After DSP stop) there is no registered sound card
in place.. Am not sure how this is supposed to work?
The reason I think it works for the first time is because of EPROBEDEFER
from the machine driver.
Here are the steps I do with DSP:
Step1: Start DSP, can see sound card after all the services are ON.
Step2: Stop DSP, there is no audio card.
Step3: Start DSP, I can see all the components in debugfs but not the
sound card.
This is what I do w.r.t code:
From machine driver in snd_soc_register_card() in probe()
From Audio services driver snd_soc_register_component() in probe() and
snd_soc_unregister_component() in remove()
When DSP is stopped the audio services disappear and
snd_soc_unregister_component() is invoked.
thanks,
srini
Powered by blists - more mailing lists