aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3018-drm-amd-display-Add-aux-tracing-log-in-dce.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3018-drm-amd-display-Add-aux-tracing-log-in-dce.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3018-drm-amd-display-Add-aux-tracing-log-in-dce.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3018-drm-amd-display-Add-aux-tracing-log-in-dce.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3018-drm-amd-display-Add-aux-tracing-log-in-dce.patch
new file mode 100644
index 00000000..3a118663
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3018-drm-amd-display-Add-aux-tracing-log-in-dce.patch
@@ -0,0 +1,57 @@
+From 687b0b628e362665779368eafd671cb585099848 Mon Sep 17 00:00:00 2001
+From: Chiawen Huang <chiawen.huang@amd.com>
+Date: Tue, 14 May 2019 16:16:11 +0800
+Subject: [PATCH 3018/4256] drm/amd/display: Add aux tracing log in dce
+
+[Why]
+dce was re-arch'd, therefore adding aux tracing log into new dce
+
+[How]
+The porting from submit_channel_request/process_channel_reply of aux_engine_dce110.c
+
+Signed-off-by: Chiawen Huang <chiawen.huang@amd.com>
+Reviewed-by: Tony Cheng <tong.cheng@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dce/dce_aux.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c b/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
+index bd33c47183fc..79a16942ce98 100644
+--- a/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_aux.c
+@@ -27,6 +27,7 @@
+ #include "core_types.h"
+ #include "dce_aux.h"
+ #include "dce/dce_11_0_sh_mask.h"
++#include "dm_event_log.h"
+
+ #define CTX \
+ aux110->base.ctx
+@@ -249,6 +250,8 @@ static void submit_channel_request(
+ }
+
+ REG_UPDATE(AUX_SW_CONTROL, AUX_SW_GO, 1);
++ EVENT_LOG_AUX_REQ(engine->ddc->pin_data->en, EVENT_LOG_AUX_ORIGIN_NATIVE,
++ request->action, request->address, request->length, request->data);
+ }
+
+ static int read_channel_reply(struct dce_aux *engine, uint32_t size,
+@@ -477,9 +480,13 @@ int dce_aux_transfer_raw(struct ddc_service *ddc,
+ *operation_result = get_channel_status(aux_engine, &returned_bytes);
+
+ if (*operation_result == AUX_CHANNEL_OPERATION_SUCCEEDED) {
+- read_channel_reply(aux_engine, payload->length,
++ int bytes_replied = 0;
++ bytes_replied = read_channel_reply(aux_engine, payload->length,
+ payload->data, payload->reply,
+ &status);
++ EVENT_LOG_AUX_REP(aux_engine->ddc->pin_data->en,
++ EVENT_LOG_AUX_ORIGIN_NATIVE, *payload->reply,
++ bytes_replied, payload->data);
+ res = returned_bytes;
+ } else {
+ res = -1;
+--
+2.17.1
+