* [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset
[not found] <20200316023411.1263-1-sashal@kernel.org>
@ 2020-03-16 2:33 ` Sasha Levin
2020-03-16 8:28 ` Jerome Brunet
2020-03-16 2:34 ` [PATCH AUTOSEL 5.4 25/35] ASoC: stm32: sai: manage rebind issue Sasha Levin
1 sibling, 1 reply; 5+ messages in thread
From: Sasha Levin @ 2020-03-16 2:33 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Sasha Levin, alsa-devel, Mark Brown, linux-amlogic,
linux-arm-kernel, Jerome Brunet
From: Jerome Brunet <jbrunet@baylibre.com>
[ Upstream commit 22946f37557e27697aabc8e4f62642bfe4a17fd8 ]
Reset the g12a hdmi codec glue on probe. This ensure a sane startup state.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20200221121146.1498427-1-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/meson/g12a-tohdmitx.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sound/soc/meson/g12a-tohdmitx.c b/sound/soc/meson/g12a-tohdmitx.c
index 9cfbd343a00c8..8a0db28a6a406 100644
--- a/sound/soc/meson/g12a-tohdmitx.c
+++ b/sound/soc/meson/g12a-tohdmitx.c
@@ -8,6 +8,7 @@
#include <linux/module.h>
#include <sound/pcm_params.h>
#include <linux/regmap.h>
+#include <linux/reset.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
@@ -378,6 +379,11 @@ static int g12a_tohdmitx_probe(struct platform_device *pdev)
struct device *dev = &pdev->dev;
void __iomem *regs;
struct regmap *map;
+ int ret;
+
+ ret = device_reset(dev);
+ if (ret)
+ return ret;
regs = devm_platform_ioremap_resource(pdev, 0);
if (IS_ERR(regs))
--
2.20.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH AUTOSEL 5.4 25/35] ASoC: stm32: sai: manage rebind issue
[not found] <20200316023411.1263-1-sashal@kernel.org>
2020-03-16 2:33 ` [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset Sasha Levin
@ 2020-03-16 2:34 ` Sasha Levin
1 sibling, 0 replies; 5+ messages in thread
From: Sasha Levin @ 2020-03-16 2:34 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Sasha Levin, alsa-devel, Olivier Moysan, Mark Brown, linux-stm32,
linux-arm-kernel
From: Olivier Moysan <olivier.moysan@st.com>
[ Upstream commit 0d6defc7e0e437a9fd53622f7fd85740f38d5693 ]
The commit e894efef9ac7 ("ASoC: core: add support to card rebind")
allows to rebind the sound card after a rebind of one of its component.
With this commit, the sound card is actually rebound,
but may be no more functional. The following problems have been seen
with STM32 SAI driver.
1) DMA channel is not requested:
With the sound card rebind the simplified call sequence is:
stm32_sai_sub_probe
snd_soc_register_component
snd_soc_try_rebind_card
snd_soc_instantiate_card
devm_snd_dmaengine_pcm_register
The problem occurs because the pcm must be registered,
before snd_soc_instantiate_card() is called.
Modify SAI driver, to change the call sequence as follows:
stm32_sai_sub_probe
devm_snd_dmaengine_pcm_register
snd_soc_register_component
snd_soc_try_rebind_card
2) DMA channel is not released:
dma_release_channel() is not called when
devm_dmaengine_pcm_release() is executed.
This occurs because SND_DMAENGINE_PCM_DRV_NAME component,
has already been released through devm_component_release().
devm_dmaengine_pcm_release() should be called before
devm_component_release() to avoid this problem.
Call snd_dmaengine_pcm_unregister() and snd_soc_unregister_component()
explicitly from SAI driver, to have the right sequence.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Message-Id: <20200304102406.8093-1-olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/soc/stm/stm32_sai_sub.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/sound/soc/stm/stm32_sai_sub.c b/sound/soc/stm/stm32_sai_sub.c
index 30bcd5d3a32a8..10eb4b8e8e7ee 100644
--- a/sound/soc/stm/stm32_sai_sub.c
+++ b/sound/soc/stm/stm32_sai_sub.c
@@ -1543,20 +1543,20 @@ static int stm32_sai_sub_probe(struct platform_device *pdev)
return ret;
}
- ret = devm_snd_soc_register_component(&pdev->dev, &stm32_component,
- &sai->cpu_dai_drv, 1);
+ ret = snd_dmaengine_pcm_register(&pdev->dev, conf, 0);
+ if (ret) {
+ dev_err(&pdev->dev, "Could not register pcm dma\n");
+ return ret;
+ }
+
+ ret = snd_soc_register_component(&pdev->dev, &stm32_component,
+ &sai->cpu_dai_drv, 1);
if (ret)
return ret;
if (STM_SAI_PROTOCOL_IS_SPDIF(sai))
conf = &stm32_sai_pcm_config_spdif;
- ret = devm_snd_dmaengine_pcm_register(&pdev->dev, conf, 0);
- if (ret) {
- dev_err(&pdev->dev, "Could not register pcm dma\n");
- return ret;
- }
-
return 0;
}
@@ -1565,6 +1565,8 @@ static int stm32_sai_sub_remove(struct platform_device *pdev)
struct stm32_sai_sub_data *sai = dev_get_drvdata(&pdev->dev);
clk_unprepare(sai->pdata->pclk);
+ snd_dmaengine_pcm_unregister(&pdev->dev);
+ snd_soc_unregister_component(&pdev->dev);
return 0;
}
--
2.20.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset
2020-03-16 2:33 ` [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset Sasha Levin
@ 2020-03-16 8:28 ` Jerome Brunet
2020-03-22 18:31 ` Jerome Brunet
0 siblings, 1 reply; 5+ messages in thread
From: Jerome Brunet @ 2020-03-16 8:28 UTC (permalink / raw)
To: Sasha Levin, linux-kernel, stable
Cc: linux-amlogic, alsa-devel, Mark Brown, linux-arm-kernel,
Kevin Hilman
On Mon 16 Mar 2020 at 03:33, Sasha Levin <sashal@kernel.org> wrote:
> From: Jerome Brunet <jbrunet@baylibre.com>
>
> [ Upstream commit 22946f37557e27697aabc8e4f62642bfe4a17fd8 ]
>
> Reset the g12a hdmi codec glue on probe. This ensure a sane startup state.
>
> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
> Link: https://lore.kernel.org/r/20200221121146.1498427-1-jbrunet@baylibre.com
> Signed-off-by: Mark Brown <broonie@kernel.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
Hi Sasha,
The tohdmitx reset property is not in the amlogic g12a DT in v5.4.
Backporting this patch on v5.4 would break the hdmi sound, and probably
the related sound card since the reset is not optional.
Could you please drop this from v5.4 stable ?
It is ok to keep it for v5.5.
Thanks
Jerome
> ---
> sound/soc/meson/g12a-tohdmitx.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/sound/soc/meson/g12a-tohdmitx.c b/sound/soc/meson/g12a-tohdmitx.c
> index 9cfbd343a00c8..8a0db28a6a406 100644
> --- a/sound/soc/meson/g12a-tohdmitx.c
> +++ b/sound/soc/meson/g12a-tohdmitx.c
> @@ -8,6 +8,7 @@
> #include <linux/module.h>
> #include <sound/pcm_params.h>
> #include <linux/regmap.h>
> +#include <linux/reset.h>
> #include <sound/soc.h>
> #include <sound/soc-dai.h>
>
> @@ -378,6 +379,11 @@ static int g12a_tohdmitx_probe(struct platform_device *pdev)
> struct device *dev = &pdev->dev;
> void __iomem *regs;
> struct regmap *map;
> + int ret;
> +
> + ret = device_reset(dev);
> + if (ret)
> + return ret;
>
> regs = devm_platform_ioremap_resource(pdev, 0);
> if (IS_ERR(regs))
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset
2020-03-16 8:28 ` Jerome Brunet
@ 2020-03-22 18:31 ` Jerome Brunet
2020-03-22 19:39 ` Sasha Levin
0 siblings, 1 reply; 5+ messages in thread
From: Jerome Brunet @ 2020-03-22 18:31 UTC (permalink / raw)
To: Sasha Levin, linux-kernel, stable
Cc: linux-amlogic, alsa-devel, Mark Brown, linux-arm-kernel,
Kevin Hilman
On Mon 16 Mar 2020 at 09:28, Jerome Brunet <jbrunet@baylibre.com> wrote:
> On Mon 16 Mar 2020 at 03:33, Sasha Levin <sashal@kernel.org> wrote:
>
>> From: Jerome Brunet <jbrunet@baylibre.com>
>>
>> [ Upstream commit 22946f37557e27697aabc8e4f62642bfe4a17fd8 ]
>>
>> Reset the g12a hdmi codec glue on probe. This ensure a sane startup state.
>>
>> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
>> Link: https://lore.kernel.org/r/20200221121146.1498427-1-jbrunet@baylibre.com
>> Signed-off-by: Mark Brown <broonie@kernel.org>
>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>
> Hi Sasha,
>
> The tohdmitx reset property is not in the amlogic g12a DT in v5.4.
> Backporting this patch on v5.4 would break the hdmi sound, and probably
> the related sound card since the reset is not optional.
>
> Could you please drop this from v5.4 stable ?
Hi Sasha,
I just received a notification that this patch has been applied to 5.4
stable.
As explained above, it will cause a regression.
Could you please drop it from v5.4 stable ?
Thanks
Jerome
> It is ok to keep it for v5.5.
>
> Thanks
> Jerome
>
>> ---
>> sound/soc/meson/g12a-tohdmitx.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/sound/soc/meson/g12a-tohdmitx.c b/sound/soc/meson/g12a-tohdmitx.c
>> index 9cfbd343a00c8..8a0db28a6a406 100644
>> --- a/sound/soc/meson/g12a-tohdmitx.c
>> +++ b/sound/soc/meson/g12a-tohdmitx.c
>> @@ -8,6 +8,7 @@
>> #include <linux/module.h>
>> #include <sound/pcm_params.h>
>> #include <linux/regmap.h>
>> +#include <linux/reset.h>
>> #include <sound/soc.h>
>> #include <sound/soc-dai.h>
>>
>> @@ -378,6 +379,11 @@ static int g12a_tohdmitx_probe(struct platform_device *pdev)
>> struct device *dev = &pdev->dev;
>> void __iomem *regs;
>> struct regmap *map;
>> + int ret;
>> +
>> + ret = device_reset(dev);
>> + if (ret)
>> + return ret;
>>
>> regs = devm_platform_ioremap_resource(pdev, 0);
>> if (IS_ERR(regs))
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset
2020-03-22 18:31 ` Jerome Brunet
@ 2020-03-22 19:39 ` Sasha Levin
0 siblings, 0 replies; 5+ messages in thread
From: Sasha Levin @ 2020-03-22 19:39 UTC (permalink / raw)
To: Jerome Brunet
Cc: alsa-devel, Kevin Hilman, linux-kernel, stable, Mark Brown,
linux-amlogic, linux-arm-kernel
On Sun, Mar 22, 2020 at 07:31:31PM +0100, Jerome Brunet wrote:
>
>On Mon 16 Mar 2020 at 09:28, Jerome Brunet <jbrunet@baylibre.com> wrote:
>
>> On Mon 16 Mar 2020 at 03:33, Sasha Levin <sashal@kernel.org> wrote:
>>
>>> From: Jerome Brunet <jbrunet@baylibre.com>
>>>
>>> [ Upstream commit 22946f37557e27697aabc8e4f62642bfe4a17fd8 ]
>>>
>>> Reset the g12a hdmi codec glue on probe. This ensure a sane startup state.
>>>
>>> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
>>> Link: https://lore.kernel.org/r/20200221121146.1498427-1-jbrunet@baylibre.com
>>> Signed-off-by: Mark Brown <broonie@kernel.org>
>>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>>
>> Hi Sasha,
>>
>> The tohdmitx reset property is not in the amlogic g12a DT in v5.4.
>> Backporting this patch on v5.4 would break the hdmi sound, and probably
>> the related sound card since the reset is not optional.
>>
>> Could you please drop this from v5.4 stable ?
>
>Hi Sasha,
>
>I just received a notification that this patch has been applied to 5.4
>stable.
>
>As explained above, it will cause a regression.
>Could you please drop it from v5.4 stable ?
Hi Jerome,
Sorry - I've missed your previous mail. Now dropped from all trees.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-03-22 19:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20200316023411.1263-1-sashal@kernel.org>
2020-03-16 2:33 ` [PATCH AUTOSEL 5.4 08/35] ASoC: meson: g12a: add tohdmitx reset Sasha Levin
2020-03-16 8:28 ` Jerome Brunet
2020-03-22 18:31 ` Jerome Brunet
2020-03-22 19:39 ` Sasha Levin
2020-03-16 2:34 ` [PATCH AUTOSEL 5.4 25/35] ASoC: stm32: sai: manage rebind issue Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox