20 Jan, 2016

1 commit

  • Currently HD-audio driver on Intel Skylake or Broxteon gives an error
    message when binding with i915 audio component fails. However, this
    isn't any serious error on a system without Intel graphics. Indeed
    there are such systems, where a third-party codec (e.g. Creative) is
    put on the mobo while using other discrete GPU (e.g. Nvidia).
    Printing a kernel "error" message is overreaction in such a case.

    This patch downgrades the print level for that message. For systems
    that mandate the i915 binding (e.g. Haswell or Broadwell HDMI/DP),
    another kernel error message is shown in addition to make clear what
    went wrong.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=111021
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

10 Dec, 2015

1 commit

  • A couple of i915_audio_component ops have been added and accessed
    directly from patch_hdmi.c. Ideally all these should be factored out
    into hdac_i915.c.

    This patch does it, adds two new helper functions for setting N/CTS
    and fetching ELD bytes. One bonus is that the hackish widget vs port
    mapping is also moved to hdac_i915.c, so that it can be fixed /
    enhanced more cleanly.

    Reviewed-by: Vinod Koul
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

28 Oct, 2015

1 commit


02 Sep, 2015

1 commit


20 Jul, 2015

1 commit

  • When the controller is powered up but the HDMI codec is powered down
    on Skylake, the power well is turned off. When the codec is then
    powered up again, we need to poke the codec a little extra to make
    sure it wakes up. Otherwise we'll get sad "no response from codec"
    messages and broken audio.

    This also changes azx_runtime_resume to actually call
    snd_hdac_set_codec_wakeup for Skylake (before STATETS read).
    (Otherwise it would only have been called for Haswell and Broadwell,
    which both do not need it, so this probably was not the author's
    intention.)

    Signed-off-by: David Henningsson
    Reviewed-by: Libin Yang
    Signed-off-by: Takashi Iwai

    David Henningsson
     

10 Jun, 2015

1 commit


20 May, 2015

1 commit

  • The file is moved to hda core and renamed to hdac_i915.c, so can be used
    by both legacy HDA driver and new Skylake audio driver.

    - Add snd_hdac_ prefix to the public APIs.
    - The i915 audio component is moved to core bus and dynamically allocated.
    - A static pointer hdac_acomp is used to help bind/unbind callbacks to get
    this component, because the sound card's private_data is used by the azx
    chip pointer, which is a legacy structure. It could be removed if private
    _data changes to some core structure which can be extended to find the
    bus.
    - snd_hdac_get_display_clk() is added to get the display core clock for
    HSW/BDW.
    - haswell_set_bclk() is moved to hda_intel.c because it needs to write the
    controller registers EM4/EM5, and only legacy HD-A needs it for HSW/BDW.
    - Move definition of HSW/BDW-specific registers EM4/EM5 to hda_register.h
    and rename them to HSW_EM4/HSW_EM5, because other HD-A controllers have
    different layout for the extended mode registers.

    Signed-off-by: Mengdong Lin
    Signed-off-by: Takashi Iwai

    Mengdong Lin