Comment 24 for bug 1709708

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

This commit fixes the issue:

commit 2d8f63297b9f0b430c96329893667c0bfdcbd47e
Author: Jani Nikula <email address hidden>
Date: Tue Sep 19 18:38:13 2017 +0300

    drm/i915: always update ELD connector type after get modes

    drm_edid_to_eld() initializes the connector ELD to zero, overwriting the
    ELD connector type initialized in intel_audio_codec_enable(). If
    userspace does getconnector and thus get_modes after modeset, a
    subsequent audio component i915_audio_component_get_eld() call will
    receive an ELD without the connector type properly set. It's fine for
    HDMI, but screws up audio for DP.

    Always set the ELD connector type at intel_connector_update_modes()
    based on the connector type. We can drop the connector type update from
    intel_audio_codec_enable().

    Credits to Joseph Nuzman <email address hidden> for figuring this out.

    Cc: Ville Syrjälä <email address hidden>
    Cc: Joseph Nuzman <email address hidden>
    Reported-by: Joseph Nuzman <email address hidden>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101583
    Reviewed-by: Ville Syrjälä <email address hidden>
    Tested-by: Joseph Nuzman <email address hidden>
    Cc: <email address hidden> # v4.10+, maybe earlier
    Signed-off-by: Jani Nikula <email address hidden>
    Link: https://patchwork<email address hidden>
    (cherry picked from commit d81fb7fd9436e81fda67e5bc8ed0713aa28d3db2)
    Signed-off-by: Rodrigo Vivi <email address hidden>

It has "Cc: <email address hidden>" so it'll get pulled into Ubuntu's kernel.