This patch series adds DP audio and hotplug notification support.
In skylake platform the DP is on a different port which is not enabled by default. A vendor widget is programmed to enable playback on all ports. This also enables all the converters.
Codec Dais, widgets, graph are now created dynamically based on the nodes enumerated, thus removing the hardcoding. Mux controls are used to establish routing stream to a specific port.
For DP audio support, infoframe needs to be different. Based on ELD queried we either pack HDMI or DP infoframe.
Also with this series, Jack notification support is added and Jack event is reported to userspace as is done in case of legacy driver.
Few fixes are added to check for possible memory leak, reconfiguring register during resume from D3 etc.
The 8th patch is adding a small macro for getting connection type in drm header. It is reviewed by drm folks, CCed them. Please merge it through sound trees.
changes in v6: - Fixed some review comments - Fix afg node D3 state
Cc: Jani Nikula jani.nikula@intel.com Cc: David Airlie airlied@linux.ie Cc: dri-devel@lists.freedesktop.org Cc: Daniel Vetter daniel.vetter@intel.com
Jeeja KP (2): ASoC: hdac_hdmi: Add jack reporting ASoC: hdac_hdmi: Add PM support
Ramesh Babu (1): ASoC: hdac_hdmi: Fix to keep codec power active during enumeration.
Subhransu S. Prusty (12): ASoC: hdac_hdmi: Add hotplug notification and read ELD ASoC: hdac_hdmi: Apply constraints based on ELD ASoC: hdac_hdmi: Enable DP1.2 and all converters/pins ASoC: hdac_hdmi: create dais based on number of cvts ASoC: hdac_hdmi: Create widget/route based on nodes enumerated ASoC: hdac_hdmi: Enable playback on all enumerated ports drm/edid: Add API to help find connection type ASoC: hdac_hdmi: Add infoframe support for dp audio ASoC: hdac_hdmi: Fix possible memory leak in hw_params ASoC: hdac_hdmi: Don't fail in dai startup to make userland happy ASoC: hdac_hdmi: Fix to reconfigure registers in runtime resume ASoC: hdac_hdmi: Fix to wait for D3 before powering off codec
include/drm/drm_edid.h | 12 + sound/soc/codecs/Kconfig | 1 + sound/soc/codecs/hdac_hdmi.c | 1208 +++++++++++++++++++++++++++++++++++++----- sound/soc/codecs/hdac_hdmi.h | 6 + 4 files changed, 1104 insertions(+), 123 deletions(-) create mode 100644 sound/soc/codecs/hdac_hdmi.h