Messages in this thread | | | From | Stefan Binding <> | Subject | RE: [PATCH v2 1/2] ALSA: cs35l41: obey the trigger type from DSDT | Date | Thu, 18 Apr 2024 11:58:12 +0100 |
| |
Hi,
Looking at the ACPI attached previously, this issue needs some more investigation. I don't think this patch is a good idea, since it is unknown what effects this patch will have on other laptops.
Thanks, Stefan
> -----Original Message----- > From: ArcticLampyrid <ArcticLampyrid@outlook.com> > Sent: Thursday, April 18, 2024 7:46 AM > To: james.schulman@cirrus.com; david.rhodes@cirrus.com; > rf@opensource.cirrus.com > Cc: patches@opensource.cirrus.com; linux-sound@vger.kernel.org; linux- > kernel@vger.kernel.org; ArcticLampyrid <ArcticLampyrid@outlook.com> > Subject: [PATCH v2 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 >
| |