> -----Original Message----- > From: Navare, Manasi D <manasi.d.navare@xxxxxxxxx> > Sent: Saturday, June 20, 2020 12:13 AM > To: Modem, Bhanuprakash <bhanuprakash.modem@xxxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx; intel-gfx@xxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxxxx> > > Signed-off-by: Manasi Navare <manasi.d.navare@xxxxxxxxx> > > Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Cc: Harry Wentland <harry.wentland@xxxxxxx> > > --- > > .../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@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx