-----Original Message----- From: Navare, Manasi D manasi.d.navare@intel.com Sent: Saturday, June 20, 2020 12:13 AM To: Modem, Bhanuprakash bhanuprakash.modem@intel.com Cc: dri-devel@lists.freedesktop.org; intel-gfx@lists.freedesktop.org Subject: Re: [v8 3/3] drm/debug: Expose connector VRR monitor range via debugfs
Hi Bhanu,
Thanks for the patch, functionality wise looks good. Have you tested this with kms_vrr IGT, do we see the vrr_range properly exposed?
[Bhanu] Yes, the vrr_range is exposing properly. I have verified the debugfs node manually and through IGT.
Also please find some comments below
On Sat, Jun 20, 2020 at 02:53:56AM +0530, Bhanuprakash Modem wrote:
[Why] It's useful to know the min and max vrr range for IGT testing.
[How] Expose the min and max vfreq for the connector via a debugfs file on the connector, "vrr_range".
Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
v2:
- Fix the typo in max_vfreq (Manasi)
- Change the name of node to i915_vrr_info so we can add
other vrr info for more debug info (Manasi)
- Change the VRR capable to display Yes or No (Manasi)
- Fix indentation checkpatch errors (Manasi)
v3:
- Remove the unnecessary debug print (Manasi)
v4:
- Rebase
v5:
- Rename to vrr_range to match AMD debugfs
v6:
- Rebase (manasi)
v7:
- Fix cmpilation due to rebase
v8:
- Move debugfs node creation logic to DRM (Emil)
- Remove AMD specific logic (Emil)
Signed-off-by: Bhanuprakash Modem bhanuprakash.modem@intel.com Signed-off-by: Manasi Navare manasi.d.navare@intel.com Cc: Jani Nikula jani.nikula@linux.intel.com Cc: Ville Syrjälä ville.syrjala@linux.intel.com Cc: Harry Wentland harry.wentland@amd.com
.../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 20 ----------------- drivers/gpu/drm/drm_debugfs.c | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
index 076af267b488..71387d2af2ed 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c @@ -820,24 +820,6 @@ static int output_bpc_show(struct seq_file *m, void
*data)
return res; }
-/*
- Returns the min and max vrr vfreq through the connector's debugfs
file.
- Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
- */
-static int vrr_range_show(struct seq_file *m, void *data) -{
- struct drm_connector *connector = m->private;
- struct amdgpu_dm_connector *aconnector =
to_amdgpu_dm_connector(connector);
- if (connector->status != connector_status_connected)
return -ENODEV;
- seq_printf(m, "Min: %u\n", (unsigned int)aconnector->min_vfreq);
- seq_printf(m, "Max: %u\n", (unsigned int)aconnector->max_vfreq);
- return 0;
-}
#ifdef CONFIG_DRM_AMD_DC_HDCP /*
- Returns the HDCP capability of the Display (1.4 for now).
@@ -1001,7 +983,6 @@ static ssize_t dp_dpcd_data_read(struct file *f,
char __user *buf,
DEFINE_SHOW_ATTRIBUTE(dmub_fw_state); DEFINE_SHOW_ATTRIBUTE(dmub_tracebuffer); DEFINE_SHOW_ATTRIBUTE(output_bpc); -DEFINE_SHOW_ATTRIBUTE(vrr_range); #ifdef CONFIG_DRM_AMD_DC_HDCP DEFINE_SHOW_ATTRIBUTE(hdcp_sink_capability); #endif @@ -1059,7 +1040,6 @@ static const struct { {"phy_settings", &dp_phy_settings_debugfs_fop}, {"test_pattern", &dp_phy_test_pattern_fops}, {"output_bpc", &output_bpc_fops},
{"vrr_range", &vrr_range_fops},
#ifdef CONFIG_DRM_AMD_DC_HDCP {"hdcp_sink_capability", &hdcp_sink_capability_fops}, #endif
I think the AMD sepecific debugfs removal should be in a separate patch follwing the drm_debugfs addition patch because from merging pov that patch will get merged through AMD tree and drm patch will get merged through drm_misc Also cc the amd dev mailing list for that patch.
[Bhanu] Sure
@Harry does that sound okay from merging pov?
Manasi
diff --git a/drivers/gpu/drm/drm_debugfs.c
b/drivers/gpu/drm/drm_debugfs.c
index bfe4602f206b..3d7182001004 100644 --- a/drivers/gpu/drm/drm_debugfs.c +++ b/drivers/gpu/drm/drm_debugfs.c @@ -376,6 +376,24 @@ static ssize_t edid_write(struct file *file, const
char __user *ubuf,
return (ret) ? ret : len; }
+/*
- Returns the min and max vrr vfreq through the connector's debugfs
file.
- Example usage: cat /sys/kernel/debug/dri/0/DP-1/vrr_range
- */
+static int vrr_range_show(struct seq_file *m, void *data) +{
- struct drm_connector *connector = m->private;
- if (connector->status != connector_status_connected)
return -ENODEV;
- seq_printf(m, "Min: %u\n", (u8)connector-
display_info.monitor_range.min_vfreq);
- seq_printf(m, "Max: %u\n", (u8)connector-
display_info.monitor_range.max_vfreq);
- return 0;
+} +DEFINE_SHOW_ATTRIBUTE(vrr_range);
static const struct file_operations drm_edid_fops = { .owner = THIS_MODULE, .open = edid_open, @@ -413,6 +431,10 @@ void drm_debugfs_connector_add(struct drm_connector
*connector)
/* edid */ debugfs_create_file("edid_override", S_IRUGO | S_IWUSR, root,
connector,
&drm_edid_fops);
- /* vrr range */
- debugfs_create_file("vrr_range", S_IRUGO, root, connector,
&vrr_range_fops);
}
void drm_debugfs_connector_remove(struct drm_connector *connector)
2.20.1
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel