RE: [PATCH v3 1/2] ALSA: cs35l41: obey the trigger type from DSDT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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@xxxxxxxxxxx>
> Sent: Thursday, April 18, 2024 2:20 PM
> To: sbinding@xxxxxxxxxxxxxxxxxxxxx
> Cc: david.rhodes@xxxxxxxxxx; james.schulman@xxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-sound@xxxxxxxxxxxxxxx;
> patches@xxxxxxxxxxxxxxxxxxxxx; rf@xxxxxxxxxxxxxxxxxxxxx;
> ArcticLampyrid <ArcticLampyrid@xxxxxxxxxxx>
> 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@xxxxxxxxxxx>
> ---
>  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
> 






[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux