At Sun, 15 Nov 2009 19:32:19 +0800, Wu Fengguang wrote:
Hi Takashi,
Here is some Intel HDMI fixes, most of them are inspired/written by David Härdeman (Big thanks!).
- fix audio infoframe size
- sticky infoframe/stream id/channel count to
- not disturb (David's) fragile devices
- avoid the first 0.5s audio samples be losted
- avoid losing presence info during
- module reloading (by querying the pin sense status)
- power off (by disabling it)
Thanks for the patches!
Most of them look good; however, I'm not much convinced wrt the disablement of power-saving. In many cases, the power-saving is more important than 0.5sec drop-out (particularly if it's already fixed in the succeeding playbacks). Thus disabling the power-saving unconditionally is no good idea.
Maybe some flag, either an option or a mixer control, would be preferred for defining the behavior, as a compromise...
Also, it'd be more readable if we define another common jack detection routine that calls the pin sense function, such as
int snd_hda_jack_detect(struct hda_codec *codc, hda_nid_t nid) { u32 sense = snd_hda_pin_sense(codec, nid); return !!(sense & AC_PINSENSE_PRESENCE); }
since all callers check only that bit.
Last but not least, don't forget to add comment to each new common function. Although it's trivial, the documentation is always better to have :)
thanks,
Takashi