From 1d263146823e2196a5dbac30e053bd6c95cd0b65 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 16 Sep 2015 10:37:28 +1000 Subject: [PATCH] drm/dp_mst: don't send hotplug if input ports change. I suspect we might need to rethink when we send hotplug callback but this at least stops us from sending them when we defintely don't need to. DP input port state changes aren't necessary to report. Signed-off-by: Dave Airlie --- drivers/gpu/drm/drm_dp_mst_topology.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index e23df5f..cfb0b96 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -863,7 +863,8 @@ static void drm_dp_destroy_port(struct kref *kref) { struct drm_dp_mst_port *port = container_of(kref, struct drm_dp_mst_port, kref); struct drm_dp_mst_topology_mgr *mgr = port->mgr; - if (!port->input) { + bool is_input = port->input; + if (!is_input) { port->vcpi.num_slots = 0; kfree(port->cached_edid); @@ -885,7 +886,10 @@ static void drm_dp_destroy_port(struct kref *kref) } kfree(port); - (*mgr->cbs->hotplug)(mgr); + /* we should only cause a hotplug if an output port changes + * input ports shouldn't. */ + if (!is_input) + (*mgr->cbs->hotplug)(mgr); } static void drm_dp_put_port(struct drm_dp_mst_port *port) -- 2.4.3