| From 4da5caa6a6f82cda3193bca855235b87debf78bd Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> |
| Date: Wed, 26 Oct 2016 12:05:55 +0300 |
| Subject: drm/dp/mst: Check peer device type before attempting EDID read |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| |
| commit 4da5caa6a6f82cda3193bca855235b87debf78bd upstream. |
| |
| Only certain types of pdts have the DDC bus registered, so check for |
| that before we attempt the EDID read. Othwewise we risk playing around |
| with an i2c adapter that doesn't actually exist. |
| |
| Cc: Carlos Santa <carlos.santa@intel.com> |
| Cc: Kirill A. Shutemov <kirill@shutemov.name> |
| Tested-by: Carlos Santa <carlos.santa@intel.com> |
| Tested-by: Kirill A. Shutemov <kirill@shutemov.name> |
| Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97666 |
| Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Link: http://patchwork.freedesktop.org/patch/msgid/1477472755-15288-5-git-send-email-ville.syrjala@linux.intel.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/drm_dp_mst_topology.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/gpu/drm/drm_dp_mst_topology.c |
| +++ b/drivers/gpu/drm/drm_dp_mst_topology.c |
| @@ -1160,7 +1160,9 @@ static void drm_dp_add_port(struct drm_d |
| drm_dp_put_port(port); |
| goto out; |
| } |
| - if (port->port_num >= DP_MST_LOGICAL_PORT_0) { |
| + if ((port->pdt == DP_PEER_DEVICE_DP_LEGACY_CONV || |
| + port->pdt == DP_PEER_DEVICE_SST_SINK) && |
| + port->port_num >= DP_MST_LOGICAL_PORT_0) { |
| port->cached_edid = drm_get_edid(port->connector, &port->aux.ddc); |
| drm_mode_connector_set_tile_property(port->connector); |
| } |