All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime
  2020-06-24 19:02 [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime Vijendar Mukunda
@ 2020-06-24 18:55 ` Jaroslav Kysela
  2020-06-25 11:11   ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Jaroslav Kysela @ 2020-06-24 18:55 UTC (permalink / raw)
  To: Vijendar Mukunda, alsa-devel
  Cc: Alexander.Deucher, hui.wang, Virendra-Pratap.Arya, Mark Brown

Dne 24. 06. 20 v 21:02 Vijendar Mukunda napsal(a):
> Add logic to check DMIC hardware exists or not on
> the platform at runtime.
> 
> Add module param for overriding DMIC hardware check
> at runtime.
> 
> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>

Reviewed-by: Jaroslav Kysela <perex@perex.cz>

> ---
> v3: changed  dmic_acpi_check module param as bint
> v2: changed module param usage -1 as default, 0 - skip, 1 - force
>   sound/soc/amd/renoir/rn-pci-acp3x.c | 29 +++++++++++++++++++++++++++++
>   sound/soc/amd/renoir/rn_acp3x.h     |  2 ++
>   2 files changed, 31 insertions(+)
> 
> diff --git a/sound/soc/amd/renoir/rn-pci-acp3x.c b/sound/soc/amd/renoir/rn-pci-acp3x.c
> index 859ed67..d1faea5 100644
> --- a/sound/soc/amd/renoir/rn-pci-acp3x.c
> +++ b/sound/soc/amd/renoir/rn-pci-acp3x.c
> @@ -5,6 +5,7 @@
>   //Copyright 2020 Advanced Micro Devices, Inc.
>   
>   #include <linux/pci.h>
> +#include <linux/acpi.h>
>   #include <linux/module.h>
>   #include <linux/io.h>
>   #include <linux/delay.h>
> @@ -18,6 +19,16 @@ static int acp_power_gating;
>   module_param(acp_power_gating, int, 0644);
>   MODULE_PARM_DESC(acp_power_gating, "Enable acp power gating");
>   
> +/**
> + * dmic_acpi_check = -1 - Checks ACPI method to know DMIC hardware status runtime
> + *                 = 0 - Skips the DMIC device creation and returns probe failure
> + *                 = 1 - Assumes that platform has DMIC support and skips ACPI
> + *                       method check
> + */
> +static int dmic_acpi_check = ACP_DMIC_AUTO;
> +module_param(dmic_acpi_check, bint, 0644);
> +MODULE_PARM_DESC(dmic_acpi_check, "checks Dmic hardware runtime");
> +
>   struct acp_dev_data {
>   	void __iomem *acp_base;
>   	struct resource *res;
> @@ -157,6 +168,8 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
>   {
>   	struct acp_dev_data *adata;
>   	struct platform_device_info pdevinfo[ACP_DEVS];
> +	acpi_handle handle;
> +	acpi_integer dmic_status;
>   	unsigned int irqflags;
>   	int ret, index;
>   	u32 addr;
> @@ -201,6 +214,22 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
>   	if (ret)
>   		goto disable_msi;
>   
> +	if (!dmic_acpi_check) {
> +		ret = -ENODEV;
> +		goto de_init;
> +	} else if (dmic_acpi_check == ACP_DMIC_AUTO) {
> +		handle = ACPI_HANDLE(&pci->dev);
> +		ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status);
> +		if (ACPI_FAILURE(ret)) {
> +			ret = -EINVAL;
> +			goto de_init;
> +		}
> +		if (!dmic_status) {
> +			ret = -ENODEV;
> +			goto de_init;
> +		}
> +	}
> +
>   	adata->res = devm_kzalloc(&pci->dev,
>   				  sizeof(struct resource) * 2,
>   				  GFP_KERNEL);
> diff --git a/sound/soc/amd/renoir/rn_acp3x.h b/sound/soc/amd/renoir/rn_acp3x.h
> index 75228e3..1462039 100644
> --- a/sound/soc/amd/renoir/rn_acp3x.h
> +++ b/sound/soc/amd/renoir/rn_acp3x.h
> @@ -55,6 +55,8 @@
>   
>   #define MAX_BUFFER (CAPTURE_MAX_PERIOD_SIZE * CAPTURE_MAX_NUM_PERIODS)
>   #define MIN_BUFFER MAX_BUFFER
> +#define	ACP_DMIC_AUTO   -1
> +
>   struct pdm_dev_data {
>   	u32 pdm_irq;
>   	void __iomem *acp_base;
> 


-- 
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime
@ 2020-06-24 19:02 Vijendar Mukunda
  2020-06-24 18:55 ` Jaroslav Kysela
  0 siblings, 1 reply; 5+ messages in thread
From: Vijendar Mukunda @ 2020-06-24 19:02 UTC (permalink / raw)
  To: perex, alsa-devel
  Cc: Alexander.Deucher, hui.wang, Virendra-Pratap.Arya, Vijendar Mukunda

Add logic to check DMIC hardware exists or not on
the platform at runtime.

Add module param for overriding DMIC hardware check
at runtime.

Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
---
v3: changed  dmic_acpi_check module param as bint
v2: changed module param usage -1 as default, 0 - skip, 1 - force
 sound/soc/amd/renoir/rn-pci-acp3x.c | 29 +++++++++++++++++++++++++++++
 sound/soc/amd/renoir/rn_acp3x.h     |  2 ++
 2 files changed, 31 insertions(+)

diff --git a/sound/soc/amd/renoir/rn-pci-acp3x.c b/sound/soc/amd/renoir/rn-pci-acp3x.c
index 859ed67..d1faea5 100644
--- a/sound/soc/amd/renoir/rn-pci-acp3x.c
+++ b/sound/soc/amd/renoir/rn-pci-acp3x.c
@@ -5,6 +5,7 @@
 //Copyright 2020 Advanced Micro Devices, Inc.
 
 #include <linux/pci.h>
+#include <linux/acpi.h>
 #include <linux/module.h>
 #include <linux/io.h>
 #include <linux/delay.h>
@@ -18,6 +19,16 @@ static int acp_power_gating;
 module_param(acp_power_gating, int, 0644);
 MODULE_PARM_DESC(acp_power_gating, "Enable acp power gating");
 
+/**
+ * dmic_acpi_check = -1 - Checks ACPI method to know DMIC hardware status runtime
+ *                 = 0 - Skips the DMIC device creation and returns probe failure
+ *                 = 1 - Assumes that platform has DMIC support and skips ACPI
+ *                       method check
+ */
+static int dmic_acpi_check = ACP_DMIC_AUTO;
+module_param(dmic_acpi_check, bint, 0644);
+MODULE_PARM_DESC(dmic_acpi_check, "checks Dmic hardware runtime");
+
 struct acp_dev_data {
 	void __iomem *acp_base;
 	struct resource *res;
@@ -157,6 +168,8 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
 {
 	struct acp_dev_data *adata;
 	struct platform_device_info pdevinfo[ACP_DEVS];
+	acpi_handle handle;
+	acpi_integer dmic_status;
 	unsigned int irqflags;
 	int ret, index;
 	u32 addr;
@@ -201,6 +214,22 @@ static int snd_rn_acp_probe(struct pci_dev *pci,
 	if (ret)
 		goto disable_msi;
 
+	if (!dmic_acpi_check) {
+		ret = -ENODEV;
+		goto de_init;
+	} else if (dmic_acpi_check == ACP_DMIC_AUTO) {
+		handle = ACPI_HANDLE(&pci->dev);
+		ret = acpi_evaluate_integer(handle, "_WOV", NULL, &dmic_status);
+		if (ACPI_FAILURE(ret)) {
+			ret = -EINVAL;
+			goto de_init;
+		}
+		if (!dmic_status) {
+			ret = -ENODEV;
+			goto de_init;
+		}
+	}
+
 	adata->res = devm_kzalloc(&pci->dev,
 				  sizeof(struct resource) * 2,
 				  GFP_KERNEL);
diff --git a/sound/soc/amd/renoir/rn_acp3x.h b/sound/soc/amd/renoir/rn_acp3x.h
index 75228e3..1462039 100644
--- a/sound/soc/amd/renoir/rn_acp3x.h
+++ b/sound/soc/amd/renoir/rn_acp3x.h
@@ -55,6 +55,8 @@
 
 #define MAX_BUFFER (CAPTURE_MAX_PERIOD_SIZE * CAPTURE_MAX_NUM_PERIODS)
 #define MIN_BUFFER MAX_BUFFER
+#define	ACP_DMIC_AUTO   -1
+
 struct pdm_dev_data {
 	u32 pdm_irq;
 	void __iomem *acp_base;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime
  2020-06-24 18:55 ` Jaroslav Kysela
@ 2020-06-25 11:11   ` Mark Brown
  2020-06-25 12:02     ` Mukunda,Vijendar
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2020-06-25 11:11 UTC (permalink / raw)
  To: Jaroslav Kysela
  Cc: Alexander.Deucher, hui.wang, alsa-devel, Virendra-Pratap.Arya,
	Vijendar Mukunda

[-- Attachment #1: Type: text/plain, Size: 725 bytes --]

On Wed, Jun 24, 2020 at 08:55:45PM +0200, Jaroslav Kysela wrote:
> Dne 24. 06. 20 v 21:02 Vijendar Mukunda napsal(a):
> > Add logic to check DMIC hardware exists or not on
> > the platform at runtime.
> > 
> > Add module param for overriding DMIC hardware check
> > at runtime.
> > 
> > Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
> 
> Reviewed-by: Jaroslav Kysela <perex@perex.cz>

As documented in submitting-patches.rst please send patches to the 
maintainers for the code you would like to change.  The normal kernel
workflow is that people apply patches from their inboxes, if they aren't
copied they are likely to not see the patch at all and it is much more
difficult to apply patches.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime
  2020-06-25 11:11   ` Mark Brown
@ 2020-06-25 12:02     ` Mukunda,Vijendar
  2020-06-25 13:22       ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Mukunda,Vijendar @ 2020-06-25 12:02 UTC (permalink / raw)
  To: Mark Brown, Jaroslav Kysela
  Cc: Alexander.Deucher, hui.wang, alsa-devel, Virendra-Pratap.Arya



On 25/06/20 4:41 pm, Mark Brown wrote:
> On Wed, Jun 24, 2020 at 08:55:45PM +0200, Jaroslav Kysela wrote:
>> Dne 24. 06. 20 v 21:02 Vijendar Mukunda napsal(a):
>>> Add logic to check DMIC hardware exists or not on
>>> the platform at runtime.
>>>
>>> Add module param for overriding DMIC hardware check
>>> at runtime.
>>>
>>> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
>>
>> Reviewed-by: Jaroslav Kysela <perex@perex.cz>
> 
> As documented in submitting-patches.rst please send patches to the
> maintainers for the code you would like to change.  The normal kernel
> workflow is that people apply patches from their inboxes, if they aren't
> copied they are likely to not see the patch at all and it is much more
> difficult to apply patches.

Next time onwards, i will make sure using maintainer list for posting 
new patch.
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime
  2020-06-25 12:02     ` Mukunda,Vijendar
@ 2020-06-25 13:22       ` Mark Brown
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Brown @ 2020-06-25 13:22 UTC (permalink / raw)
  To: Mukunda,Vijendar
  Cc: Alexander.Deucher, hui.wang, alsa-devel, Virendra-Pratap.Arya

[-- Attachment #1: Type: text/plain, Size: 216 bytes --]

On Thu, Jun 25, 2020 at 05:32:33PM +0530, Mukunda,Vijendar wrote:

> Next time onwards, i will make sure using maintainer list for posting new
> patch.

Please send me this patch as well if you want me to review it.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-06-25 13:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-24 19:02 [PATCH V3] ASoC: amd: add logic to check dmic hardware runtime Vijendar Mukunda
2020-06-24 18:55 ` Jaroslav Kysela
2020-06-25 11:11   ` Mark Brown
2020-06-25 12:02     ` Mukunda,Vijendar
2020-06-25 13:22       ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.