drm/amd/display: Enable DPIA trace with DC debug mask
authorStylon Wang <stylon.wang@amd.com>
Fri, 30 Jun 2023 08:46:09 +0000 (16:46 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Aug 2023 21:14:08 +0000 (17:14 -0400)
[Why]
DPIA traces from DMUB is not enabled by default, which is
less convenient to debug DPIA related issues because we have
to resort to other means to enable DPIA trace.

[How]
Reuse existing DC debug mask to enable DPIA trace log from
kernel command line. This makes debugging DPIA issues easier
especially when system power state (suspend/reboot) is involved.

To turn on DPIA trace, simply add "amdgpu.dcdebugmask=0x80" to
kernel command line.

Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Stylon Wang <stylon.wang@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index e3d3af0435ce48ddfe3feb6b760d0ab9382896fa..ae83275b6d5fc9e640e7b99a19042f33cce92cd9 100644 (file)
@@ -1822,9 +1822,14 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
         * It is expected that DMUB will resend any pending notifications at this point, for
         * example HPD from DPIA.
         */
-       if (dc_is_dmub_outbox_supported(adev->dm.dc))
+       if (dc_is_dmub_outbox_supported(adev->dm.dc)) {
                dc_enable_dmub_outbox(adev->dm.dc);
 
+               /* DPIA trace goes to dmesg logs only if outbox is enabled */
+               if (amdgpu_dc_debug_mask & DC_ENABLE_DPIA_TRACE)
+                       dc_dmub_srv_enable_dpia_trace(adev->dm.dc);
+       }
+
        if (amdgpu_dm_initialize_drm_device(adev)) {
                DRM_ERROR(
                "amdgpu: failed to initialize sw for display support.\n");