[alsa-devel] Intel HDA / ca0132: support for Alienware 15 Creative Sound Core3D-EX

Takashi Iwai tiwai at suse.de
Wed Apr 29 15:38:19 CEST 2015


At Wed, 29 Apr 2015 00:47:16 +0200,
Gabriele Martino wrote:
> 
> On 28/04/2015 08:15, Takashi Iwai wrote:
> > snd_pci_quirk_lookup() just returns a value matching in the given
> > table.  Provide a table like:
> >
> > enum {
> > 	QUIRK_NONE,
> > 	QUIRK_ALIENWARE,
> > };
> >
> > static const struct snd_pci_quirk ca0132_quirks[] = {
> > 	SND_PCI_QUIRK(0x1028, 0x0685, "Alienware 15", QUIRK_ALIENWARE),
> > 	{}
> > };
> >
> > then somewhere in the probe, check the table
> >
> > 	spec->quirk = snd_pci_quirk_lookup(codec->bus->pci, ca0132_quirks);
> >
> > then refer it appropriately
> >
> > 	if (spec->quirk == QUIRK_ALIENWARE) {
> > 		spec->out_pins[1] = 0x0f;
> > 		....
> > 	} else {
> > 		spec->out_pins[1] = 0x10;
> > 		....
> > 	}
> >
> > The current ca0132 code has way too may fixed assignment, so the pin
> > reassignment like other codec drivers doesn't work as is.  We'd need
> > to sort it out first.  So, start from the simple workaround.
> Thank you for your explanation.
> I managed to fix the pin address, but as I told before the jack
> detection is totally messed up.
> "hdajacksensetest" fails with:
> Ioctl call failed with error 16

The error message looks irrelevant with the patch itself.
Did you build with proper kernel configs?
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_PATCH_LOADER=y


Takashi


More information about the Alsa-devel mailing list