aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4486-drm-amd-display-Fix-debugfs-on-MST-connectors.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4486-drm-amd-display-Fix-debugfs-on-MST-connectors.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4486-drm-amd-display-Fix-debugfs-on-MST-connectors.patch96
1 files changed, 96 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4486-drm-amd-display-Fix-debugfs-on-MST-connectors.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4486-drm-amd-display-Fix-debugfs-on-MST-connectors.patch
new file mode 100644
index 00000000..288726c1
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4486-drm-amd-display-Fix-debugfs-on-MST-connectors.patch
@@ -0,0 +1,96 @@
+From 298e853d52b57d8e2e929adac65ed27a6b184e49 Mon Sep 17 00:00:00 2001
+From: Mikita Lipski <mikita.lipski@amd.com>
+Date: Thu, 31 Oct 2019 16:09:01 -0400
+Subject: [PATCH 4486/4736] drm/amd/display: Fix debugfs on MST connectors
+
+[why]
+Previous patch allowed to initialize debugfs entries on both MST
+and SST connectors, but MST connectors get registered much later
+which exposed an issue of debugfs entries being initialized in the
+same folder.
+
+[how]
+Return SST debugfs entries' initialization back to where it was.
+For MST connectors we should initialize debugfs entries in connector
+register function after the connector is registered.
+
+Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
+Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
+Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
+Signed-off-by: Rahul Kumar <rahul.kumar1@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 +++++++--------
+ .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 10 +++++++++-
+ 2 files changed, 16 insertions(+), 9 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 54a2b65dfcc1..ec9fac7d4559 100755
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -5480,12 +5480,6 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
+ drm_connector_attach_content_protection_property(&aconnector->base, false);
+ #endif
+ }
+-
+-#if defined(CONFIG_DEBUG_FS)
+- connector_debugfs_init(aconnector);
+- aconnector->debugfs_dpcd_address = 0;
+- aconnector->debugfs_dpcd_size = 0;
+-#endif
+ }
+
+ static int amdgpu_dm_i2c_xfer(struct i2c_adapter *i2c_adap,
+@@ -5608,8 +5602,6 @@ static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
+ &aconnector->base,
+ &amdgpu_dm_connector_helper_funcs);
+
+- drm_connector_register(&aconnector->base);
+-
+ amdgpu_dm_connector_init_helper(
+ dm,
+ aconnector,
+@@ -5620,6 +5612,13 @@ static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm,
+ drm_connector_attach_encoder(
+ &aconnector->base, &aencoder->base);
+
++ drm_connector_register(&aconnector->base);
++#if defined(CONFIG_DEBUG_FS)
++ connector_debugfs_init(aconnector);
++ aconnector->debugfs_dpcd_address = 0;
++ aconnector->debugfs_dpcd_size = 0;
++#endif
++
+ if (connector_type == DRM_MODE_CONNECTOR_DisplayPort
+ || connector_type == DRM_MODE_CONNECTOR_eDP)
+ amdgpu_dm_initialize_dp_connector(dm, aconnector);
+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 c765fcbd1386..74cadc8b4801 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
+@@ -36,7 +36,9 @@
+ #include "dc_link_ddc.h"
+
+ #include "i2caux_interface.h"
+-
++#if defined(CONFIG_DEBUG_FS)
++#include "amdgpu_dm_debugfs.h"
++#endif
+ /* #define TRACE_DPCD */
+
+ #ifdef TRACE_DPCD
+@@ -161,6 +163,12 @@ amdgpu_dm_mst_connector_late_register(struct drm_connector *connector)
+ to_amdgpu_dm_connector(connector);
+ struct drm_dp_mst_port *port = amdgpu_dm_connector->port;
+
++#if defined(CONFIG_DEBUG_FS)
++ connector_debugfs_init(amdgpu_dm_connector);
++ amdgpu_dm_connector->debugfs_dpcd_address = 0;
++ amdgpu_dm_connector->debugfs_dpcd_size = 0;
++#endif
++
+ return drm_dp_mst_connector_late_register(connector, port);
+ }
+
+--
+2.17.1
+