At Mon, 16 Nov 2009 15:20:32 -0800, Christian Hergert wrote: > > Hi, > > I made a patch to fix bug 4657[1] on the tracker. I'm fairly certain that > it isn't the correct approach but would like some feedback on what that > would be. > > The power-mappings in patch_sigmatel.c seem to allow you to flip multiple > bits. In the case of the Dell docking station, you need to enable some bits > while disabling others. Therefore, instead of using the power mappings I > just hacked in a quick check to work for the hardware I have on hand. If > there is a proper way to fix this that I have missed, I'll be more than > happy to fix the patch appropriately. > > [1] https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4657 The jack detection of the docking station is already there, but it seems just a missing call to toggle the power-map. How about the patch below? thanks, Takashi --- diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 7f76a97..bd9a2dd 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -4396,10 +4396,12 @@ static void stac92xx_set_pinctl(struct hda_codec *codec, hda_nid_t nid, pin_ctl &= ~(AC_PINCTL_IN_EN | AC_PINCTL_OUT_EN); pin_ctl |= flag; - if (old_ctl != pin_ctl) + if (old_ctl != pin_ctl) { snd_hda_codec_write_cache(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, pin_ctl); + stac_toggle_power_map(codec, nid, 1); + } } static void stac92xx_reset_pinctl(struct hda_codec *codec, hda_nid_t nid, @@ -4407,10 +4409,12 @@ static void stac92xx_reset_pinctl(struct hda_codec *codec, hda_nid_t nid, { unsigned int pin_ctl = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0x00); - if (pin_ctl & flag) + if (pin_ctl & flag) { snd_hda_codec_write_cache(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, pin_ctl & ~flag); + stac_toggle_power_map(codec, nid, 0); + } } static int get_pin_presence(struct hda_codec *codec, hda_nid_t nid) _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel