On Thu, Nov 29, 2018 at 01:30:59PM -0500, Lyude Paul wrote: > Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx> Applied, thanks for your review. -Daniel > > On Wed, 2018-11-28 at 23:12 +0100, Daniel Vetter wrote: > > When everyone implements it exactly the same way, among all 4 > > implementations, there's not really a need to overwrite this at all. > > > > Aside: drm_kms_helper_hotplug_event is pretty much core functionality > > at this point. Probably should move it there. > > > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > > --- > > .../drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 9 --------- > > drivers/gpu/drm/drm_dp_mst_topology.c | 7 ++++--- > > drivers/gpu/drm/i915/intel_dp_mst.c | 10 ---------- > > drivers/gpu/drm/nouveau/dispnv50/disp.c | 8 -------- > > drivers/gpu/drm/radeon/radeon_dp_mst.c | 9 --------- > > include/drm/drm_dp_mst_helper.h | 2 -- > > 6 files changed, 4 insertions(+), 41 deletions(-) > > > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > index d02c32a1039c..9fdeca096407 100644 > > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c > > @@ -396,14 +396,6 @@ static void dm_dp_destroy_mst_connector(struct > > drm_dp_mst_topology_mgr *mgr, > > drm_connector_put(connector); > > } > > > > -static void dm_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr) > > -{ > > - struct amdgpu_dm_connector *master = container_of(mgr, struct > > amdgpu_dm_connector, mst_mgr); > > - struct drm_device *dev = master->base.dev; > > - > > - drm_kms_helper_hotplug_event(dev); > > -} > > - > > static void dm_dp_mst_register_connector(struct drm_connector *connector) > > { > > struct drm_device *dev = connector->dev; > > @@ -420,7 +412,6 @@ static void dm_dp_mst_register_connector(struct > > drm_connector *connector) > > static const struct drm_dp_mst_topology_cbs dm_mst_cbs = { > > .add_connector = dm_dp_add_mst_connector, > > .destroy_connector = dm_dp_destroy_mst_connector, > > - .hotplug = dm_dp_mst_hotplug, > > .register_connector = dm_dp_mst_register_connector > > }; > > > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c > > b/drivers/gpu/drm/drm_dp_mst_topology.c > > index 08978ad72f33..639552918b44 100644 > > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > @@ -33,6 +33,7 @@ > > #include <drm/drm_fixed.h> > > #include <drm/drm_atomic.h> > > #include <drm/drm_atomic_helper.h> > > +#include <drm/drm_crtc_helper.h> > > > > /** > > * DOC: dp mst helper > > @@ -1650,7 +1651,7 @@ static void drm_dp_send_link_address(struct > > drm_dp_mst_topology_mgr *mgr, > > for (i = 0; i < txmsg->reply.u.link_addr.nports; i++) > > { > > drm_dp_add_port(mstb, mgr->dev, &txmsg- > > >reply.u.link_addr.ports[i]); > > } > > - (*mgr->cbs->hotplug)(mgr); > > + drm_kms_helper_hotplug_event(mgr->dev); > > } > > } else { > > mstb->link_address_sent = false; > > @@ -2423,7 +2424,7 @@ static int drm_dp_mst_handle_up_req(struct > > drm_dp_mst_topology_mgr *mgr) > > drm_dp_update_port(mstb, &msg.u.conn_stat); > > > > DRM_DEBUG_KMS("Got CSN: pn: %d ldps:%d ddps: %d mcs: > > %d ip: %d pdt: %d\n", msg.u.conn_stat.port_number, > > msg.u.conn_stat.legacy_device_plug_status, > > msg.u.conn_stat.displayport_device_plug_status, > > msg.u.conn_stat.message_capability_status, msg.u.conn_stat.input_port, > > msg.u.conn_stat.peer_device_type); > > - (*mgr->cbs->hotplug)(mgr); > > + drm_kms_helper_hotplug_event(mgr->dev); > > > > } else if (msg.req_type == DP_RESOURCE_STATUS_NOTIFY) { > > drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, > > msg.req_type, seqno, false); > > @@ -3120,7 +3121,7 @@ static void drm_dp_destroy_connector_work(struct > > work_struct *work) > > send_hotplug = true; > > } > > if (send_hotplug) > > - (*mgr->cbs->hotplug)(mgr); > > + drm_kms_helper_hotplug_event(mgr->dev); > > } > > > > static struct drm_private_state * > > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c > > b/drivers/gpu/drm/i915/intel_dp_mst.c > > index 4de247ddf05f..f05427b74e34 100644 > > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > > @@ -517,20 +517,10 @@ static void intel_dp_destroy_mst_connector(struct > > drm_dp_mst_topology_mgr *mgr, > > drm_connector_put(connector); > > } > > > > -static void intel_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr) > > -{ > > - struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, > > mst_mgr); > > - struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); > > - struct drm_device *dev = intel_dig_port->base.base.dev; > > - > > - drm_kms_helper_hotplug_event(dev); > > -} > > - > > static const struct drm_dp_mst_topology_cbs mst_cbs = { > > .add_connector = intel_dp_add_mst_connector, > > .register_connector = intel_dp_register_mst_connector, > > .destroy_connector = intel_dp_destroy_mst_connector, > > - .hotplug = intel_dp_mst_hotplug, > > }; > > > > static struct intel_dp_mst_encoder * > > diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c > > b/drivers/gpu/drm/nouveau/dispnv50/disp.c > > index 6cbbae3f438b..4a56841958c8 100644 > > --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c > > +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c > > @@ -1055,13 +1055,6 @@ nv50_mstm_prepare(struct nv50_mstm *mstm) > > } > > } > > > > -static void > > -nv50_mstm_hotplug(struct drm_dp_mst_topology_mgr *mgr) > > -{ > > - struct nv50_mstm *mstm = nv50_mstm(mgr); > > - drm_kms_helper_hotplug_event(mstm->outp->base.base.dev); > > -} > > - > > static void > > nv50_mstm_destroy_connector(struct drm_dp_mst_topology_mgr *mgr, > > struct drm_connector *connector) > > @@ -1113,7 +1106,6 @@ nv50_mstm = { > > .add_connector = nv50_mstm_add_connector, > > .register_connector = nv50_mstm_register_connector, > > .destroy_connector = nv50_mstm_destroy_connector, > > - .hotplug = nv50_mstm_hotplug, > > }; > > > > void > > diff --git a/drivers/gpu/drm/radeon/radeon_dp_mst.c > > b/drivers/gpu/drm/radeon/radeon_dp_mst.c > > index 84b3ad2172a3..a0c70e27ab65 100644 > > --- a/drivers/gpu/drm/radeon/radeon_dp_mst.c > > +++ b/drivers/gpu/drm/radeon/radeon_dp_mst.c > > @@ -320,19 +320,10 @@ static void radeon_dp_destroy_mst_connector(struct > > drm_dp_mst_topology_mgr *mgr, > > DRM_DEBUG_KMS("\n"); > > } > > > > -static void radeon_dp_mst_hotplug(struct drm_dp_mst_topology_mgr *mgr) > > -{ > > - struct radeon_connector *master = container_of(mgr, struct > > radeon_connector, mst_mgr); > > - struct drm_device *dev = master->base.dev; > > - > > - drm_kms_helper_hotplug_event(dev); > > -} > > - > > static const struct drm_dp_mst_topology_cbs mst_cbs = { > > .add_connector = radeon_dp_add_mst_connector, > > .register_connector = radeon_dp_register_mst_connector, > > .destroy_connector = radeon_dp_destroy_mst_connector, > > - .hotplug = radeon_dp_mst_hotplug, > > }; > > > > static struct > > diff --git a/include/drm/drm_dp_mst_helper.h > > b/include/drm/drm_dp_mst_helper.h > > index 59f005b419cf..371cc2816477 100644 > > --- a/include/drm/drm_dp_mst_helper.h > > +++ b/include/drm/drm_dp_mst_helper.h > > @@ -387,8 +387,6 @@ struct drm_dp_mst_topology_cbs { > > void (*register_connector)(struct drm_connector *connector); > > void (*destroy_connector)(struct drm_dp_mst_topology_mgr *mgr, > > struct drm_connector *connector); > > - void (*hotplug)(struct drm_dp_mst_topology_mgr *mgr); > > - > > }; > > > > #define DP_MAX_PAYLOAD (sizeof(unsigned long) * 8) > -- > Cheers, > Lyude Paul > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel