drm/amd/display: Expose mall capability
authorAurabindo Pillai <aurabindo.pillai@amd.com>
Fri, 4 Aug 2023 15:07:59 +0000 (11:07 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 30 Aug 2023 18:58:29 +0000 (14:58 -0400)
[Why&How]
Export a debugfs file to report whether MALL cache is supported by the
asic or not.

Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@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_debugfs.c

index 7c21e21bcc51a0e77d5cf18dd0c15dd90239214b..b5f3b33b625d15490649277a992939554f92374b 100644 (file)
@@ -3605,6 +3605,23 @@ static int disable_hpd_get(void *data, u64 *val)
 DEFINE_DEBUGFS_ATTRIBUTE(disable_hpd_ops, disable_hpd_get,
                         disable_hpd_set, "%llu\n");
 
+/*
+ * Returns 1 if hardware supports MALL cache
+ * 0 otherwise.
+ */
+static int capabilities_show(struct seq_file *m, void *unused)
+{
+       struct amdgpu_device *adev = (struct amdgpu_device *)m->private;
+       struct dc_caps caps = adev->dm.dc->caps;
+       bool mall_supported = caps.mall_size_total;
+
+       seq_printf(m, "mall: %s\n", mall_supported ? "yes" : "no");
+
+       return 0;
+}
+
+DEFINE_SHOW_ATTRIBUTE(capabilities);
+
 /*
  * Temporary w/a to force sst sequence in M42D DP2 mst receiver
  * Example usage: echo 1 > /sys/kernel/debug/dri/0/amdgpu_dm_dp_set_mst_en_for_sst
@@ -3798,6 +3815,8 @@ void dtn_debugfs_init(struct amdgpu_device *adev)
 
        debugfs_create_file("amdgpu_mst_topology", 0444, root,
                            adev, &mst_topo_fops);
+       debugfs_create_file("amdgpu_dm_capabilities", 0444, root,
+                           adev, &capabilities_fops);
        debugfs_create_file("amdgpu_dm_dtn_log", 0644, root, adev,
                            &dtn_log_fops);
        debugfs_create_file("amdgpu_dm_dp_set_mst_en_for_sst", 0644, root, adev,