2020-03-31 21:23:19

by Lyude Paul

[permalink] [raw]
Subject: [PATCH 0/2] drm/amdgpu: Remove duplicated DPCD logging

There's a bunch of messy DPCD tracing code in amdgpu that isn't needed
since we already support this in DRM. Plus, it's really spammy. So, just
get rid of it.

Lyude Paul (2):
drm/amd/amdgpu_dm/mst: Remove useless sideband tracing
drm/amd/dc: Kill dc_conn_log_hex_linux()

.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 43 -------------------
.../gpu/drm/amd/display/dc/basics/Makefile | 3 +-
.../drm/amd/display/dc/basics/log_helpers.c | 39 -----------------
.../amd/display/include/logger_interface.h | 4 --
4 files changed, 1 insertion(+), 88 deletions(-)
delete mode 100644 drivers/gpu/drm/amd/display/dc/basics/log_helpers.c

--
2.25.1


2020-03-31 21:23:37

by Lyude Paul

[permalink] [raw]
Subject: [PATCH 1/2] drm/amd/amdgpu_dm/mst: Remove useless sideband tracing

We already trace DPCD reads/writes on both MST and SST, there's no
reason to have this code here (plus, toggling these things with a
define at the top of the file isn't how we do things in the kernel).

Signed-off-by: Lyude Paul <[email protected]>
---
.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 43 -------------------
1 file changed, 43 deletions(-)

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 e8208df420d9..7f2293016446 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
@@ -41,53 +41,10 @@
#include "amdgpu_dm_debugfs.h"
#endif

-
#if defined(CONFIG_DRM_AMD_DC_DCN)
#include "dc/dcn20/dcn20_resource.h"
#endif

-/* #define TRACE_DPCD */
-
-#ifdef TRACE_DPCD
-#define SIDE_BAND_MSG(address) (address >= DP_SIDEBAND_MSG_DOWN_REQ_BASE && address < DP_SINK_COUNT_ESI)
-
-static inline char *side_band_msg_type_to_str(uint32_t address)
-{
- static char str[10] = {0};
-
- if (address < DP_SIDEBAND_MSG_UP_REP_BASE)
- strcpy(str, "DOWN_REQ");
- else if (address < DP_SIDEBAND_MSG_DOWN_REP_BASE)
- strcpy(str, "UP_REP");
- else if (address < DP_SIDEBAND_MSG_UP_REQ_BASE)
- strcpy(str, "DOWN_REP");
- else
- strcpy(str, "UP_REQ");
-
- return str;
-}
-
-static void log_dpcd(uint8_t type,
- uint32_t address,
- uint8_t *data,
- uint32_t size,
- bool res)
-{
- DRM_DEBUG_KMS("Op: %s, addr: %04x, SideBand Msg: %s, Op res: %s\n",
- (type == DP_AUX_NATIVE_READ) ||
- (type == DP_AUX_I2C_READ) ?
- "Read" : "Write",
- address,
- SIDE_BAND_MSG(address) ?
- side_band_msg_type_to_str(address) : "Nop",
- res ? "OK" : "Fail");
-
- if (res) {
- print_hex_dump(KERN_INFO, "Body: ", DUMP_PREFIX_NONE, 16, 1, data, size, false);
- }
-}
-#endif
-
static ssize_t dm_dp_aux_transfer(struct drm_dp_aux *aux,
struct drm_dp_aux_msg *msg)
{
--
2.25.1

2020-03-31 21:24:21

by Lyude Paul

[permalink] [raw]
Subject: [PATCH 2/2] drm/amd/dc: Kill dc_conn_log_hex_linux()

DRM already supports tracing DPCD transactions, there's no reason for
the existence of this function. Also, it prints one byte per-line which
is way too loud. So, just remove it.

Signed-off-by: Lyude Paul <[email protected]>
---
.../gpu/drm/amd/display/dc/basics/Makefile | 3 +-
.../drm/amd/display/dc/basics/log_helpers.c | 39 -------------------
.../amd/display/include/logger_interface.h | 4 --
3 files changed, 1 insertion(+), 45 deletions(-)
delete mode 100644 drivers/gpu/drm/amd/display/dc/basics/log_helpers.c

diff --git a/drivers/gpu/drm/amd/display/dc/basics/Makefile b/drivers/gpu/drm/amd/display/dc/basics/Makefile
index 7ad0cad0f4ef..01b99e0d788e 100644
--- a/drivers/gpu/drm/amd/display/dc/basics/Makefile
+++ b/drivers/gpu/drm/amd/display/dc/basics/Makefile
@@ -24,8 +24,7 @@
# It provides the general basic services required by other DAL
# subcomponents.

-BASICS = conversion.o fixpt31_32.o \
- log_helpers.o vector.o dc_common.o
+BASICS = conversion.o fixpt31_32.o vector.o dc_common.o

AMD_DAL_BASICS = $(addprefix $(AMDDALPATH)/dc/basics/,$(BASICS))

diff --git a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c b/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
deleted file mode 100644
index 26583f346c39..000000000000
--- a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012-16 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors: AMD
- *
- */
-
-#include "core_types.h"
-#include "logger.h"
-#include "include/logger_interface.h"
-#include "dm_helpers.h"
-
-void dc_conn_log_hex_linux(const uint8_t *hex_data, int hex_data_count)
-{
- int i;
-
- if (hex_data)
- for (i = 0; i < hex_data_count; i++)
- DC_LOG_DEBUG("%2.2X ", hex_data[i]);
-}
-
diff --git a/drivers/gpu/drm/amd/display/include/logger_interface.h b/drivers/gpu/drm/amd/display/include/logger_interface.h
index 6e008de25629..02c23b04d34b 100644
--- a/drivers/gpu/drm/amd/display/include/logger_interface.h
+++ b/drivers/gpu/drm/amd/display/include/logger_interface.h
@@ -40,8 +40,6 @@ struct dc_state;
*
*/

-void dc_conn_log_hex_linux(const uint8_t *hex_data, int hex_data_count);
-
void pre_surface_trace(
struct dc *dc,
const struct dc_plane_state *const *plane_states,
@@ -102,14 +100,12 @@ void context_clock_trace(
#define CONN_DATA_DETECT(link, hex_data, hex_len, ...) \
do { \
(void)(link); \
- dc_conn_log_hex_linux(hex_data, hex_len); \
DC_LOG_EVENT_DETECTION(__VA_ARGS__); \
} while (0)

#define CONN_DATA_LINK_LOSS(link, hex_data, hex_len, ...) \
do { \
(void)(link); \
- dc_conn_log_hex_linux(hex_data, hex_len); \
DC_LOG_EVENT_LINK_LOSS(__VA_ARGS__); \
} while (0)

--
2.25.1

2020-04-01 13:01:17

by Kazlauskas, Nicholas

[permalink] [raw]
Subject: Re: [PATCH 2/2] drm/amd/dc: Kill dc_conn_log_hex_linux()

On 2020-03-31 5:22 p.m., Lyude Paul wrote:
> DRM already supports tracing DPCD transactions, there's no reason for
> the existence of this function. Also, it prints one byte per-line which
> is way too loud. So, just remove it.
>
> Signed-off-by: Lyude Paul <[email protected]>

Thanks for helping clean this up!

Series is:

Reviewed-by: Nicholas Kazlauskas <[email protected]>

Regards,
Nicholas Kazlauskas

> ---
> .../gpu/drm/amd/display/dc/basics/Makefile | 3 +-
> .../drm/amd/display/dc/basics/log_helpers.c | 39 -------------------
> .../amd/display/include/logger_interface.h | 4 --
> 3 files changed, 1 insertion(+), 45 deletions(-)
> delete mode 100644 drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
>
> diff --git a/drivers/gpu/drm/amd/display/dc/basics/Makefile b/drivers/gpu/drm/amd/display/dc/basics/Makefile
> index 7ad0cad0f4ef..01b99e0d788e 100644
> --- a/drivers/gpu/drm/amd/display/dc/basics/Makefile
> +++ b/drivers/gpu/drm/amd/display/dc/basics/Makefile
> @@ -24,8 +24,7 @@
> # It provides the general basic services required by other DAL
> # subcomponents.
>
> -BASICS = conversion.o fixpt31_32.o \
> - log_helpers.o vector.o dc_common.o
> +BASICS = conversion.o fixpt31_32.o vector.o dc_common.o
>
> AMD_DAL_BASICS = $(addprefix $(AMDDALPATH)/dc/basics/,$(BASICS))
>
> diff --git a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c b/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
> deleted file mode 100644
> index 26583f346c39..000000000000
> --- a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -/*
> - * Copyright 2012-16 Advanced Micro Devices, Inc.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the "Software"),
> - * to deal in the Software without restriction, including without limitation
> - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - *
> - * Authors: AMD
> - *
> - */
> -
> -#include "core_types.h"
> -#include "logger.h"
> -#include "include/logger_interface.h"
> -#include "dm_helpers.h"
> -
> -void dc_conn_log_hex_linux(const uint8_t *hex_data, int hex_data_count)
> -{
> - int i;
> -
> - if (hex_data)
> - for (i = 0; i < hex_data_count; i++)
> - DC_LOG_DEBUG("%2.2X ", hex_data[i]);
> -}
> -
> diff --git a/drivers/gpu/drm/amd/display/include/logger_interface.h b/drivers/gpu/drm/amd/display/include/logger_interface.h
> index 6e008de25629..02c23b04d34b 100644
> --- a/drivers/gpu/drm/amd/display/include/logger_interface.h
> +++ b/drivers/gpu/drm/amd/display/include/logger_interface.h
> @@ -40,8 +40,6 @@ struct dc_state;
> *
> */
>
> -void dc_conn_log_hex_linux(const uint8_t *hex_data, int hex_data_count);
> -
> void pre_surface_trace(
> struct dc *dc,
> const struct dc_plane_state *const *plane_states,
> @@ -102,14 +100,12 @@ void context_clock_trace(
> #define CONN_DATA_DETECT(link, hex_data, hex_len, ...) \
> do { \
> (void)(link); \
> - dc_conn_log_hex_linux(hex_data, hex_len); \
> DC_LOG_EVENT_DETECTION(__VA_ARGS__); \
> } while (0)
>
> #define CONN_DATA_LINK_LOSS(link, hex_data, hex_len, ...) \
> do { \
> (void)(link); \
> - dc_conn_log_hex_linux(hex_data, hex_len); \
> DC_LOG_EVENT_LINK_LOSS(__VA_ARGS__); \
> } while (0)
>
>

2020-04-01 18:19:55

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH 2/2] drm/amd/dc: Kill dc_conn_log_hex_linux()

On Wed, Apr 1, 2020 at 9:00 AM Kazlauskas, Nicholas
<[email protected]> wrote:
>
> On 2020-03-31 5:22 p.m., Lyude Paul wrote:
> > DRM already supports tracing DPCD transactions, there's no reason for
> > the existence of this function. Also, it prints one byte per-line which
> > is way too loud. So, just remove it.
> >
> > Signed-off-by: Lyude Paul <[email protected]>
>
> Thanks for helping clean this up!
>
> Series is:
>
> Reviewed-by: Nicholas Kazlauskas <[email protected]>


Applied the series. Thanks!

Alex

>
> Regards,
> Nicholas Kazlauskas
>
> > ---
> > .../gpu/drm/amd/display/dc/basics/Makefile | 3 +-
> > .../drm/amd/display/dc/basics/log_helpers.c | 39 -------------------
> > .../amd/display/include/logger_interface.h | 4 --
> > 3 files changed, 1 insertion(+), 45 deletions(-)
> > delete mode 100644 drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/basics/Makefile b/drivers/gpu/drm/amd/display/dc/basics/Makefile
> > index 7ad0cad0f4ef..01b99e0d788e 100644
> > --- a/drivers/gpu/drm/amd/display/dc/basics/Makefile
> > +++ b/drivers/gpu/drm/amd/display/dc/basics/Makefile
> > @@ -24,8 +24,7 @@
> > # It provides the general basic services required by other DAL
> > # subcomponents.
> >
> > -BASICS = conversion.o fixpt31_32.o \
> > - log_helpers.o vector.o dc_common.o
> > +BASICS = conversion.o fixpt31_32.o vector.o dc_common.o
> >
> > AMD_DAL_BASICS = $(addprefix $(AMDDALPATH)/dc/basics/,$(BASICS))
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c b/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
> > deleted file mode 100644
> > index 26583f346c39..000000000000
> > --- a/drivers/gpu/drm/amd/display/dc/basics/log_helpers.c
> > +++ /dev/null
> > @@ -1,39 +0,0 @@
> > -/*
> > - * Copyright 2012-16 Advanced Micro Devices, Inc.
> > - *
> > - * Permission is hereby granted, free of charge, to any person obtaining a
> > - * copy of this software and associated documentation files (the "Software"),
> > - * to deal in the Software without restriction, including without limitation
> > - * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> > - * and/or sell copies of the Software, and to permit persons to whom the
> > - * Software is furnished to do so, subject to the following conditions:
> > - *
> > - * The above copyright notice and this permission notice shall be included in
> > - * all copies or substantial portions of the Software.
> > - *
> > - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> > - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> > - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> > - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
> > - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> > - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> > - * OTHER DEALINGS IN THE SOFTWARE.
> > - *
> > - * Authors: AMD
> > - *
> > - */
> > -
> > -#include "core_types.h"
> > -#include "logger.h"
> > -#include "include/logger_interface.h"
> > -#include "dm_helpers.h"
> > -
> > -void dc_conn_log_hex_linux(const uint8_t *hex_data, int hex_data_count)
> > -{
> > - int i;
> > -
> > - if (hex_data)
> > - for (i = 0; i < hex_data_count; i++)
> > - DC_LOG_DEBUG("%2.2X ", hex_data[i]);
> > -}
> > -
> > diff --git a/drivers/gpu/drm/amd/display/include/logger_interface.h b/drivers/gpu/drm/amd/display/include/logger_interface.h
> > index 6e008de25629..02c23b04d34b 100644
> > --- a/drivers/gpu/drm/amd/display/include/logger_interface.h
> > +++ b/drivers/gpu/drm/amd/display/include/logger_interface.h
> > @@ -40,8 +40,6 @@ struct dc_state;
> > *
> > */
> >
> > -void dc_conn_log_hex_linux(const uint8_t *hex_data, int hex_data_count);
> > -
> > void pre_surface_trace(
> > struct dc *dc,
> > const struct dc_plane_state *const *plane_states,
> > @@ -102,14 +100,12 @@ void context_clock_trace(
> > #define CONN_DATA_DETECT(link, hex_data, hex_len, ...) \
> > do { \
> > (void)(link); \
> > - dc_conn_log_hex_linux(hex_data, hex_len); \
> > DC_LOG_EVENT_DETECTION(__VA_ARGS__); \
> > } while (0)
> >
> > #define CONN_DATA_LINK_LOSS(link, hex_data, hex_len, ...) \
> > do { \
> > (void)(link); \
> > - dc_conn_log_hex_linux(hex_data, hex_len); \
> > DC_LOG_EVENT_LINK_LOSS(__VA_ARGS__); \
> > } while (0)
> >
> >
>
> _______________________________________________
> dri-devel mailing list
> [email protected]
> https://lists.freedesktop.org/mailman/listinfo/dri-devel