1. 22 Dec, 2015 8 commits
  2. 21 Dec, 2015 6 commits
  3. 20 Dec, 2015 5 commits
  4. 17 Dec, 2015 4 commits
  5. 16 Dec, 2015 1 commit
  6. 15 Dec, 2015 7 commits
  7. 11 Dec, 2015 1 commit
  8. 10 Dec, 2015 8 commits
    • Takashi Iwai's avatar
      ALSA: hda - Move audio component accesses to hdac_i915.c · e2dc7d7d
      Takashi Iwai authored
      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: default avatarVinod Koul <vinod.koul@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e2dc7d7d
    • Takashi Iwai's avatar
      ALSA: hda - Use component ops for i915 HDMI/DP audio jack handling · 788d441a
      Takashi Iwai authored
      Since we have a new audio component ops to fetch the current ELD and
      state now, we can reduce the usage of unsol event of HDMI/DP pins.
      The unsol event isn't only unreliable, but it also needs the power
      up/down of the codec and link at each time, which is a significant
      power and time loss.
      
      In this patch, the jack creation and unsol/jack event handling are
      modified to use the audio component for the dedicated Intel chips.
      
      The jack handling got slightly more codes than a simple usage of
      hda_jack layer since we need to deal directly with snd_jack object;
      the hda_jack layer is basically designed for the pin sense read and
      unsol events, both of which aren't used any longer in our case.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      788d441a
    • Takashi Iwai's avatar
      Merge tag 'drm-i915-get-eld' into topic/hdmi-jack · e826d22e
      Takashi Iwai authored
      Merge the latest i915 audio component changes for HDMI/DP get_eld ops.
      This is actually used in HD-audio side in this branch.
      e826d22e
    • Takashi Iwai's avatar
      ALSA: hda - Fix superfluous HDMI jack repoll · 9a5e5234
      Takashi Iwai authored
      The recent commit [e90247f9: ALSA: hda - Split ELD update code
      from hdmi_present_sense()] rewrote the HDMI jack handling code, but a
      slight behavior change sneaked in unexpectedly.  When the jack isn't
      connected, it tries repoll unnecessarily.
      
      This patch addresses the flaw, to the right behavior as before.
      
      Fixes: e90247f9 ('ALSA: hda - Split ELD update code from hdmi_present_sense()')
      Reported-and-tested-by: default avatarDavid Henningsson <david.henningsson@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9a5e5234
    • Takashi Iwai's avatar
      drm/i915: Add reverse mapping between port and intel_encoder · 0bdf5a05
      Takashi Iwai authored
      This patch adds a reverse mapping from a digital port number to
      intel_encoder object containing the corresponding intel_digital_port.
      It simplifies the query of the encoder a lot.
      
      Note that, even if it's a valid digital port, the dig_port_map[] might
      point still to NULL -- usually it implies a DP MST port.  Due to this
      fact, the NULL check in each place has no WARN_ON() and just skips the
      port.  Once when the situation changes in future, we might introduce
      WARN_ON() for a more strict check.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      0bdf5a05
    • Takashi Iwai's avatar
      drm/i915: Add get_eld audio component · cae666ce
      Takashi Iwai authored
      Implement a new i915_audio_component_ops, get_eld().  It's called by
      the audio driver to fetch the current audio status and ELD of the
      given HDMI/DP port.  It returns the size of expected ELD bytes if it's
      valid, zero if no valid ELD is found, or a negative error code.  The
      current state of audio on/off is stored in the given pointer, too.
      
      Note that the returned size isn't limited to the given max bytes.  If
      the size is greater than the max bytes, it means that only a part of
      ELD has been copied back.
      
      For achieving this implementation, a new field audio_connector is
      added to struct intel_digital_port.  It points to the connector
      assigned to the given digital port.  It's set/reset at each audio
      enable/disable call in intel_audio.c, and protected with av_mutex.
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      cae666ce
    • Takashi Iwai's avatar
      ALSA: hda - Allow i915 binding later in codec driver · 55913110
      Takashi Iwai authored
      Due to the recent change, HDA controller driver for Intel PCH tries to
      bind i915 audio component always at the probe time no matter whether
      HDMI/DP codec is found.  This is, however, superflulous for old
      chipsets (e.g. on IVB) where they don't have always the HDMI/DP codecs
      but  often have only a discrete GPU instead.
      
      For the newer chipsets, we need already the i915 binding from the
      beginning due to power well control.  Meanwhile, for older chipsets
      where we don't need power well, we don't need the i915 binding at the
      controller level.
      
      This patch removes again the i915 binding in the HDA controller driver
      for old Intel PCHs, but adds the binding in HDMI/DP codec driver
      instead.  This allows still the use of the direct notification from
      the graphics driver while we can avoid the unnecessary load of i915
      driver for machines only with another GPU.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      55913110
    • Takashi Iwai's avatar
      ALSA: hda - Optimize audio component check in patch_hdmi.c · f4e3040b
      Takashi Iwai authored
      The audio component is enabled only when CONFIG_SND_HDA_I915 is set.
      Give a dummy macro for allowing the compiler optimize out the relevant
      codes when this Kconfig isn't set.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      f4e3040b