* [PATCH 1/3] Revert "drm/amd/display: Add flag to detect dpms force off during HPD"
2022-05-10 9:56 [PATCH 0/3] Fix issues when unplung monitor under mst scenario Wayne Lin
@ 2022-05-10 9:56 ` Wayne Lin
2022-05-10 9:57 ` [PATCH 2/3] Revert "drm/amd/display: turn DPMS off on connector unplug" Wayne Lin
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Wayne Lin @ 2022-05-10 9:56 UTC (permalink / raw)
To: amd-gfx
Cc: Rodrigo.Siqueira, jerry.zuo, Aurabindo.Pillai, Wayne Lin, Harry.Wentland
This reverts commit 035f54969bb2c1a5ced52f43e4ef393e0c0f6bfa.
[Why & How]
The reverted commit was trying to fix side effect brought by commit:
"3c4d55c9b9be drm/amd/display: turn DPMS off on connector unplug"
However,
* This reverted commit will have mst case never call dm_set_dpms_off()
which conflicts the idea of original commit:
commit 3c4d55c9b9be ("drm/amd/display: turn DPMS off on connector
unplug") That's due to dm_crtc_state is always null since the input
parameter aconnector is the root device (source) of mst topology.
It's not an end stream sink within the mst topology.
* Setting dpms off should be triggered by usermode. Besdies, it seems
usermode does release relevant resource for mst & non-mst case
when unplug connecotr now. Which means we no longer need both
commits now:
- commit 3c4d55c9b9be ("drm/amd/display: turn DPMS off on connector
unplug")
- commit 035f54969bb2 ("drm/amd/display: Add flag to detect dpms
force off during HPD")
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
---
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 19 ++++++-------------
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 --
.../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 16 ++++------------
3 files changed, 10 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 00ebda0bea44..01a36c550778 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2575,7 +2575,7 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
return;
}
-static void dm_set_dpms_off(struct dc_link *link, struct dm_crtc_state *acrtc_state)
+static void dm_set_dpms_off(struct dc_link *link)
{
struct dc_stream_state *stream_state;
struct amdgpu_dm_connector *aconnector = link->priv;
@@ -2596,7 +2596,6 @@ static void dm_set_dpms_off(struct dc_link *link, struct dm_crtc_state *acrtc_st
}
stream_update.stream = stream_state;
- acrtc_state->force_dpms_off = true;
dc_commit_updates_for_stream(stream_state->ctx->dc, NULL, 0,
stream_state, &stream_update,
stream_state->ctx->dc->current_state);
@@ -3053,16 +3052,13 @@ static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
struct drm_device *dev = connector->dev;
enum dc_connection_type new_connection_type = dc_connection_none;
struct amdgpu_device *adev = drm_to_adev(dev);
+#ifdef CONFIG_DRM_AMD_DC_HDCP
struct dm_connector_state *dm_con_state = to_dm_connector_state(connector->state);
- struct dm_crtc_state *dm_crtc_state = NULL;
+#endif
if (adev->dm.disable_hpd_irq)
return;
- if (dm_con_state->base.state && dm_con_state->base.crtc)
- dm_crtc_state = to_dm_crtc_state(drm_atomic_get_crtc_state(
- dm_con_state->base.state,
- dm_con_state->base.crtc));
/*
* In case of failure or MST no need to update connector status or notify the OS
* since (for MST case) MST does this in its own context.
@@ -3093,9 +3089,8 @@ static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
} else if (dc_link_detect(aconnector->dc_link, DETECT_REASON_HPD)) {
if (new_connection_type == dc_connection_none &&
- aconnector->dc_link->type == dc_connection_none &&
- dm_crtc_state)
- dm_set_dpms_off(aconnector->dc_link, dm_crtc_state);
+ aconnector->dc_link->type == dc_connection_none)
+ dm_set_dpms_off(aconnector->dc_link);
amdgpu_dm_update_connector_after_detect(aconnector);
@@ -6609,7 +6604,6 @@ dm_crtc_duplicate_state(struct drm_crtc *crtc)
state->freesync_config = cur->freesync_config;
state->cm_has_degamma = cur->cm_has_degamma;
state->cm_is_degamma_srgb = cur->cm_is_degamma_srgb;
- state->force_dpms_off = cur->force_dpms_off;
/* TODO Duplicate dc_stream after objects are stream object is flattened */
return &state->base;
@@ -9340,8 +9334,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
* and rely on sending it from software.
*/
if (acrtc_attach->base.state->event &&
- acrtc_state->active_planes > 0 &&
- !acrtc_state->force_dpms_off) {
+ acrtc_state->active_planes > 0) {
drm_crtc_vblank_get(pcrtc);
spin_lock_irqsave(&pcrtc->dev->event_lock, flags);
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
index 321279bc877b..38b0dbcb8aab 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
@@ -645,8 +645,6 @@ struct dm_crtc_state {
bool dsc_force_changed;
bool vrr_supported;
-
- bool force_dpms_off;
struct mod_freesync_config freesync_config;
struct dc_info_packet vrr_infopacket;
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
index bf0d50277f8f..d1af5d580e4e 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_hdcp.c
@@ -448,8 +448,6 @@ static void update_config(void *handle, struct cp_psp_stream_config *config)
struct mod_hdcp_display *display = &hdcp_work[link_index].display;
struct mod_hdcp_link *link = &hdcp_work[link_index].link;
struct drm_connector_state *conn_state;
- struct dc_sink *sink = NULL;
- bool link_is_hdcp14 = false;
if (config->dpms_off) {
hdcp_remove_display(hdcp_work, link_index, aconnector);
@@ -462,13 +460,8 @@ static void update_config(void *handle, struct cp_psp_stream_config *config)
display->index = aconnector->base.index;
display->state = MOD_HDCP_DISPLAY_ACTIVE;
- if (aconnector->dc_sink)
- sink = aconnector->dc_sink;
- else if (aconnector->dc_em_sink)
- sink = aconnector->dc_em_sink;
-
- if (sink != NULL)
- link->mode = mod_hdcp_signal_type_to_operation_mode(sink->sink_signal);
+ if (aconnector->dc_sink != NULL)
+ link->mode = mod_hdcp_signal_type_to_operation_mode(aconnector->dc_sink->sink_signal);
display->controller = CONTROLLER_ID_D0 + config->otg_inst;
display->dig_fe = config->dig_fe;
@@ -477,9 +470,8 @@ static void update_config(void *handle, struct cp_psp_stream_config *config)
display->stream_enc_idx = config->stream_enc_idx;
link->link_enc_idx = config->link_enc_idx;
link->phy_idx = config->phy_idx;
- if (sink)
- link_is_hdcp14 = dc_link_is_hdcp14(aconnector->dc_link, sink->sink_signal);
- link->hdcp_supported_informational = link_is_hdcp14;
+ link->hdcp_supported_informational = dc_link_is_hdcp14(aconnector->dc_link,
+ aconnector->dc_sink->sink_signal) ? 1 : 0;
link->dp.rev = aconnector->dc_link->dpcd_caps.dpcd_rev.raw;
link->dp.assr_enabled = config->assr_enabled;
link->dp.mst_enabled = config->mst_enabled;
--
2.36.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] Revert "drm/amd/display: turn DPMS off on connector unplug"
2022-05-10 9:56 [PATCH 0/3] Fix issues when unplung monitor under mst scenario Wayne Lin
2022-05-10 9:56 ` [PATCH 1/3] Revert "drm/amd/display: Add flag to detect dpms force off during HPD" Wayne Lin
@ 2022-05-10 9:57 ` Wayne Lin
2022-05-10 9:57 ` [PATCH 3/3] drm/amd/display: Release remote dc_sink under mst scenario Wayne Lin
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Wayne Lin @ 2022-05-10 9:57 UTC (permalink / raw)
To: amd-gfx
Cc: Rodrigo.Siqueira, jerry.zuo, Aurabindo.Pillai, Wayne Lin, Harry.Wentland
This reverts commit 3c4d55c9b9becedd8d31a7c96783a364533713ab.
[Why and How]
Revert the commit because:
- It's incomplete of the function dm_set_dpms_off() for mst case.
For stream sinks whithin the same mst topology, they share the
same dc_link. dm_set_dpms_off() tries to update one mst stream
only which is incomplete.
- Setting dpms off should be triggered by usermode. Besdies, it seems
usermode does release relevant resource for mst & non-mst case
when unplug connecotr now.
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
---
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 31 -------------------
drivers/gpu/drm/amd/display/dc/core/dc.c | 13 --------
drivers/gpu/drm/amd/display/dc/dc_stream.h | 1 -
3 files changed, 45 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 01a36c550778..d81b9ef11dba 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2575,33 +2575,6 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
return;
}
-static void dm_set_dpms_off(struct dc_link *link)
-{
- struct dc_stream_state *stream_state;
- struct amdgpu_dm_connector *aconnector = link->priv;
- struct amdgpu_device *adev = drm_to_adev(aconnector->base.dev);
- struct dc_stream_update stream_update;
- bool dpms_off = true;
-
- memset(&stream_update, 0, sizeof(stream_update));
- stream_update.dpms_off = &dpms_off;
-
- mutex_lock(&adev->dm.dc_lock);
- stream_state = dc_stream_find_from_link(link);
-
- if (stream_state == NULL) {
- DRM_DEBUG_DRIVER("Error finding stream state associated with link!\n");
- mutex_unlock(&adev->dm.dc_lock);
- return;
- }
-
- stream_update.stream = stream_state;
- dc_commit_updates_for_stream(stream_state->ctx->dc, NULL, 0,
- stream_state, &stream_update,
- stream_state->ctx->dc->current_state);
- mutex_unlock(&adev->dm.dc_lock);
-}
-
static int dm_resume(void *handle)
{
struct amdgpu_device *adev = handle;
@@ -3088,10 +3061,6 @@ static void handle_hpd_irq_helper(struct amdgpu_dm_connector *aconnector)
drm_kms_helper_connector_hotplug_event(connector);
} else if (dc_link_detect(aconnector->dc_link, DETECT_REASON_HPD)) {
- if (new_connection_type == dc_connection_none &&
- aconnector->dc_link->type == dc_connection_none)
- dm_set_dpms_off(aconnector->dc_link);
-
amdgpu_dm_update_connector_after_detect(aconnector);
drm_modeset_lock_all(dev);
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index c2fcd67bcc4d..cc2910d251d2 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -3260,19 +3260,6 @@ struct dc_stream_state *dc_get_stream_at_index(struct dc *dc, uint8_t i)
return NULL;
}
-struct dc_stream_state *dc_stream_find_from_link(const struct dc_link *link)
-{
- uint8_t i;
- struct dc_context *ctx = link->ctx;
-
- for (i = 0; i < ctx->dc->current_state->stream_count; i++) {
- if (ctx->dc->current_state->streams[i]->link == link)
- return ctx->dc->current_state->streams[i];
- }
-
- return NULL;
-}
-
enum dc_irq_source dc_interrupt_to_irq_source(
struct dc *dc,
uint32_t src_id,
diff --git a/drivers/gpu/drm/amd/display/dc/dc_stream.h b/drivers/gpu/drm/amd/display/dc/dc_stream.h
index 58941f4defb3..fecdbc75b47b 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_stream.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_stream.h
@@ -323,7 +323,6 @@ void dc_stream_log(const struct dc *dc, const struct dc_stream_state *stream);
uint8_t dc_get_current_stream_count(struct dc *dc);
struct dc_stream_state *dc_get_stream_at_index(struct dc *dc, uint8_t i);
-struct dc_stream_state *dc_stream_find_from_link(const struct dc_link *link);
/*
* Return the current frame counter.
--
2.36.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] drm/amd/display: Release remote dc_sink under mst scenario
2022-05-10 9:56 [PATCH 0/3] Fix issues when unplung monitor under mst scenario Wayne Lin
2022-05-10 9:56 ` [PATCH 1/3] Revert "drm/amd/display: Add flag to detect dpms force off during HPD" Wayne Lin
2022-05-10 9:57 ` [PATCH 2/3] Revert "drm/amd/display: turn DPMS off on connector unplug" Wayne Lin
@ 2022-05-10 9:57 ` Wayne Lin
2022-05-17 21:49 ` [PATCH 0/3] Fix issues when unplung monitor " Lyude Paul
2022-05-31 19:38 ` Lyude Paul
4 siblings, 0 replies; 7+ messages in thread
From: Wayne Lin @ 2022-05-10 9:57 UTC (permalink / raw)
To: amd-gfx
Cc: Rodrigo.Siqueira, jerry.zuo, Aurabindo.Pillai, Wayne Lin, Harry.Wentland
[Why]
Observe that we have several problems while releasing remote dc_sink
under mst cases.
- When unplug mst branch device from the source, we now try to free all
remote dc_sinks in dm_helpers_dp_mst_stop_top_mgr(). However, there are
bugs while we're releasing dc_sinks here. First of all,
link->remote_sinks[] array get shuffled within
dc_link_remove_remote_sink(). As the result, increasing the array index
within the releasing loop is wrong. Secondly, it tries to call
dc_sink_release() to release the dc_sink of the same aconnector every
time in the loop. Which can't release dc_sink of all aconnector in the
mst topology.
- There is no code path for us to release remote dc_sink for disconnected
sst monitor which unplug event is notified by CSN sideband message. Which
means we'll use stale dc_sink data to represent later on connected
monitor. Also, has chance to break the maximum remote dc_sink number
constraint.
[How]
Distinguish unplug event of mst scenario into 2 cases.
* Unplug sst/legacy stream sink off the mst topology
- Release related remote dc_sink in detec_ctx().
* Unplug mst branch device off the mst topology
- Release related remote dc_sink in early_unregister()
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
---
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 5 ++-
.../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 18 +--------
.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 39 +++++++++++++++++--
3 files changed, 39 insertions(+), 23 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index d81b9ef11dba..f53f8962e6da 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -2191,7 +2191,8 @@ static void s3_handle_mst(struct drm_device *dev, bool suspend)
} else {
ret = drm_dp_mst_topology_mgr_resume(mgr, true);
if (ret < 0) {
- drm_dp_mst_topology_mgr_set_mst(mgr, false);
+ dm_helpers_dp_mst_stop_top_mgr(aconnector->dc_link->ctx,
+ aconnector->dc_link);
need_hotplug = true;
}
}
@@ -10359,7 +10360,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
* added MST connectors not found in existing crtc_state in the chained mode
* TODO: need to dig out the root cause of that
*/
- if (!aconnector || (!aconnector->dc_sink && aconnector->mst_port))
+ if (!aconnector)
goto skip_modeset;
if (modereset_required(new_crtc_state))
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index 28cf24f6ab32..e4fb19a68ccd 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -451,7 +451,6 @@ bool dm_helpers_dp_mst_stop_top_mgr(
struct dc_link *link)
{
struct amdgpu_dm_connector *aconnector = link->priv;
- uint8_t i;
if (!aconnector) {
DRM_ERROR("Failed to find connector for link!");
@@ -463,22 +462,7 @@ bool dm_helpers_dp_mst_stop_top_mgr(
if (aconnector->mst_mgr.mst_state == true) {
drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, false);
-
- for (i = 0; i < MAX_SINKS_PER_LINK; i++) {
- if (link->remote_sinks[i] == NULL)
- continue;
-
- if (link->remote_sinks[i]->sink_signal ==
- SIGNAL_TYPE_DISPLAY_PORT_MST) {
- dc_link_remove_remote_sink(link, link->remote_sinks[i]);
-
- if (aconnector->dc_sink) {
- dc_sink_release(aconnector->dc_sink);
- aconnector->dc_sink = NULL;
- aconnector->dc_link->cur_link_settings.lane_count = 0;
- }
- }
- }
+ link->cur_link_settings.lane_count = 0;
}
return false;
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 0542034530b1..e0531a569a14 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
@@ -142,11 +142,28 @@ amdgpu_dm_mst_connector_late_register(struct drm_connector *connector)
static void
amdgpu_dm_mst_connector_early_unregister(struct drm_connector *connector)
{
- struct amdgpu_dm_connector *amdgpu_dm_connector =
+ struct amdgpu_dm_connector *aconnector =
to_amdgpu_dm_connector(connector);
- struct drm_dp_mst_port *port = amdgpu_dm_connector->port;
+ struct drm_dp_mst_port *port = aconnector->port;
+ struct amdgpu_dm_connector *root = aconnector->mst_port;
+ struct dc_link *dc_link = aconnector->dc_link;
+ struct dc_sink *dc_sink = aconnector->dc_sink;
drm_dp_mst_connector_early_unregister(connector, port);
+
+ /*
+ * Release dc_sink for connector which its attached port is
+ * no longer in the mst topology
+ */
+ drm_modeset_lock(&root->mst_mgr.base.lock, NULL);
+ if (dc_sink) {
+ if (dc_link->sink_count)
+ dc_link_remove_remote_sink(dc_link, dc_sink);
+
+ dc_sink_release(dc_sink);
+ aconnector->dc_sink = NULL;
+ }
+ drm_modeset_unlock(&root->mst_mgr.base.lock);
}
static const struct drm_connector_funcs dm_dp_mst_connector_funcs = {
@@ -346,12 +363,26 @@ dm_dp_mst_detect(struct drm_connector *connector,
{
struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
struct amdgpu_dm_connector *master = aconnector->mst_port;
+ int connection_status;
if (drm_connector_is_unregistered(connector))
return connector_status_disconnected;
- return drm_dp_mst_detect_port(connector, ctx, &master->mst_mgr,
- aconnector->port);
+ connection_status = drm_dp_mst_detect_port(connector, ctx, &master->mst_mgr,
+ aconnector->port);
+
+ /*
+ * Release dc_sink for connector which unplug event is notified by CSN msg
+ */
+ if (connection_status == connector_status_disconnected && aconnector->dc_sink) {
+ if (aconnector->dc_link->sink_count)
+ dc_link_remove_remote_sink(aconnector->dc_link, aconnector->dc_sink);
+
+ dc_sink_release(aconnector->dc_sink);
+ aconnector->dc_sink = NULL;
+ }
+
+ return connection_status;
}
static int dm_dp_mst_atomic_check(struct drm_connector *connector,
--
2.36.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] Fix issues when unplung monitor under mst scenario
2022-05-10 9:56 [PATCH 0/3] Fix issues when unplung monitor under mst scenario Wayne Lin
` (2 preceding siblings ...)
2022-05-10 9:57 ` [PATCH 3/3] drm/amd/display: Release remote dc_sink under mst scenario Wayne Lin
@ 2022-05-17 21:49 ` Lyude Paul
2022-05-31 19:38 ` Lyude Paul
4 siblings, 0 replies; 7+ messages in thread
From: Lyude Paul @ 2022-05-17 21:49 UTC (permalink / raw)
To: Wayne Lin, amd-gfx
Cc: Rodrigo.Siqueira, jerry.zuo, Aurabindo.Pillai, Harry.Wentland
I will try to take a look at this during this week btw
On Tue, 2022-05-10 at 17:56 +0800, Wayne Lin wrote:
> This patch set is trying to resolve issues observed when unplug monitors
> under mst scenario. Revert few commits which cause side effects and seems
> no longer needed. And propose a patch to address the issue discussed
> within the thread:
> https://www.mail-archive.com/dri-devel@lists.freedesktop.org/msg396300.html
>
> ---
>
> Wayne Lin (3):
> Revert "drm/amd/display: Add flag to detect dpms force off during HPD"
> Revert "drm/amd/display: turn DPMS off on connector unplug"
> drm/amd/display: Release remote dc_sink under mst scenario
>
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 49 +++----------------
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 -
> .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 16 ++----
> .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 18 +------
> .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 39 +++++++++++++--
> drivers/gpu/drm/amd/display/dc/core/dc.c | 13 -----
> drivers/gpu/drm/amd/display/dc/dc_stream.h | 1 -
> 7 files changed, 46 insertions(+), 92 deletions(-)
>
--
Cheers,
Lyude Paul (she/her)
Software Engineer at Red Hat
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] Fix issues when unplung monitor under mst scenario
2022-05-10 9:56 [PATCH 0/3] Fix issues when unplung monitor under mst scenario Wayne Lin
` (3 preceding siblings ...)
2022-05-17 21:49 ` [PATCH 0/3] Fix issues when unplung monitor " Lyude Paul
@ 2022-05-31 19:38 ` Lyude Paul
2022-06-01 6:05 ` Lin, Wayne
4 siblings, 1 reply; 7+ messages in thread
From: Lyude Paul @ 2022-05-31 19:38 UTC (permalink / raw)
To: Wayne Lin, amd-gfx
Cc: Rodrigo.Siqueira, jerry.zuo, Aurabindo.Pillai, Harry.Wentland
For the whole series:
Acked-by: Lyude Paul <lyude@redhat.com>
This looks a lot better for sure :)
On Tue, 2022-05-10 at 17:56 +0800, Wayne Lin wrote:
> This patch set is trying to resolve issues observed when unplug monitors
> under mst scenario. Revert few commits which cause side effects and seems
> no longer needed. And propose a patch to address the issue discussed
> within the thread:
> https://www.mail-archive.com/dri-devel@lists.freedesktop.org/msg396300.html
>
> ---
>
> Wayne Lin (3):
> Revert "drm/amd/display: Add flag to detect dpms force off during HPD"
> Revert "drm/amd/display: turn DPMS off on connector unplug"
> drm/amd/display: Release remote dc_sink under mst scenario
>
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 49 +++----------------
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 -
> .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 16 ++----
> .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 18 +------
> .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 39 +++++++++++++--
> drivers/gpu/drm/amd/display/dc/core/dc.c | 13 -----
> drivers/gpu/drm/amd/display/dc/dc_stream.h | 1 -
> 7 files changed, 46 insertions(+), 92 deletions(-)
>
--
Cheers,
Lyude Paul (she/her)
Software Engineer at Red Hat
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 0/3] Fix issues when unplung monitor under mst scenario
2022-05-31 19:38 ` Lyude Paul
@ 2022-06-01 6:05 ` Lin, Wayne
0 siblings, 0 replies; 7+ messages in thread
From: Lin, Wayne @ 2022-06-01 6:05 UTC (permalink / raw)
To: Lyude Paul, amd-gfx
Cc: Siqueira, Rodrigo, Zuo, Jerry, Pillai, Aurabindo, Wentland, Harry
[AMD Official Use Only - General]
Thanks for your time, Lyude : )
Regards,
Wayne
> -----Original Message-----
> From: Lyude Paul <lyude@redhat.com>
> Sent: Wednesday, June 1, 2022 3:38 AM
> To: Lin, Wayne <Wayne.Lin@amd.com>; amd-gfx@lists.freedesktop.org
> Cc: Wentland, Harry <Harry.Wentland@amd.com>; Pillai, Aurabindo
> <Aurabindo.Pillai@amd.com>; Zuo, Jerry <Jerry.Zuo@amd.com>; Siqueira,
> Rodrigo <Rodrigo.Siqueira@amd.com>
> Subject: Re: [PATCH 0/3] Fix issues when unplung monitor under mst
> scenario
>
> For the whole series:
>
> Acked-by: Lyude Paul <lyude@redhat.com>
>
> This looks a lot better for sure :)
>
> On Tue, 2022-05-10 at 17:56 +0800, Wayne Lin wrote:
> > This patch set is trying to resolve issues observed when unplug
> > monitors under mst scenario. Revert few commits which cause side
> > effects and seems no longer needed. And propose a patch to address the
> > issue discussed within the thread:
> >
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fww
> w.
> > mail-archive.com%2Fdri-
> devel%40lists.freedesktop.org%2Fmsg396300.html&
> >
> amp;data=05%7C01%7Cwayne.lin%40amd.com%7Ce9f99928cc0a4d2fd1cc08d
> a433d1
> >
> ce2%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C63789622700307
> 6525%7C
> >
> Unknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB
> TiI6Ik1h
> >
> aWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=E75eUgMj3%2Fek
> MsLUjpzBCfU
> > Y45twQE5w44%2B2KyxzT6c%3D&reserved=0
> >
> > ---
> >
> > Wayne Lin (3):
> > Revert "drm/amd/display: Add flag to detect dpms force off during HPD"
> > Revert "drm/amd/display: turn DPMS off on connector unplug"
> > drm/amd/display: Release remote dc_sink under mst scenario
> >
> > .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 49
> > +++----------------
> > .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 -
> > .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 16 ++----
> > .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 18 +------
> > .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 39 +++++++++++++-
> -
> > drivers/gpu/drm/amd/display/dc/core/dc.c | 13 -----
> > drivers/gpu/drm/amd/display/dc/dc_stream.h | 1 -
> > 7 files changed, 46 insertions(+), 92 deletions(-)
> >
>
> --
> Cheers,
> Lyude Paul (she/her)
> Software Engineer at Red Hat
^ permalink raw reply [flat|nested] 7+ messages in thread