1. 25 May, 2011 3 commits
    • Takashi Iwai's avatar
      ALSA: hda - Use model=auto for Lenovo G555 · af4ccf4f
      Takashi Iwai authored
      The new auto-parser fixes problems on Lenovo G555.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      af4ccf4f
    • Stephen Warren's avatar
      ALSA: HDA: Unify HDMI hotplug handling. · 5d44f927
      Stephen Warren authored
      This change unifies the initial handling of a pin's state with the code to
      update a pin's state after a hotplug (unsolicited response) event. The
      initial probing, and all updates, are now routed through hdmi_present_sense.
      
      The stored PD and ELDV status is now always derived from GetPinSense verb
      execution, and not from the data in the unsolicited response. This means:
      
      a) The WAR for NVIDIA codec's UR.PD values ("old_pin_detect") can be
         removed, since this only affected the no-longer-used unsolicited
         response payload.
      
      b) In turn, this means that most NVIDIA codecs can simply use
         patch_generic_hdmi instead of having a custom variant just to set
         old_pin_detect.
      
      c) When PD && ELDV becomes true, no extra verbs are executed, because the
         GetPinSense that was previously executed by snd_hdmi_get_eld (really,
         hdmi_eld_valid) has simply moved into hdmi_present_sense.
      
      d) When PD && ELDV becomes false, there is a single extra GetPinSense verb
         executed for codecs where old_pin_detect wasn't set, i.e. some NVIDIA,
         and all ATI/AMD and Intel codecs. I doubt this will be a performance
         issue.
      
      The new unified code in hdmi_present_sense also ensures that eld->eld_valid
      is not set unless eld->monitor_present is also set. This protects against
      potential invalid combinations of PD and ELDV received from HW, and
      transitively from a graphics driver.
      
      Also, print the derived PD/ELDV bits from hdmi_present_sense so the kernel
      log always displays the actual state stored, which will differ from the
      values in the unsolicited response for NVIDIA HW where old_pin_detect was
      previously set.
      
      Finally, a couple of small tweaks originally by Takashi:
      
      * Clear the ELD content to zero before reading it, so that if it's not
        read (i.e. when !(PD && ELDV)) it's in a known state.
      
      * Don't show ELD fields in /proc ELD files when the ELD isn't valid.
      
      The only possibility I can see for regression here is a codec where the
      GetPinSense verb returns incorrect data. However, we're already exposed
      to that, since that data is used (a) from hdmi_add_pin to set up the
      initial pin state, and (b) within snd_hda_input_jack_report to query
      a pin's presence value. As such, I don't believe any HW has bugs here.
      Includes-changes-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      5d44f927
    • Tony Vroon's avatar
      ALSA: hda - Force AD1988_6STACK_DIG for Asus M3N-HT Deluxe · 4e60b4f8
      Tony Vroon authored
      The microphone input on the back panel (pink connector)
      stopped operating correctly after an upgrade from
      2.6.35 to 2.6.38; the actual problem manifests itself
      as a lack of microphone bias voltage (VREF_HIZ) on
      node 0x17.
      With AD1988_6STACK_DIG the maximum bias voltage (VREF_80)
      is applied and the headset operates correctly.
      Signed-off-by: default avatarTony Vroon <tony@linx.net>
      Tested-by: default avatarDoug Redlich <pbrigade@nxltech.net>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      4e60b4f8
  2. 24 May, 2011 1 commit
  3. 23 May, 2011 3 commits
  4. 22 May, 2011 6 commits
  5. 20 May, 2011 10 commits
  6. 19 May, 2011 7 commits
  7. 18 May, 2011 10 commits