diff options
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.patch | 57 |
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 + |