[alsa-devel] [PATCH 14/31] HDA patch_via.c: Add Jack detect feature for VT1708.

Li Bo liboat at gmail.com
Thu Oct 8 07:26:43 CEST 2009


On Wed, Oct 7, 2009 at 3:03 PM, Takashi Iwai <tiwai at suse.de> wrote:
> At Wed, 7 Oct 2009 13:56:35 +0800,
> Li Bo wrote:
>>
>> On Tue, Oct 6, 2009 at 11:34 PM, Takashi Iwai <tiwai at suse.de> wrote:
>> > At Tue, 6 Oct 2009 23:27:35 +0800,
>> > Li Bo wrote:
>> >>
>> >> On Tue, Oct 6, 2009 at 8:38 PM, Takashi Iwai <tiwai at suse.de> wrote:
>> >> > At Tue, 6 Oct 2009 14:17:40 +0200,
>> >> > Harald Welte wrote:
>> >> >>
>> >> >> Hi all,
>> >> >>
>> >> >> On Tue, Oct 06, 2009 at 08:01:40AM +0200, Takashi Iwai wrote:
>> >> >>
>> >> >> > > As you describe, we implement it with self-reschedule workqueue, acting
>> >> >> > > like a timer.
>> >> >> > > Is there some advice to implement timer-like task, I tested  with timer and
>> >> >> > > it will crash the driver.
>> >> >> >
>> >> >> > Right, you can't call it in a softirq.
>> >> >> >
>> >> >> > A few problems, however:
>> >> >> > - present variable should be in struct via_spec, instead of a static
>> >> >> >   variable in update_hp_jack_state().
>> >> >>
>> >> >> I agree
>> >> >> > - This mechanism is unconditionally invoked on VT1708 although, in
>> >> >> >   theory, you can have a hardware that doesn't need HP jack detection
>> >> >>
>> >> >> Yes, Logan/Li/Lydia: If we generate this kind of workaround with a timer,
>> >> >> it should only be used on those particular chips that absolutely need it.
>> >> >
>> >> > As far as I see, the code is only for VT1708, so it's already specific
>> >> > to the codec chip.  But, even with this chip, you might have a pin
>> >> > configuration that doesn't need the HP jack detection.
>> >> >
>> >>
>> >> Yes, it's only for VT1708, and HP exists on most cases, and so HP jack detection
>> >> are needed.
>> >> And present will put into via_spec.
>> >
>> > If it's restricted only during the opened (better running) PCM stream,
>> > it's not too bad.  But, it'd be even better to check the availability
>> > of HP jack.
>> >
>> Sorry about analog loopback is not considered, I think analog loopback
>> mute/unmute
>> callback should also be added, is that OK?
>
> Honestly, I think we can remove the analog-loopback part completely
> for VT1708 + HP-jack.  If the loopback is inevitably needed, you can add
> a check of codec "hint" interface to determine whether to build the
> HP-jack detection or not at probing.
> About hints, look at snd_hda_get_bool_hint() and HD-Audio.txt.
>
>
> thanks,
>
> Takashi
>
OK, I add hp detect to prepare/cleanup, and check hint
"analog_loopback_hp_detect"
before adding it to analog mute/unmute.
Following will be the update patch


More information about the Alsa-devel mailing list