1. 25 6月, 2018 2 次提交
    • T
      ALSA: hda/realtek - Manage GPIO bits commonly · 5579cd6f
      Takashi Iwai 提交于
      Currently the GPIO bits are managed by individual verbs in some cases
      while toggled dynamically in other cases.  For simplifying the GPIO
      management, define the GPIO mask, dir and data bits in alc_spec
      fields, and refer to / set them consistently from all places.
      
      As a first step, along with the definition of the new gpio_* fields,
      this patch replaces the static verbs that are used at initialization
      and fixups with the common helper functions.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      5579cd6f
    • T
      ALSA: hda/realtek - Allow skipping spec->init_amp detection · 1c76aa5f
      Takashi Iwai 提交于
      Some devices have the overrides of spec->init_amp at
      HDA_FIXUP_ACT_PROBE just because alc_ssid_check() gives the
      false-positive values from the SSID.
      
      For more consistent behavior, define the logic in the following way:
      
      - Define ALC_INIT_UNDEFINED as the default value before calling
        alc_ssid_check()
      - Each fixup may set up spec->init_amp with another value at
        HDA_FIXUP_ACT_PRE_PROBE
      - At detection, check whether spec->init_amp is ALC_INIT_UNDEFINED or
        not; if it's different, we skip the detection
      
      Also, it turned out that ASUS TX300 requires the spec->init_amp
      override, too; currently it ignores the GPIO bits implicitly by its
      static init verb, but this will be changed in the later patchset.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      1c76aa5f
  2. 21 6月, 2018 3 次提交
  3. 17 6月, 2018 1 次提交
  4. 13 6月, 2018 1 次提交
    • T
      ALSA: hda/realtek - Add shutup hint · c7273bd6
      Takashi Iwai 提交于
      The pin shutup callback seems working well on some devices while it
      does harm on some other devices; e.g. Lenovo laptops show often the
      noises at (runtime) PM with the pin shutup enabled.
      
      Currently, the only way to disable the pin shutup is to hard-code
        spec->shutup = alc_no_shutup;
      in the fixup, and this makes the debugging harder for normal users.
      For allowing users to test the similar effect without recompiling the
      kernel, this patch adds a new hint string "shutup".  It's a boolean
      value, and by passing false to this, user can turn off the pin shutup
      call.
      
      For example, to turn off the shutup on Lenovo P50, create a "firmware
      patch" file (e.g. /lib/firmware/alsa/lenovo-p50) containing the
      following lines:
      
        [codec]
        0x10ec0298 0x17aa222e 0
      
        [hint]
        shutup = no
      
      and pass the file via patch option of snd-hda-intel module
      (e.g. patch=alsa/lenovo-p50).
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c7273bd6
  5. 30 5月, 2018 2 次提交
  6. 29 5月, 2018 2 次提交
  7. 14 5月, 2018 1 次提交
  8. 27 4月, 2018 1 次提交
  9. 25 4月, 2018 3 次提交
  10. 24 4月, 2018 1 次提交
  11. 19 4月, 2018 2 次提交
  12. 22 3月, 2018 2 次提交
  13. 18 3月, 2018 1 次提交
    • T
      ALSA: hda/realtek - Always immediately update mute LED with pin VREF · e40bdb03
      Takashi Iwai 提交于
      Some HP laptops have a mute mute LED controlled by a pin VREF.  The
      Realtek codec driver updates the VREF via vmaster hook by calling
      snd_hda_set_pin_ctl_cache().
      
      This works fine as long as the driver is running in a normal mode.
      However, when the VREF change happens during the codec being in
      runtime PM suspend, the regmap access will skip and postpone the
      actual register change.  This ends up with the unchanged LED status
      until the next runtime PM resume even if you change the Master mute
      switch.  (Interestingly, the machine keeps the LED status even after
      the codec goes into D3 -- but it's another story.)
      
      For improving this usability, let the driver temporarily powering up /
      down only during the pin VREF change.  This can be achieved easily by
      wrapping the call with snd_hda_power_up_pm() / *_down_pm().
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=199073
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e40bdb03
  14. 08 3月, 2018 1 次提交
  15. 06 3月, 2018 4 次提交
  16. 02 3月, 2018 1 次提交
  17. 26 2月, 2018 1 次提交
    • T
      ALSA: hda - Fix pincfg at resume on Lenovo T470 dock · 71db96dd
      Takashi Iwai 提交于
      We've added a quirk to enable the recent Lenovo dock support, where it
      overwrites the pin configs of NID 0x17 and 19, not only updating the
      pin config cache.  It works right after the boot, but the problem is
      that the pin configs are occasionally cleared when the machine goes to
      PM.  Meanwhile the quirk writes the pin configs only at the pre-probe,
      so this won't be applied any longer.
      
      For addressing that issue, this patch moves the code to overwrite the
      pin configs into HDA_FIXUP_ACT_INIT section so that it's always
      applied at both probe and resume time.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195161
      Fixes: 61fcf8ec ("ALSA: hda/realtek - Enable Thinkpad Dock device for ALC298 platform")
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      71db96dd
  18. 14 2月, 2018 1 次提交
    • J
      ALSA: hda/realtek: PCI quirk for Fujitsu U7x7 · fdcc968a
      Jan-Marek Glogowski 提交于
      These laptops have a combined jack to attach headsets, the U727 on
      the left, the U757 on the right, but a headsets microphone doesn't
      work. Using hdajacksensetest I found that pin 0x19 changed the
      present state when plugging the headset, in addition to 0x21, but
      didn't have the correct configuration (shown as "Not connected").
      
      So this sets the configuration to the same values as the headphone
      pin 0x21 except for the device type microphone, which makes it
      work correctly. With the patch the configured pins for U727 are
      
      Pin 0x12 (Internal Mic, Mobile-In): present = No
      Pin 0x14 (Internal Speaker): present = No
      Pin 0x19 (Black Mic, Left side): present = No
      Pin 0x1d (Internal Aux): present = No
      Pin 0x21 (Black Headphone, Left side): present = No
      Signed-off-by: NJan-Marek Glogowski <glogow@fbihome.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      fdcc968a
  19. 07 2月, 2018 3 次提交
  20. 19 1月, 2018 1 次提交
  21. 17 1月, 2018 2 次提交
  22. 16 1月, 2018 1 次提交
    • T
      ALSA: hda - Use IS_REACHABLE() for dependency on input · c469652b
      Takashi Iwai 提交于
      The commit ffcd28d8 ("ALSA: hda - Select INPUT for Realtek
      HD-audio codec") introduced the reverse-selection of CONFIG_INPUT for
      Realtek codec in order to avoid the mess with dependency between
      built-in and modules.  Later on, we obtained IS_REACHABLE() macro
      exactly for this kind of problems, and now we can remove th INPUT
      selection in Kconfig and put IS_REACHABLE(INPUT) to the appropriate
      places in the code, so that the driver doesn't need to select other
      subsystem forcibly.
      
      Fixes: ffcd28d8 ("ALSA: hda - Select INPUT for Realtek HD-audio codec")
      Reported-by: NRandy Dunlap <rdunlap@infradead.org>
      Acked-by: Randy Dunlap <rdunlap@infradead.org> # and build-tested
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c469652b
  23. 10 1月, 2018 1 次提交
  24. 08 1月, 2018 1 次提交
  25. 27 12月, 2017 1 次提交