* [PATCH] drm/dp-mst-helper: Remove hotplug callback
@ 2018-11-28 22:12 Daniel Vetter
2018-11-29 18:30 ` Lyude Paul
2018-11-29 18:36 ` Alex Deucher
0 siblings, 2 replies; 4+ messages in thread
From: Daniel Vetter @ 2018-11-28 22:12 UTC (permalink / raw)
To: Intel Graphics Development; +Cc: Daniel Vetter, DRI Development, Daniel Vetter
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@intel.com>
---
.../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)
--
2.19.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/dp-mst-helper: Remove hotplug callback
2018-11-28 22:12 [PATCH] drm/dp-mst-helper: Remove hotplug callback Daniel Vetter
@ 2018-11-29 18:30 ` Lyude Paul
2018-12-10 10:01 ` Daniel Vetter
2018-11-29 18:36 ` Alex Deucher
1 sibling, 1 reply; 4+ messages in thread
From: Lyude Paul @ 2018-11-29 18:30 UTC (permalink / raw)
To: Daniel Vetter, Intel Graphics Development; +Cc: Daniel Vetter, DRI Development
Reviewed-by: Lyude Paul <lyude@redhat.com>
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@intel.com>
> ---
> .../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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/dp-mst-helper: Remove hotplug callback
2018-11-28 22:12 [PATCH] drm/dp-mst-helper: Remove hotplug callback Daniel Vetter
2018-11-29 18:30 ` Lyude Paul
@ 2018-11-29 18:36 ` Alex Deucher
1 sibling, 0 replies; 4+ messages in thread
From: Alex Deucher @ 2018-11-29 18:36 UTC (permalink / raw)
To: Daniel Vetter
Cc: Daniel Vetter, Intel Graphics Development,
Maling list - DRI developers
On Wed, Nov 28, 2018 at 5:12 PM Daniel Vetter <daniel.vetter@ffwll.ch> 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@intel.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
> ---
> .../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)
> --
> 2.19.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] drm/dp-mst-helper: Remove hotplug callback
2018-11-29 18:30 ` Lyude Paul
@ 2018-12-10 10:01 ` Daniel Vetter
0 siblings, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2018-12-10 10:01 UTC (permalink / raw)
To: Lyude Paul
Cc: Daniel Vetter, Intel Graphics Development, DRI Development,
Daniel Vetter
On Thu, Nov 29, 2018 at 01:30:59PM -0500, Lyude Paul wrote:
> Reviewed-by: Lyude Paul <lyude@redhat.com>
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@intel.com>
> > ---
> > .../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
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-12-10 10:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-28 22:12 [PATCH] drm/dp-mst-helper: Remove hotplug callback Daniel Vetter
2018-11-29 18:30 ` Lyude Paul
2018-12-10 10:01 ` Daniel Vetter
2018-11-29 18:36 ` Alex Deucher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox