1. 26 3月, 2015 1 次提交
  2. 25 2月, 2015 1 次提交
  3. 12 1月, 2015 3 次提交
    • I
      ALSA: hda: add component support · d7055bd6
      Imre Deak 提交于
      Register a component master to be used to interface with the i915
      driver. This is meant to replace the current interface which is based on
      module symbol lookups.
      
      Note that currently we keep the existing behavior and pin the i915
      module while the hda driver is loaded. Using the component interface
      allows us to remove this dependency once support for dynamically
      enabling / disabling the HDMI functionality is added to the driver.
      
      v2:
      - change roles between the hda and i915 components (Daniel)
      v3:
      - rename display_component to audio_component (Daniel)
      v4:
      - move removal of i915_powerwell.h from this patch to the next (Takashi)
      - request_module fails if module support isn't enabled, so ignore
        any error it returns and depend on the following NULL check of the
        component ops (Takashi)
      - change over to using dev_* instead of pr_* (Takashi)
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d7055bd6
    • I
      ALSA: hda: pass intel_hda to all i915 interface functions · 926981ae
      Imre Deak 提交于
      chip is already passed to most of the i915 interface functions. Unify
      the interface by passing intel_hda instead of chip and passing it to all
      functions. Passing intel_hda instead of chip makes more sense since this
      is an intel specific interface. Also in an upcoming patch we will use
      intel_hda in all of these functions so by passing intel_hda we can save
      on some pointer casts from chip to intel_hda.
      
      This will be needed by an upcoming patch adding component support.
      
      No functional change.
      
      v2-3: unchanged
      v4:
      - pass intel_hda instead of chip
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      926981ae
    • I
      ALSA: hda: export struct hda_intel · 347de1f8
      Imre Deak 提交于
      This struct will be needed by the component code added in an upcoming
      patch, so export it into a new hda_intel.h file. At the same time also
      merge hda_i915.h into this new header, there is no reason to keep two
      separate intel specific header file.
      Suggested-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      347de1f8
  4. 09 1月, 2015 1 次提交
    • T
      ALSA: hda: Simplify PM callbacks · e2a711f1
      Takashi Iwai 提交于
      This is a similar cleanup like the commit [3db084fd: ALSA: fm801:
      PCI core handles power state for us].
      
      Since pci_set_power_state(), pci_save_state() and pci_restore_state()
      are already done in the PCI core side, so we don't need to it doubly.
      
      Also, pci_enable_device(), pci_disable_device() and pci_set_master()
      calls in PM callbacks are superfluous nowadays, too, so get rid of
      them as well.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      e2a711f1
  5. 04 1月, 2015 1 次提交
  6. 26 12月, 2014 1 次提交
  7. 13 12月, 2014 1 次提交
  8. 03 12月, 2014 2 次提交
    • T
      ALSA: hda - Drop AZX_DCAPS_ALIGN_BUFSIZE · 103884a3
      Takashi Iwai 提交于
      We introduced AZX_DCAPS_ALIGN_BUFSIZE to explicity show that the
      controller needs the alignment, with a slight hope that the buffer
      size alignment will be disabled as default in future.  But the reality
      tells that most chips need the buffer size alignment, and it'll be
      likely enabled in future, too.
      
      This patch drops AZX_DCAPS_ALIGN_BUFSIZE to give back one more
      precious DCAPS bit for future use.  At the same time, rename
      AZX_DCAPS_BUFSIZE with AZX_DCAPS_NO_ALIGN_BUFSIZE for avoiding
      confusion.
      
      AZX_DCAPS_ALIGN_BUFSIZE are still kept (but commented out) in each
      DCAPS presets for a purpose as markers.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      103884a3
    • T
      ALSA: hda - Define the DCAPS preset for the old Intel chipsets · b42b4afb
      Takashi Iwai 提交于
      Just for improving readability.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      b42b4afb
  9. 28 11月, 2014 2 次提交
    • T
      ALSA: hda - Allow forcibly enabling/disabling snoop · 7c732015
      Takashi Iwai 提交于
      User can pass snoop option to enable/disable the snoop behavior, but
      currently azx_check_snoop_available() always turns it off for some
      devices.  For better debuggability, change the parameter as bint, and
      allow user to enable/disable forcibly the snoop when specified via the
      module option.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7c732015
    • T
      ALSA: hda - Add AZX_DCAPS_SNOOP_OFF (and refactor snoop setup) · 37e661ee
      Takashi Iwai 提交于
      Add a new driver_caps bit, AZX_DCAPS_SNOOP_OFF, to set the snoop off
      as default.  This new bit is used for the checks in
      azx_check_snoop_available().  Most of case-switches are replaced with
      the new dcaps in each entry.
      
      While working on it, for avoiding to spend more bits, combine three
      bits AZX_DCAPS_SNOOP_SCH, AZX_DCAPS_SNOOP_ATI and
      AZX_DCAPS_SNOOP_NVIDIA bits into a flat type of two bits.  This
      reduces the bits usages, and assign AZX_DCAPS_OFF to this empty bit
      now.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      37e661ee
  10. 24 11月, 2014 2 次提交
  11. 17 11月, 2014 1 次提交
  12. 09 11月, 2014 1 次提交
  13. 29 10月, 2014 1 次提交
  14. 15 10月, 2014 1 次提交
  15. 07 8月, 2014 1 次提交
    • T
      ALSA: hda - Fix probing and stuttering on CMI8888 HD-audio controller · c563f473
      Takashi Iwai 提交于
      ASUS Phoebus with CMI8888 HD-audio chip (PCI id 13f6:5011) doesn't
      work with HD-audio driver as is because of some weird nature.  For
      making DMA properly working, we need to disable MSI.  The position
      report buffer doesn't work, thus we need to force reading LPIB
      instead.  And yet, the codec CORB/RIRB communication gives errors
      unless we disable the snooping (caching).
      
      In this patch, all these workarounds are added as a quirk for the
      device.  The HD-audio *codec* chip needs yet another workaround, but
      it'll be provided in the succeeding patch.
      Reported-and-tested-by: NVincent Lejeune <vljn@ovi.com>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      c563f473
  16. 04 8月, 2014 1 次提交
  17. 16 7月, 2014 1 次提交
  18. 15 7月, 2014 1 次提交
    • T
      ALSA: hda - Fix broken PM due to incomplete i915 initialization · 4da63c6f
      Takashi Iwai 提交于
      When the initialization of Intel HDMI controller fails due to missing
      i915 kernel symbols (e.g. HD-audio is built in while i915 is module),
      the driver discontinues the probe.  However, since the probe was done
      asynchronously, the driver object still remains, thus the relevant PM
      ops are still called at suspend/resume. This results in the bad access
      to the incomplete audio card object, eventually leads to Oops or stall
      at PM.
      
      This patch adds the missing checks of chip->init_failed flag at each
      PM callback in order to fix the problem above.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=79561
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4da63c6f
  19. 14 7月, 2014 1 次提交
    • T
      ALSA: hda - Revert stream assignment order for Intel controllers · cd50065b
      Takashi Iwai 提交于
      We got a regression report for 3.15.x kernels, and this turned out to
      be triggered by the fix for stream assignment order.  On reporter's
      machine with Intel controller (8086:1e20) + VIA VT1802 codec, the
      first playback slot can't work with speaker outputs.
      
      But the original commit was actually a fix for AMD controllers where
      no proper GCAP value is returned, we shouldn't revert the whole
      commit.  Instead, in this patch, a new flag is introduced to determine
      the stream assignment order, and follow the old behavior for Intel
      controllers.
      
      Fixes: dcb32ecd ('ALSA: hda - Do not assign streams in reverse order')
      Reported-and-tested-by: NSteven Newbury <steve@snewbury.org.uk>
      Cc: <stable@vger.kernel.org> [v3.15+]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      cd50065b
  20. 04 7月, 2014 1 次提交
  21. 27 6月, 2014 5 次提交
  22. 26 6月, 2014 1 次提交
    • M
      ALSA: hda - restore BCLK M/N values when resuming HSW/BDW display controller · a07187c9
      Mengdong Lin 提交于
      For Intel Haswell/Broadwell display HD-A controller, the 24MHz HD-A link BCLK
      is converted from Core Display Clock (CDCLK): BCLK = CDCLK * M / N
      And there are two registers EM4 and EM5 to program M, N value respectively.
      The EM4/EM5 values will be lost and when the display power well is disabled.
      
      BIOS programs CDCLK selected by OEM and EM4/EM5, but BIOS has no idea about
      display power well on/off at runtime. So the M/N can be wrong if non-default
      CDCLK is used when the audio controller resumes, which results in an invalid
      BCLK and abnormal audio playback rate. So this patch saves and restores valid
      M/N values on controller suspend/resume.
      
      And 'struct hda_intel' is defined to contain standard HD-A 'struct azx' and
      Intel specific fields, as Takashi suggested.
      Signed-off-by: NMengdong Lin <mengdong.lin@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      a07187c9
  23. 16 6月, 2014 1 次提交
    • T
      drm/i915, HD-audio: Don't continue probing when nomodeset is given · 74b0c2d7
      Takashi Iwai 提交于
      When a machine is booted with nomodeset option, i915 driver skips the
      whole initialization.  Meanwhile, HD-audio tries to bind wth i915 just
      by request_symbol() without knowing that the initialization was
      skipped, and eventually it hits WARN_ON() in i915_request_power_well()
      and i915_release_power_well() wrongly but still continues probing,
      even though it doesn't work at all.
      
      In this patch, both functions are changed to return an error in case
      of uninitialized state instead of WARN_ON(), so that HD-audio driver
      can give up HDMI controller initialization at the right time.
      Acked-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: <stable@vger.kernel.org> [3.15]
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      74b0c2d7
  24. 09 6月, 2014 2 次提交
  25. 23 5月, 2014 1 次提交
  26. 22 5月, 2014 1 次提交
  27. 13 5月, 2014 1 次提交
  28. 30 4月, 2014 1 次提交
    • T
      ALSA: hda - Suppress CORBRP clear on Nvidia controller chips · 6ba736dd
      Takashi Iwai 提交于
      The recent commit (ca460f86) changed the CORB RP reset procedure to
      follow the specification with a couple of sanity checks.
      Unfortunately, Nvidia controller chips seem not following this way,
      and spew the warning messages like:
        snd_hda_intel 0000:00:10.1: CORB reset timeout#1, CORBRP = 0
      
      This patch adds the workaround for such chips.  It just skips the new
      reset procedure for the known broken chips.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6ba736dd
  29. 09 4月, 2014 1 次提交
  30. 03 3月, 2014 1 次提交