* [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver
@ 2023-11-13 12:33 Syed Saba Kareem
2023-11-13 12:33 ` [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform Syed Saba Kareem
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Syed Saba Kareem @ 2023-11-13 12:33 UTC (permalink / raw)
To: broonie, alsa-devel
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
mario.limonciello, richgong, posteuca, Syed Saba Kareem,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Arnd Bergmann,
Venkata Prasad Potturu, open list
ACP7.0 based platform legacy drivers can be built by selecting
necessary kernel config option. This patch enables build support
of the same.
Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
---
changes since v1:
- added missing commit message.
sound/soc/amd/acp/Kconfig | 12 ++++++++++++
sound/soc/amd/acp/Makefile | 2 ++
2 files changed, 14 insertions(+)
diff --git a/sound/soc/amd/acp/Kconfig b/sound/soc/amd/acp/Kconfig
index 5fb322212938..c8ac0027f741 100644
--- a/sound/soc/amd/acp/Kconfig
+++ b/sound/soc/amd/acp/Kconfig
@@ -73,6 +73,18 @@ config SND_AMD_ASOC_ACP63
Say Y if you want to enable AUDIO on ACP6.3
If unsure select "N".
+config SND_AMD_ASOC_ACP70
+ tristate "AMD ACP ASOC Acp7.0 Support"
+ depends on X86 && PCI
+ depends on ACPI
+ select SND_SOC_AMD_ACP_PCM
+ select SND_SOC_AMD_ACP_I2S
+ select SND_SOC_AMD_ACP_PDM
+ help
+ This option enables Acp7.0 PDM support on AMD platform.
+ Say Y if you want to enable AUDIO on ACP7.0
+ If unsure select "N".
+
config SND_SOC_AMD_MACH_COMMON
tristate
depends on X86 && PCI && I2C
diff --git a/sound/soc/amd/acp/Makefile b/sound/soc/amd/acp/Makefile
index dd85700f1c5f..ff5f7893b81e 100644
--- a/sound/soc/amd/acp/Makefile
+++ b/sound/soc/amd/acp/Makefile
@@ -15,6 +15,7 @@ snd-acp-pci-objs := acp-pci.o
snd-acp-renoir-objs := acp-renoir.o
snd-acp-rembrandt-objs := acp-rembrandt.o
snd-acp63-objs := acp63.o
+snd-acp70-objs := acp70.o
#machine specific driver
snd-acp-mach-objs := acp-mach-common.o
@@ -30,6 +31,7 @@ obj-$(CONFIG_SND_SOC_AMD_ACP_PCI) += snd-acp-pci.o
obj-$(CONFIG_SND_AMD_ASOC_RENOIR) += snd-acp-renoir.o
obj-$(CONFIG_SND_AMD_ASOC_REMBRANDT) += snd-acp-rembrandt.o
obj-$(CONFIG_SND_AMD_ASOC_ACP63) += snd-acp63.o
+obj-$(CONFIG_SND_AMD_ASOC_ACP70) += snd-acp70.o
obj-$(CONFIG_SND_SOC_AMD_MACH_COMMON) += snd-acp-mach.o
obj-$(CONFIG_SND_SOC_AMD_LEGACY_MACH) += snd-acp-legacy-mach.o
--
2.25.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform
2023-11-13 12:33 [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Syed Saba Kareem
@ 2023-11-13 12:33 ` Syed Saba Kareem
2023-11-13 14:45 ` Pierre-Louis Bossart
2023-12-15 11:14 ` Linux regression tracking (Thorsten Leemhuis)
2023-11-13 16:19 ` [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Mario Limonciello
2023-11-14 11:39 ` Mark Brown
2 siblings, 2 replies; 8+ messages in thread
From: Syed Saba Kareem @ 2023-11-13 12:33 UTC (permalink / raw)
To: broonie, alsa-devel
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
mario.limonciello, richgong, posteuca, Syed Saba Kareem,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Kuninori Morimoto,
Nicolas Ferre, Uwe Kleine-König, open list
Add pm ops for renoir platform.
Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
---
sound/soc/amd/acp/acp-renoir.c | 38 +++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/sound/soc/amd/acp/acp-renoir.c b/sound/soc/amd/acp/acp-renoir.c
index a591482a0726..8539fbacdf4c 100644
--- a/sound/soc/amd/acp/acp-renoir.c
+++ b/sound/soc/amd/acp/acp-renoir.c
@@ -20,6 +20,7 @@
#include <sound/soc.h>
#include <sound/soc-dai.h>
#include <linux/dma-mapping.h>
+#include <linux/pm_runtime.h>
#include "amd.h"
#include "acp-mach.h"
@@ -195,7 +196,11 @@ static int renoir_audio_probe(struct platform_device *pdev)
dev_set_drvdata(dev, adata);
acp_enable_interrupts(adata);
acp_platform_register(dev);
-
+ pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS);
+ pm_runtime_use_autosuspend(&pdev->dev);
+ pm_runtime_mark_last_busy(&pdev->dev);
+ pm_runtime_set_active(&pdev->dev);
+ pm_runtime_enable(&pdev->dev);
return 0;
}
@@ -208,11 +213,42 @@ static void renoir_audio_remove(struct platform_device *pdev)
acp_platform_unregister(dev);
}
+static int __maybe_unused rn_pcm_resume(struct device *dev)
+{
+ struct acp_dev_data *adata = dev_get_drvdata(dev);
+ struct acp_stream *stream;
+ struct snd_pcm_substream *substream;
+ snd_pcm_uframes_t buf_in_frames;
+ u64 buf_size;
+
+ spin_lock(&adata->acp_lock);
+ list_for_each_entry(stream, &adata->stream_list, list) {
+ substream = stream->substream;
+ if (substream && substream->runtime) {
+ buf_in_frames = (substream->runtime->buffer_size);
+ buf_size = frames_to_bytes(substream->runtime, buf_in_frames);
+ config_pte_for_stream(adata, stream);
+ config_acp_dma(adata, stream, buf_size);
+ if (stream->dai_id)
+ restore_acp_i2s_params(substream, adata, stream);
+ else
+ restore_acp_pdm_params(substream, adata);
+ }
+ }
+ spin_unlock(&adata->acp_lock);
+ return 0;
+}
+
+static const struct dev_pm_ops rn_dma_pm_ops = {
+ SET_SYSTEM_SLEEP_PM_OPS(NULL, rn_pcm_resume)
+};
+
static struct platform_driver renoir_driver = {
.probe = renoir_audio_probe,
.remove_new = renoir_audio_remove,
.driver = {
.name = "acp_asoc_renoir",
+ .pm = &rn_dma_pm_ops,
},
};
--
2.25.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform
2023-11-13 12:33 ` [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform Syed Saba Kareem
@ 2023-11-13 14:45 ` Pierre-Louis Bossart
2023-12-15 11:14 ` Linux regression tracking (Thorsten Leemhuis)
1 sibling, 0 replies; 8+ messages in thread
From: Pierre-Louis Bossart @ 2023-11-13 14:45 UTC (permalink / raw)
To: Syed Saba Kareem, broonie, alsa-devel
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
mario.limonciello, richgong, posteuca, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Kuninori Morimoto, Nicolas Ferre,
Uwe Kleine-König, open list
> @@ -195,7 +196,11 @@ static int renoir_audio_probe(struct platform_device *pdev)
> dev_set_drvdata(dev, adata);
> acp_enable_interrupts(adata);
> acp_platform_register(dev);
> -
> + pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS);
> + pm_runtime_use_autosuspend(&pdev->dev);
> + pm_runtime_mark_last_busy(&pdev->dev);
> + pm_runtime_set_active(&pdev->dev);
> + pm_runtime_enable(&pdev->dev);
> return 0;
> }
>
> @@ -208,11 +213,42 @@ static void renoir_audio_remove(struct platform_device *pdev)
> acp_platform_unregister(dev);
> }
>
> +static int __maybe_unused rn_pcm_resume(struct device *dev)
> +{
> + struct acp_dev_data *adata = dev_get_drvdata(dev);
> + struct acp_stream *stream;
> + struct snd_pcm_substream *substream;
> + snd_pcm_uframes_t buf_in_frames;
> + u64 buf_size;
> +
> + spin_lock(&adata->acp_lock);
> + list_for_each_entry(stream, &adata->stream_list, list) {
> + substream = stream->substream;
> + if (substream && substream->runtime) {
> + buf_in_frames = (substream->runtime->buffer_size);
> + buf_size = frames_to_bytes(substream->runtime, buf_in_frames);
> + config_pte_for_stream(adata, stream);
> + config_acp_dma(adata, stream, buf_size);
> + if (stream->dai_id)
> + restore_acp_i2s_params(substream, adata, stream);
> + else
> + restore_acp_pdm_params(substream, adata);
when are those parameters saved...
> + }
> + }
> + spin_unlock(&adata->acp_lock);
> + return 0;
> +}
> +
> +static const struct dev_pm_ops rn_dma_pm_ops = {> + SET_SYSTEM_SLEEP_PM_OPS(NULL, rn_pcm_resume)
... since there's nothing done on suspend?
Also there's something weird here since the patch enables pm_runtime but
there's nothing related to pm_runtime here, i.e. SET_RUNTIME_PM_OPS()
is missing.
> +};
> +
> static struct platform_driver renoir_driver = {
> .probe = renoir_audio_probe,
> .remove_new = renoir_audio_remove,
> .driver = {
> .name = "acp_asoc_renoir",
> + .pm = &rn_dma_pm_ops,
> },
> };
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver
2023-11-13 12:33 [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Syed Saba Kareem
2023-11-13 12:33 ` [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform Syed Saba Kareem
@ 2023-11-13 16:19 ` Mario Limonciello
2023-11-14 12:45 ` syed saba kareem
2023-11-14 11:39 ` Mark Brown
2 siblings, 1 reply; 8+ messages in thread
From: Mario Limonciello @ 2023-11-13 16:19 UTC (permalink / raw)
To: Syed Saba Kareem, broonie, alsa-devel
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
richgong, posteuca, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Arnd Bergmann, Venkata Prasad Potturu, open list
On 11/13/2023 06:33, Syed Saba Kareem wrote:
> ACP7.0 based platform legacy drivers can be built by selecting
> necessary kernel config option. This patch enables build support
> of the same.
>
> Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> ---
> changes since v1:
> - added missing commit message.
>
> sound/soc/amd/acp/Kconfig | 12 ++++++++++++
> sound/soc/amd/acp/Makefile | 2 ++
> 2 files changed, 14 insertions(+)
>
> diff --git a/sound/soc/amd/acp/Kconfig b/sound/soc/amd/acp/Kconfig
> index 5fb322212938..c8ac0027f741 100644
> --- a/sound/soc/amd/acp/Kconfig
> +++ b/sound/soc/amd/acp/Kconfig
> @@ -73,6 +73,18 @@ config SND_AMD_ASOC_ACP63
> Say Y if you want to enable AUDIO on ACP6.3
> If unsure select "N".
>
> +config SND_AMD_ASOC_ACP70
> + tristate "AMD ACP ASOC Acp7.0 Support"
> + depends on X86 && PCI
> + depends on ACPI
> + select SND_SOC_AMD_ACP_PCM
> + select SND_SOC_AMD_ACP_I2S
> + select SND_SOC_AMD_ACP_PDM
Do you not need:
select SND_SOC_AMD_ACP_LEGACY_COMMON
Like how ACP63, Rembrandt, and Renoir all select?
> + help
> + This option enables Acp7.0 PDM support on AMD platform.
> + Say Y if you want to enable AUDIO on ACP7.0
> + If unsure select "N".
> +
> config SND_SOC_AMD_MACH_COMMON
> tristate
> depends on X86 && PCI && I2C
> diff --git a/sound/soc/amd/acp/Makefile b/sound/soc/amd/acp/Makefile
> index dd85700f1c5f..ff5f7893b81e 100644
> --- a/sound/soc/amd/acp/Makefile
> +++ b/sound/soc/amd/acp/Makefile
> @@ -15,6 +15,7 @@ snd-acp-pci-objs := acp-pci.o
> snd-acp-renoir-objs := acp-renoir.o
> snd-acp-rembrandt-objs := acp-rembrandt.o
> snd-acp63-objs := acp63.o
> +snd-acp70-objs := acp70.o
>
> #machine specific driver
> snd-acp-mach-objs := acp-mach-common.o
> @@ -30,6 +31,7 @@ obj-$(CONFIG_SND_SOC_AMD_ACP_PCI) += snd-acp-pci.o
> obj-$(CONFIG_SND_AMD_ASOC_RENOIR) += snd-acp-renoir.o
> obj-$(CONFIG_SND_AMD_ASOC_REMBRANDT) += snd-acp-rembrandt.o
> obj-$(CONFIG_SND_AMD_ASOC_ACP63) += snd-acp63.o
> +obj-$(CONFIG_SND_AMD_ASOC_ACP70) += snd-acp70.o
>
> obj-$(CONFIG_SND_SOC_AMD_MACH_COMMON) += snd-acp-mach.o
> obj-$(CONFIG_SND_SOC_AMD_LEGACY_MACH) += snd-acp-legacy-mach.o
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver
2023-11-13 12:33 [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Syed Saba Kareem
2023-11-13 12:33 ` [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform Syed Saba Kareem
2023-11-13 16:19 ` [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Mario Limonciello
@ 2023-11-14 11:39 ` Mark Brown
2 siblings, 0 replies; 8+ messages in thread
From: Mark Brown @ 2023-11-14 11:39 UTC (permalink / raw)
To: alsa-devel, Syed Saba Kareem
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
mario.limonciello, richgong, posteuca, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Arnd Bergmann,
Venkata Prasad Potturu, open list
On Mon, 13 Nov 2023 18:03:42 +0530, Syed Saba Kareem wrote:
> ACP7.0 based platform legacy drivers can be built by selecting
> necessary kernel config option. This patch enables build support
> of the same.
>
>
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver
commit: d3534684ada99ef8c0899eb28c62b4462483ee19
[2/2] ASoC: amd: acp: add pm ops support for renoir platform
(no commit info)
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver
2023-11-13 16:19 ` [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Mario Limonciello
@ 2023-11-14 12:45 ` syed saba kareem
0 siblings, 0 replies; 8+ messages in thread
From: syed saba kareem @ 2023-11-14 12:45 UTC (permalink / raw)
To: Mario Limonciello, Syed Saba Kareem, broonie, alsa-devel
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
richgong, posteuca, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Arnd Bergmann, Venkata Prasad Potturu, open list
On 11/13/23 21:49, Mario Limonciello wrote:
> On 11/13/2023 06:33, Syed Saba Kareem wrote:
>> ACP7.0 based platform legacy drivers can be built by selecting
>> necessary kernel config option. This patch enables build support
>> of the same.
>>
>> Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
>> ---
>> changes since v1:
>> - added missing commit message.
>>
>> sound/soc/amd/acp/Kconfig | 12 ++++++++++++
>> sound/soc/amd/acp/Makefile | 2 ++
>> 2 files changed, 14 insertions(+)
>>
>> diff --git a/sound/soc/amd/acp/Kconfig b/sound/soc/amd/acp/Kconfig
>> index 5fb322212938..c8ac0027f741 100644
>> --- a/sound/soc/amd/acp/Kconfig
>> +++ b/sound/soc/amd/acp/Kconfig
>> @@ -73,6 +73,18 @@ config SND_AMD_ASOC_ACP63
>> Say Y if you want to enable AUDIO on ACP6.3
>> If unsure select "N".
>> +config SND_AMD_ASOC_ACP70
>> + tristate "AMD ACP ASOC Acp7.0 Support"
>> + depends on X86 && PCI
>> + depends on ACPI
>> + select SND_SOC_AMD_ACP_PCM
>> + select SND_SOC_AMD_ACP_I2S
>> + select SND_SOC_AMD_ACP_PDM
>
> Do you not need:
>
> select SND_SOC_AMD_ACP_LEGACY_COMMON
>
> Like how ACP63, Rembrandt, and Renoir all select?
>
Yes, this flag is missing will upstream the fix as an incremental patch.
>> + help
>> + This option enables Acp7.0 PDM support on AMD platform.
>> + Say Y if you want to enable AUDIO on ACP7.0
>> + If unsure select "N".
>> +
>> config SND_SOC_AMD_MACH_COMMON
>> tristate
>> depends on X86 && PCI && I2C
>> diff --git a/sound/soc/amd/acp/Makefile b/sound/soc/amd/acp/Makefile
>> index dd85700f1c5f..ff5f7893b81e 100644
>> --- a/sound/soc/amd/acp/Makefile
>> +++ b/sound/soc/amd/acp/Makefile
>> @@ -15,6 +15,7 @@ snd-acp-pci-objs := acp-pci.o
>> snd-acp-renoir-objs := acp-renoir.o
>> snd-acp-rembrandt-objs := acp-rembrandt.o
>> snd-acp63-objs := acp63.o
>> +snd-acp70-objs := acp70.o
>> #machine specific driver
>> snd-acp-mach-objs := acp-mach-common.o
>> @@ -30,6 +31,7 @@ obj-$(CONFIG_SND_SOC_AMD_ACP_PCI) += snd-acp-pci.o
>> obj-$(CONFIG_SND_AMD_ASOC_RENOIR) += snd-acp-renoir.o
>> obj-$(CONFIG_SND_AMD_ASOC_REMBRANDT) += snd-acp-rembrandt.o
>> obj-$(CONFIG_SND_AMD_ASOC_ACP63) += snd-acp63.o
>> +obj-$(CONFIG_SND_AMD_ASOC_ACP70) += snd-acp70.o
>> obj-$(CONFIG_SND_SOC_AMD_MACH_COMMON) += snd-acp-mach.o
>> obj-$(CONFIG_SND_SOC_AMD_LEGACY_MACH) += snd-acp-legacy-mach.o
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform
2023-11-13 12:33 ` [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform Syed Saba Kareem
2023-11-13 14:45 ` Pierre-Louis Bossart
@ 2023-12-15 11:14 ` Linux regression tracking (Thorsten Leemhuis)
2023-12-18 12:21 ` Saba Kareem, Syed
1 sibling, 1 reply; 8+ messages in thread
From: Linux regression tracking (Thorsten Leemhuis) @ 2023-12-15 11:14 UTC (permalink / raw)
To: Syed Saba Kareem, broonie, alsa-devel
Cc: Vijendar.Mukunda, Basavaraj.Hiregoudar, Sunil-kumar.Dommati,
mario.limonciello, richgong, posteuca, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Kuninori Morimoto, Nicolas Ferre,
Uwe Kleine-König, open list, Linux kernel regressions list
Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting
for once, to make this easily accessible to everyone.
Does anyone know what happened to below patch? It afaics was meant to
fix a regression that made it into 6.6. For details see:
https://lore.kernel.org/lkml/87a5v8szhc.fsf@mutex.one/
https://lore.kernel.org/lkml/ac9d4f7b-c7af-4d21-b0b8-d0f188b94b0f@amd.com/
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.
On 13.11.23 13:33, Syed Saba Kareem wrote:
> Add pm ops for renoir platform.
>
> Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> ---
> sound/soc/amd/acp/acp-renoir.c | 38 +++++++++++++++++++++++++++++++++-
> 1 file changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/amd/acp/acp-renoir.c b/sound/soc/amd/acp/acp-renoir.c
> index a591482a0726..8539fbacdf4c 100644
> --- a/sound/soc/amd/acp/acp-renoir.c
> +++ b/sound/soc/amd/acp/acp-renoir.c
> @@ -20,6 +20,7 @@
> #include <sound/soc.h>
> #include <sound/soc-dai.h>
> #include <linux/dma-mapping.h>
> +#include <linux/pm_runtime.h>
>
> #include "amd.h"
> #include "acp-mach.h"
> @@ -195,7 +196,11 @@ static int renoir_audio_probe(struct platform_device *pdev)
> dev_set_drvdata(dev, adata);
> acp_enable_interrupts(adata);
> acp_platform_register(dev);
> -
> + pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS);
> + pm_runtime_use_autosuspend(&pdev->dev);
> + pm_runtime_mark_last_busy(&pdev->dev);
> + pm_runtime_set_active(&pdev->dev);
> + pm_runtime_enable(&pdev->dev);
> return 0;
> }
>
> @@ -208,11 +213,42 @@ static void renoir_audio_remove(struct platform_device *pdev)
> acp_platform_unregister(dev);
> }
>
> +static int __maybe_unused rn_pcm_resume(struct device *dev)
> +{
> + struct acp_dev_data *adata = dev_get_drvdata(dev);
> + struct acp_stream *stream;
> + struct snd_pcm_substream *substream;
> + snd_pcm_uframes_t buf_in_frames;
> + u64 buf_size;
> +
> + spin_lock(&adata->acp_lock);
> + list_for_each_entry(stream, &adata->stream_list, list) {
> + substream = stream->substream;
> + if (substream && substream->runtime) {
> + buf_in_frames = (substream->runtime->buffer_size);
> + buf_size = frames_to_bytes(substream->runtime, buf_in_frames);
> + config_pte_for_stream(adata, stream);
> + config_acp_dma(adata, stream, buf_size);
> + if (stream->dai_id)
> + restore_acp_i2s_params(substream, adata, stream);
> + else
> + restore_acp_pdm_params(substream, adata);
> + }
> + }
> + spin_unlock(&adata->acp_lock);
> + return 0;
> +}
> +
> +static const struct dev_pm_ops rn_dma_pm_ops = {
> + SET_SYSTEM_SLEEP_PM_OPS(NULL, rn_pcm_resume)
> +};
> +
> static struct platform_driver renoir_driver = {
> .probe = renoir_audio_probe,
> .remove_new = renoir_audio_remove,
> .driver = {
> .name = "acp_asoc_renoir",
> + .pm = &rn_dma_pm_ops,
> },
> };
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform
2023-12-15 11:14 ` Linux regression tracking (Thorsten Leemhuis)
@ 2023-12-18 12:21 ` Saba Kareem, Syed
0 siblings, 0 replies; 8+ messages in thread
From: Saba Kareem, Syed @ 2023-12-18 12:21 UTC (permalink / raw)
To: Linux regressions mailing list, broonie, alsa-devel
Cc: Mukunda, Vijendar, Hiregoudar, Basavaraj, Dommati, Sunil-kumar,
Limonciello, Mario, Gong, Richard, posteuca, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Kuninori Morimoto, Nicolas Ferre,
Uwe Kleine-König, open list
[AMD Official Use Only - General]
Hi Thorsten,
The patch got merged to broonie git.
Please find the below link for the details.
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git/commit/sound/soc/amd/acp?id=c95a2a0be0b1bba2e051faa105c2e0401fc2de33
Thanks,
Syed Saba Kareem.
-----Original Message-----
From: Linux regression tracking (Thorsten Leemhuis) <regressions@leemhuis.info>
Sent: Friday, December 15, 2023 4:44 PM
To: Saba Kareem, Syed <Syed.SabaKareem@amd.com>; broonie@kernel.org; alsa-devel@alsa-project.org
Cc: Mukunda, Vijendar <Vijendar.Mukunda@amd.com>; Hiregoudar, Basavaraj <Basavaraj.Hiregoudar@amd.com>; Dommati, Sunil-kumar <Sunil-kumar.Dommati@amd.com>; Limonciello, Mario <Mario.Limonciello@amd.com>; Gong, Richard <Richard.Gong@amd.com>; posteuca@mutex.one; Liam Girdwood <lgirdwood@gmail.com>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>; Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>; Nicolas Ferre <nicolas.ferre@microchip.com>; Uwe Kleine-König <u.kleine-koenig@pengutronix.de>; open list <linux-kernel@vger.kernel.org>; Linux kernel regressions list <regressions@lists.linux.dev>
Subject: Re: [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform
Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting for once, to make this easily accessible to everyone.
Does anyone know what happened to below patch? It afaics was meant to fix a regression that made it into 6.6. For details see:
https://lore.kernel.org/lkml/87a5v8szhc.fsf@mutex.one/
https://lore.kernel.org/lkml/ac9d4f7b-c7af-4d21-b0b8-d0f188b94b0f@amd.com/
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.
On 13.11.23 13:33, Syed Saba Kareem wrote:
> Add pm ops for renoir platform.
>
> Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com>
> ---
> sound/soc/amd/acp/acp-renoir.c | 38
> +++++++++++++++++++++++++++++++++-
> 1 file changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/amd/acp/acp-renoir.c
> b/sound/soc/amd/acp/acp-renoir.c index a591482a0726..8539fbacdf4c
> 100644
> --- a/sound/soc/amd/acp/acp-renoir.c
> +++ b/sound/soc/amd/acp/acp-renoir.c
> @@ -20,6 +20,7 @@
> #include <sound/soc.h>
> #include <sound/soc-dai.h>
> #include <linux/dma-mapping.h>
> +#include <linux/pm_runtime.h>
>
> #include "amd.h"
> #include "acp-mach.h"
> @@ -195,7 +196,11 @@ static int renoir_audio_probe(struct platform_device *pdev)
> dev_set_drvdata(dev, adata);
> acp_enable_interrupts(adata);
> acp_platform_register(dev);
> -
> + pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS);
> + pm_runtime_use_autosuspend(&pdev->dev);
> + pm_runtime_mark_last_busy(&pdev->dev);
> + pm_runtime_set_active(&pdev->dev);
> + pm_runtime_enable(&pdev->dev);
> return 0;
> }
>
> @@ -208,11 +213,42 @@ static void renoir_audio_remove(struct platform_device *pdev)
> acp_platform_unregister(dev);
> }
>
> +static int __maybe_unused rn_pcm_resume(struct device *dev) {
> + struct acp_dev_data *adata = dev_get_drvdata(dev);
> + struct acp_stream *stream;
> + struct snd_pcm_substream *substream;
> + snd_pcm_uframes_t buf_in_frames;
> + u64 buf_size;
> +
> + spin_lock(&adata->acp_lock);
> + list_for_each_entry(stream, &adata->stream_list, list) {
> + substream = stream->substream;
> + if (substream && substream->runtime) {
> + buf_in_frames = (substream->runtime->buffer_size);
> + buf_size = frames_to_bytes(substream->runtime, buf_in_frames);
> + config_pte_for_stream(adata, stream);
> + config_acp_dma(adata, stream, buf_size);
> + if (stream->dai_id)
> + restore_acp_i2s_params(substream, adata, stream);
> + else
> + restore_acp_pdm_params(substream, adata);
> + }
> + }
> + spin_unlock(&adata->acp_lock);
> + return 0;
> +}
> +
> +static const struct dev_pm_ops rn_dma_pm_ops = {
> + SET_SYSTEM_SLEEP_PM_OPS(NULL, rn_pcm_resume) };
> +
> static struct platform_driver renoir_driver = {
> .probe = renoir_audio_probe,
> .remove_new = renoir_audio_remove,
> .driver = {
> .name = "acp_asoc_renoir",
> + .pm = &rn_dma_pm_ops,
> },
> };
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-12-18 12:21 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-13 12:33 [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Syed Saba Kareem
2023-11-13 12:33 ` [PATCH V2 2/2] ASoC: amd: acp: add pm ops support for renoir platform Syed Saba Kareem
2023-11-13 14:45 ` Pierre-Louis Bossart
2023-12-15 11:14 ` Linux regression tracking (Thorsten Leemhuis)
2023-12-18 12:21 ` Saba Kareem, Syed
2023-11-13 16:19 ` [PATCH V2 1/2] ASoC: amd: acp: add Kconfig options for acp7.0 based platform driver Mario Limonciello
2023-11-14 12:45 ` syed saba kareem
2023-11-14 11:39 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®