[alsa-devel] [PATCH] ASoC: intel/skl/hda - export number of digital microphones via control components
It is required for the auto-detection in the user space (for UCM).
Signed-off-by: Jaroslav Kysela perex@perex.cz Cc: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Cc: Mark Brown broonie@kernel.org --- sound/soc/intel/boards/skl_hda_dsp_generic.c | 8 ++++++++ sound/soc/sof/intel/hda.c | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c index 4e45901e3a2f..11eaee9ae41f 100644 --- a/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = { .late_probe = skl_hda_card_late_probe, };
+static char hda_soc_components[30]; + #define IDISP_DAI_COUNT 3 #define HDAC_DAI_COUNT 2 #define DMIC_DAI_COUNT 2 @@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev) hda_soc_card.dev = &pdev->dev; snd_soc_card_set_drvdata(&hda_soc_card, ctx);
+ if (mach->mach_params.dmic_num > 0) { + snprintf(hda_soc_components, sizeof(hda_soc_components), + "cfg-dmics:%d", mach->mach_params.dmic_num); + hda_soc_card.components = hda_soc_components; + } + return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); }
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 7dc0018dc4c3..92fffca76af5 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) const char *tplg_filename; const char *idisp_str; const char *dmic_str; - int dmic_num; + int dmic_num = 0; int codec_num = 0; int i; #endif @@ -465,6 +465,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) mach_params->codec_mask = bus->codec_mask; mach_params->platform = dev_name(sdev->dev); mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi; + mach_params->dmic_num = dmic_num; }
/* create codec instances */
On 11/26/19 4:34 AM, Jaroslav Kysela wrote:
It is required for the auto-detection in the user space (for UCM).
Signed-off-by: Jaroslav Kysela perex@perex.cz Cc: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Cc: Mark Brown broonie@kernel.org
Thanks Jaroslav. The changes are fine, but the code changes in hda.c will conflict with the cleanups done by Ranjani (which I was planning to send next week).
Any objections if we take this patch into the SOF tree (without changes to authorship) and provide it on alsa-devel next week with the cleanups, so that we don't have any conflicts?
sound/soc/intel/boards/skl_hda_dsp_generic.c | 8 ++++++++ sound/soc/sof/intel/hda.c | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c index 4e45901e3a2f..11eaee9ae41f 100644 --- a/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = { .late_probe = skl_hda_card_late_probe, };
+static char hda_soc_components[30];
- #define IDISP_DAI_COUNT 3 #define HDAC_DAI_COUNT 2 #define DMIC_DAI_COUNT 2
@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev) hda_soc_card.dev = &pdev->dev; snd_soc_card_set_drvdata(&hda_soc_card, ctx);
- if (mach->mach_params.dmic_num > 0) {
snprintf(hda_soc_components, sizeof(hda_soc_components),
"cfg-dmics:%d", mach->mach_params.dmic_num);
hda_soc_card.components = hda_soc_components;
- }
- return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); }
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 7dc0018dc4c3..92fffca76af5 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) const char *tplg_filename; const char *idisp_str; const char *dmic_str;
- int dmic_num;
- int dmic_num = 0; int codec_num = 0; int i; #endif
@@ -465,6 +465,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) mach_params->codec_mask = bus->codec_mask; mach_params->platform = dev_name(sdev->dev); mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi;
mach_params->dmic_num = dmic_num;
}
/* create codec instances */
Dne 26. 11. 19 v 13:33 Pierre-Louis Bossart napsal(a):
On 11/26/19 4:34 AM, Jaroslav Kysela wrote:
It is required for the auto-detection in the user space (for UCM).
Signed-off-by: Jaroslav Kysela perex@perex.cz Cc: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Cc: Mark Brown broonie@kernel.org
Thanks Jaroslav. The changes are fine, but the code changes in hda.c will conflict with the cleanups done by Ranjani (which I was planning to send next week).
Any objections if we take this patch into the SOF tree (without changes to authorship) and provide it on alsa-devel next week with the cleanups, so that we don't have any conflicts?
I'm fine with that, if we don't miss the 5.5 merge window. Otherwise, you may rebase your changes on top. Mark?
Thank you, Jaroslav
sound/soc/intel/boards/skl_hda_dsp_generic.c | 8 ++++++++ sound/soc/sof/intel/hda.c | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c index 4e45901e3a2f..11eaee9ae41f 100644 --- a/sound/soc/intel/boards/skl_hda_dsp_generic.c +++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c @@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = { .late_probe = skl_hda_card_late_probe, };
+static char hda_soc_components[30];
- #define IDISP_DAI_COUNT 3 #define HDAC_DAI_COUNT 2 #define DMIC_DAI_COUNT 2
@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev) hda_soc_card.dev = &pdev->dev; snd_soc_card_set_drvdata(&hda_soc_card, ctx);
- if (mach->mach_params.dmic_num > 0) {
snprintf(hda_soc_components, sizeof(hda_soc_components),
"cfg-dmics:%d", mach->mach_params.dmic_num);
hda_soc_card.components = hda_soc_components;
- }
- return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); }
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 7dc0018dc4c3..92fffca76af5 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) const char *tplg_filename; const char *idisp_str; const char *dmic_str;
- int dmic_num;
- int dmic_num = 0; int codec_num = 0; int i; #endif
@@ -465,6 +465,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) mach_params->codec_mask = bus->codec_mask; mach_params->platform = dev_name(sdev->dev); mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi;
mach_params->dmic_num = dmic_num;
}
/* create codec instances */
On 11/26/19 7:51 AM, Jaroslav Kysela wrote:
Dne 26. 11. 19 v 13:33 Pierre-Louis Bossart napsal(a):
On 11/26/19 4:34 AM, Jaroslav Kysela wrote:
It is required for the auto-detection in the user space (for UCM).
Signed-off-by: Jaroslav Kysela perex@perex.cz Cc: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Cc: Mark Brown broonie@kernel.org
Thanks Jaroslav. The changes are fine, but the code changes in hda.c will conflict with the cleanups done by Ranjani (which I was planning to send next week).
Any objections if we take this patch into the SOF tree (without changes to authorship) and provide it on alsa-devel next week with the cleanups, so that we don't have any conflicts?
I'm fine with that, if we don't miss the 5.5 merge window. Otherwise, you may rebase your changes on top. Mark?
I just shared the changes, but I wasn't planning to see those changes in 5.5 since they are quite big, so if you want this in 5.5 I'll rebase.
On Tue, Nov 26, 2019 at 02:51:19PM +0100, Jaroslav Kysela wrote:
Dne 26. 11. 19 v 13:33 Pierre-Louis Bossart napsal(a):
Any objections if we take this patch into the SOF tree (without changes to authorship) and provide it on alsa-devel next week with the cleanups, so that we don't have any conflicts?
I'm fine with that, if we don't miss the 5.5 merge window. Otherwise, you may rebase your changes on top. Mark?
You've missed the merge window already - it was open before this patch was sent.
Dne 26. 11. 19 v 17:29 Mark Brown napsal(a):
On Tue, Nov 26, 2019 at 02:51:19PM +0100, Jaroslav Kysela wrote:
Dne 26. 11. 19 v 13:33 Pierre-Louis Bossart napsal(a):
Any objections if we take this patch into the SOF tree (without changes to authorship) and provide it on alsa-devel next week with the cleanups, so that we don't have any conflicts?
I'm fine with that, if we don't miss the 5.5 merge window. Otherwise, you may rebase your changes on top. Mark?
You've missed the merge window already - it was open before this patch was sent.
So, what now? Rebase on top of Pierre patches? You added another patches to your for-5.5 branch today.
I'd also merge the other two trivial component patches:
https://mailman.alsa-project.org/pipermail/alsa-devel/2019-November/thread.h...
Thanks, Jaroslav
On Thu, Nov 28, 2019 at 03:28:19PM +0100, Jaroslav Kysela wrote:
Dne 26. 11. 19 v 17:29 Mark Brown napsal(a):
You've missed the merge window already - it was open before this patch was sent.
So, what now? Rebase on top of Pierre patches? You added another patches to your for-5.5 branch today.
Since Pierre seems happy with it even if he didn't ack it explicitly I'll guess I'll apply it. If git can figure out applying it after the merge window and it doesn't get negative reviews there's no need to resend. If it can't and it doesn't turn up in a bigger series before then I'll let you know.
Dne 28. 11. 19 v 18:59 Mark Brown napsal(a):
On Thu, Nov 28, 2019 at 03:28:19PM +0100, Jaroslav Kysela wrote:
Dne 26. 11. 19 v 17:29 Mark Brown napsal(a):
You've missed the merge window already - it was open before this patch was sent.
So, what now? Rebase on top of Pierre patches? You added another patches to your for-5.5 branch today.
Since Pierre seems happy with it even if he didn't ack it explicitly I'll guess I'll apply it. If git can figure out applying it after the merge window and it doesn't get negative reviews there's no need to resend. If it can't and it doesn't turn up in a bigger series before then I'll let you know.
Thank you Mark.
Jaroslav
participants (3)
-
Jaroslav Kysela
-
Mark Brown
-
Pierre-Louis Bossart