diff mbox series

ASoC: intel/skl/hda - export number of digital microphones via control components

Message ID 20191126103404.29534-1-perex@perex.cz (mailing list archive)
State New, archived
Headers show
Series ASoC: intel/skl/hda - export number of digital microphones via control components | expand

Commit Message

Jaroslav Kysela Nov. 26, 2019, 10:34 a.m. UTC
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(-)

Comments

Pierre-Louis Bossart Nov. 26, 2019, 12:33 p.m. UTC | #1
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 */
>
Jaroslav Kysela Nov. 26, 2019, 1:51 p.m. UTC | #2
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 */
>>
Pierre-Louis Bossart Nov. 26, 2019, 2:57 p.m. UTC | #3
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.
Mark Brown Nov. 26, 2019, 4:29 p.m. UTC | #4
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.
Jaroslav Kysela Nov. 28, 2019, 2:28 p.m. UTC | #5
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.html#159158

				Thanks,
					Jaroslav
Mark Brown Nov. 28, 2019, 5:59 p.m. UTC | #6
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.
Jaroslav Kysela Nov. 28, 2019, 6:03 p.m. UTC | #7
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
diff mbox series

Patch

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 */