lkml.org 
[lkml]   [2024]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v3 1/2] ALSA: cs35l41: obey the trigger type from DSDT
Date
Hi,

We are still investigating this issue, but I do not think this
solution is the correct one.
Configuring the interrupt in this way does not fix the interrupt, just
hides the issue.
We are still looking into what we can do to try and fix this.

Thanks,
Stefan

> -----Original Message-----
> From: ArcticLampyrid <ArcticLampyrid@outlook.com>
> Sent: Thursday, April 18, 2024 2:20 PM
> To: sbinding@opensource.cirrus.com
> Cc: david.rhodes@cirrus.com; james.schulman@cirrus.com; linux-
> kernel@vger.kernel.org; linux-sound@vger.kernel.org;
> patches@opensource.cirrus.com; rf@opensource.cirrus.com;
> ArcticLampyrid <ArcticLampyrid@outlook.com>
> Subject: [PATCH v3 1/2] ALSA: cs35l41: obey the trigger type from
DSDT
>
> On some models, CSC3551's interrupt pin connected to
> APIC. We need to obey the trigger type from DSDT in this case.
>
> Signed-off-by: ArcticLampyrid <ArcticLampyrid@outlook.com>
> ---
> sound/pci/hda/cs35l41_hda.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/sound/pci/hda/cs35l41_hda.c
b/sound/pci/hda/cs35l41_hda.c
> index d3fa6e136744..d9c7b4034684 100644
> --- a/sound/pci/hda/cs35l41_hda.c
> +++ b/sound/pci/hda/cs35l41_hda.c
> @@ -10,6 +10,7 @@
> #include <linux/module.h>
> #include <linux/moduleparam.h>
> #include <sound/hda_codec.h>
> +#include <linux/irq.h>
> #include <sound/soc.h>
> #include <linux/pm_runtime.h>
> #include <linux/spi/spi.h>
> @@ -1511,6 +1512,14 @@ static int
cs35l41_hda_apply_properties(struct
> cs35l41_hda *cs35l41)
> irq_pol = cs35l41_gpio_config(cs35l41->regmap, hw_cfg);
>
> if (cs35l41->irq && using_irq) {
> + struct irq_data *irq_data;
> +
> + irq_data = irq_get_irq_data(cs35l41->irq);
> + if (irq_data && irqd_trigger_type_was_set(irq_data)) {
> + irq_pol = irqd_get_trigger_type(irq_data);
> + dev_info(cs35l41->dev, "Using configured IRQ
> Polarity: %d\n", irq_pol);
> + }
> +
> ret = devm_regmap_add_irq_chip(cs35l41->dev, cs35l41-
> >regmap, cs35l41->irq,
> IRQF_ONESHOT |
> IRQF_SHARED | irq_pol,
> 0,
> &cs35l41_regmap_irq_chip, &cs35l41->irq_data);
> --
> 2.44.0
>



\
 
 \ /
  Last update: 2024-04-19 17:10    [W:0.020 / U:1.904 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site