From: Wayne Lin <wayne....@amd.com>

[Why & How]
Debug msg for usb4/tbt now is a bit confusing. Adjust it for better reading.

Reviewed-by: Jerry Zuo <jerry....@amd.com>
Acked-by: Zaeem Mohamed <zaeem.moha...@amd.com>
Signed-off-by: Wayne Lin <wayne....@amd.com>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 57 +++++++++++--------
 1 file changed, 34 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 27acbe3ff57b..52fbd5ec7f8d 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -774,9 +774,9 @@ static void dmub_hpd_callback(struct amdgpu_device *adev,
                aconnector = to_amdgpu_dm_connector(connector);
                if (link && aconnector->dc_link == link) {
                        if (notify->type == DMUB_NOTIFICATION_HPD)
-                               DRM_INFO("DMUB HPD callback: link_index=%u\n", 
link_index);
-                       else if (notify->type == DMUB_NOTIFICATION_HPD_IRQ)
                                DRM_INFO("DMUB HPD IRQ callback: 
link_index=%u\n", link_index);
+                       else if (notify->type == DMUB_NOTIFICATION_HPD_IRQ)
+                               DRM_INFO("DMUB HPD RX IRQ callback: 
link_index=%u\n", link_index);
                        else
                                DRM_WARN("DMUB Unknown HPD callback type %d, 
link_index=%u\n",
                                                notify->type, link_index);
@@ -788,10 +788,13 @@ static void dmub_hpd_callback(struct amdgpu_device *adev,
        drm_connector_list_iter_end(&iter);
 
        if (hpd_aconnector) {
-               if (notify->type == DMUB_NOTIFICATION_HPD)
+               if (notify->type == DMUB_NOTIFICATION_HPD) {
+                       if (hpd_aconnector->dc_link->hpd_status == 
(notify->hpd_status == DP_HPD_PLUG))
+                               DRM_WARN("DMUB reported hpd status unchanged. 
link_index=%u\n", link_index);
                        handle_hpd_irq_helper(hpd_aconnector);
-               else if (notify->type == DMUB_NOTIFICATION_HPD_IRQ)
+               } else if (notify->type == DMUB_NOTIFICATION_HPD_IRQ) {
                        handle_hpd_rx_irq(hpd_aconnector);
+               }
        }
 }
 
@@ -860,6 +863,31 @@ static void dm_dmub_outbox1_low_irq(void *interrupt_params)
        u32 count = 0;
        struct dmub_hpd_work *dmub_hpd_wrk;
        struct dc_link *plink = NULL;
+       static const char *const event_type[] = {
+               "NO_DATA",
+               "AUX_REPLY",
+               "HPD",
+               "HPD_IRQ",
+               "SET_CONFIGC_REPLY",
+               "DPIA_NOTIFICATION",
+       };
+
+       do {
+               if (dc_dmub_srv_get_dmub_outbox0_msg(dm->dc, &entry)) {
+                       trace_amdgpu_dmub_trace_high_irq(entry.trace_code, 
entry.tick_count,
+                                                       entry.param0, 
entry.param1);
+
+                       DRM_DEBUG_DRIVER("trace_code:%u, tick_count:%u, 
param0:%u, param1:%u\n",
+                                entry.trace_code, entry.tick_count, 
entry.param0, entry.param1);
+               } else
+                       break;
+
+               count++;
+
+       } while (count <= DMUB_TRACE_MAX_READ);
+
+       if (count > DMUB_TRACE_MAX_READ)
+               DRM_DEBUG_DRIVER("Warning : count > DMUB_TRACE_MAX_READ");
 
        if (dc_enable_dmub_notifications(adev->dm.dc) &&
                irq_params->irq_src == DC_IRQ_SOURCE_DMCUB_OUTBOX) {
@@ -871,7 +899,8 @@ static void dm_dmub_outbox1_low_irq(void *interrupt_params)
                                continue;
                        }
                        if (!dm->dmub_callback[notify.type]) {
-                               DRM_DEBUG_DRIVER("DMUB notification skipped, no 
handler: type=%d\n", notify.type);
+                               DRM_WARN("DMUB notification skipped due to no 
handler: type=%s\n",
+                                       event_type[notify.type]);
                                continue;
                        }
                        if (dm->dmub_thread_offload[notify.type] == true) {
@@ -902,24 +931,6 @@ static void dm_dmub_outbox1_low_irq(void *interrupt_params)
                        }
                } while (notify.pending_notification);
        }
-
-
-       do {
-               if (dc_dmub_srv_get_dmub_outbox0_msg(dm->dc, &entry)) {
-                       trace_amdgpu_dmub_trace_high_irq(entry.trace_code, 
entry.tick_count,
-                                                       entry.param0, 
entry.param1);
-
-                       DRM_DEBUG_DRIVER("trace_code:%u, tick_count:%u, 
param0:%u, param1:%u\n",
-                                entry.trace_code, entry.tick_count, 
entry.param0, entry.param1);
-               } else
-                       break;
-
-               count++;
-
-       } while (count <= DMUB_TRACE_MAX_READ);
-
-       if (count > DMUB_TRACE_MAX_READ)
-               DRM_DEBUG_DRIVER("Warning : count > DMUB_TRACE_MAX_READ");
 }
 
 static int dm_set_clockgating_state(void *handle,
-- 
2.34.1

Reply via email to