lkml.org 
[lkml]   [2018]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.9 171/219] drm/edid: set ELD connector type in drm_edid_to_eld()
    Date
    From: Jani Nikula <jani.nikula@intel.com>

    [ Upstream commit 1d1c36650752b7fb81cee515a9bba4131cac4b7c ]

    Since drm_edid_to_eld() knows the connector type, we can set the type in
    ELD while at it. Most connectors this gets called on are not DP
    encoders, and with the HDMI type being 0, this does not change behaviour
    for non-DP.

    For i915 having this in place earlier would have saved a considerable
    amount of debugging that lead to the fix 2d8f63297b9f ("drm/i915: always
    update ELD connector type after get modes"). I don't see other drivers,
    even the ones calling drm_edid_to_eld() on DP connectors, setting the
    connector type in ELD.

    Cc: Alex Deucher <alexander.deucher@amd.com>
    Cc: Christian König <christian.koenig@amd.com>
    Cc: Archit Taneja <architt@codeaurora.org>
    Cc: Andrzej Hajda <a.hajda@samsung.com>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: CK Hu <ck.hu@mediatek.com>
    Cc: Philipp Zabel <p.zabel@pengutronix.de>
    Cc: Ben Skeggs <bskeggs@redhat.com>
    Cc: Mark Yao <mark.yao@rock-chips.com>
    Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
    Cc: Vincent Abriou <vincent.abriou@st.com>
    Cc: Thierry Reding <thierry.reding@gmail.com>
    Cc: Eric Anholt <eric@anholt.net>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Acked-by: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/d527b31619528c477c2c136f25cdf118bc0cfc1d.1509545641.git.jani.nikula@intel.com
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/gpu/drm/drm_edid.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
    index c6b281aa762f..6b31e0474271 100644
    --- a/drivers/gpu/drm/drm_edid.c
    +++ b/drivers/gpu/drm/drm_edid.c
    @@ -3347,8 +3347,7 @@ EXPORT_SYMBOL(drm_edid_get_monitor_name);
    * @edid: EDID to parse
    *
    * Fill the ELD (EDID-Like Data) buffer for passing to the audio driver. The
    - * Conn_Type, HDCP and Port_ID ELD fields are left for the graphics driver to
    - * fill in.
    + * HDCP and Port_ID ELD fields are left for the graphics driver to fill in.
    */
    void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
    {
    @@ -3426,6 +3425,12 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
    }
    eld[5] |= total_sad_count << 4;

    + if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
    + connector->connector_type == DRM_MODE_CONNECTOR_eDP)
    + eld[DRM_ELD_SAD_COUNT_CONN_TYPE] |= DRM_ELD_CONN_TYPE_DP;
    + else
    + eld[DRM_ELD_SAD_COUNT_CONN_TYPE] |= DRM_ELD_CONN_TYPE_HDMI;
    +
    eld[DRM_ELD_BASELINE_ELD_LEN] =
    DIV_ROUND_UP(drm_eld_calc_baseline_block_size(eld), 4);

    --
    2.14.1
    \
     
     \ /
      Last update: 2018-03-04 00:34    [W:6.061 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site