[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