diff mbox series

[V2,3/3] drm/amd/display: Move connector debugfs to drm

Message ID 20220411095129.1652096-4-bhanuprakash.modem@intel.com (mailing list archive)
State New, archived
Headers show
Series Expose max and current bpc via debugfs | expand

Commit Message

Modem, Bhanuprakash April 11, 2022, 9:51 a.m. UTC
As drm_connector already have the display_info, instead of creating
"output_bpc" debugfs in vendor specific driver, move the logic to
the drm layer.

This patch will also move "Current" bpc to the crtc debugfs from
connector debugfs, since we are getting this info from crtc_state.

Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reported-by: kernel test robot <lkp@intel.com>
---
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  4 --
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 38 +++++++------------
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.h |  2 -
 3 files changed, 13 insertions(+), 31 deletions(-)

Comments

Murthy, Arun R April 29, 2022, 2:32 p.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Bhanuprakash Modem
> Sent: Monday, April 11, 2022 3:21 PM
> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; amd-
> gfx@lists.freedesktop.org; jani.nikula@linux.intel.com;
> ville.syrjala@linux.intel.com; harry.wentland@amd.com; Sharma, Swati2
> <swati2.sharma@intel.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
> Subject: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector debugfs to
> drm
> 
> As drm_connector already have the display_info, instead of creating
> "output_bpc" debugfs in vendor specific driver, move the logic to the drm
> layer.
> 
> This patch will also move "Current" bpc to the crtc debugfs from connector
> debugfs, since we are getting this info from crtc_state.
> 
> Cc: Harry Wentland <harry.wentland@amd.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Reported-by: kernel test robot <lkp@intel.com>
> ---
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>

Thanks and Regards,
Arun R Murthy
--------------------
Modem, Bhanuprakash May 2, 2022, 1:28 p.m. UTC | #2
On Fri-29-04-2022 08:02 pm, Murthy, Arun R wrote:
> 
> 
>> -----Original Message-----
>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>> Bhanuprakash Modem
>> Sent: Monday, April 11, 2022 3:21 PM
>> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; amd-
>> gfx@lists.freedesktop.org; jani.nikula@linux.intel.com;
>> ville.syrjala@linux.intel.com; harry.wentland@amd.com; Sharma, Swati2
>> <swati2.sharma@intel.com>
>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>> Subject: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector debugfs to
>> drm
>>
>> As drm_connector already have the display_info, instead of creating
>> "output_bpc" debugfs in vendor specific driver, move the logic to the drm
>> layer.
>>
>> This patch will also move "Current" bpc to the crtc debugfs from connector
>> debugfs, since we are getting this info from crtc_state.
>>
>> Cc: Harry Wentland <harry.wentland@amd.com>
>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>> Reported-by: kernel test robot <lkp@intel.com>
>> ---
> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>

Thanks Arun,

@Harry/@Rodrigo, If this change sounds good to you, can you please help 
to push it?

- Bhanu

> 
> Thanks and Regards,
> Arun R Murthy
> --------------------
Harry Wentland May 2, 2022, 1:38 p.m. UTC | #3
On 2022-05-02 09:28, Modem, Bhanuprakash wrote:
> On Fri-29-04-2022 08:02 pm, Murthy, Arun R wrote:
>>
>>
>>> -----Original Message-----
>>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>>> Bhanuprakash Modem
>>> Sent: Monday, April 11, 2022 3:21 PM
>>> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
>>> amd-
>>> gfx@lists.freedesktop.org; jani.nikula@linux.intel.com;
>>> ville.syrjala@linux.intel.com; harry.wentland@amd.com; Sharma, Swati2
>>> <swati2.sharma@intel.com>
>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>> Subject: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector debugfs to
>>> drm
>>>
>>> As drm_connector already have the display_info, instead of creating
>>> "output_bpc" debugfs in vendor specific driver, move the logic to the
>>> drm
>>> layer.
>>>
>>> This patch will also move "Current" bpc to the crtc debugfs from
>>> connector
>>> debugfs, since we are getting this info from crtc_state.
>>>
>>> Cc: Harry Wentland <harry.wentland@amd.com>
>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>> Reported-by: kernel test robot <lkp@intel.com>
>>> ---
>> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
> 
> Thanks Arun,
> 
> @Harry/@Rodrigo, If this change sounds good to you, can you please help
> to push it?
> 

This changes the output_bpc debugfs behavior on amdgpu and breaks
the amd_max_bpc IGT test. I don't think we should merge this as-is.

This patch also seems dependent on patch 1 of the series. Shouldn't
they be merged together (please don't merge them as-is, though)?

Harry

> - Bhanu
> 
>>
>> Thanks and Regards,
>> Arun R Murthy
>> --------------------
>
Modem, Bhanuprakash May 2, 2022, 2:27 p.m. UTC | #4
On Mon-02-05-2022 07:08 pm, Harry Wentland wrote:
> 
> 
> On 2022-05-02 09:28, Modem, Bhanuprakash wrote:
>> On Fri-29-04-2022 08:02 pm, Murthy, Arun R wrote:
>>>
>>>
>>>> -----Original Message-----
>>>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>>>> Bhanuprakash Modem
>>>> Sent: Monday, April 11, 2022 3:21 PM
>>>> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
>>>> amd-
>>>> gfx@lists.freedesktop.org; jani.nikula@linux.intel.com;
>>>> ville.syrjala@linux.intel.com; harry.wentland@amd.com; Sharma, Swati2
>>>> <swati2.sharma@intel.com>
>>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>>> Subject: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector debugfs to
>>>> drm
>>>>
>>>> As drm_connector already have the display_info, instead of creating
>>>> "output_bpc" debugfs in vendor specific driver, move the logic to the
>>>> drm
>>>> layer.
>>>>
>>>> This patch will also move "Current" bpc to the crtc debugfs from
>>>> connector
>>>> debugfs, since we are getting this info from crtc_state.
>>>>
>>>> Cc: Harry Wentland <harry.wentland@amd.com>
>>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>> ---
>>> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
>>
>> Thanks Arun,
>>
>> @Harry/@Rodrigo, If this change sounds good to you, can you please help
>> to push it?
>>
> 
> This changes the output_bpc debugfs behavior on amdgpu and breaks
> the amd_max_bpc IGT test. I don't think we should merge this as-is.

Yeah, I have floated the IGT changes to support this series: 
https://patchwork.freedesktop.org/series/102387/

With this IGT change, we can merge this series as-is. I would like to 
request you to review IGT patches too.

> 
> This patch also seems dependent on patch 1 of the series. Shouldn't
> they be merged together (please don't merge them as-is, though)?

Yes, as other patches in this series are already reviewed, I think we 
need to plan to merge all patches in this series together (If above IGT 
& this patch looks good to you).

- Bhanu

> 
> Harry
> 
>> - Bhanu
>>
>>>
>>> Thanks and Regards,
>>> Arun R Murthy
>>> --------------------
>>
Harry Wentland May 2, 2022, 2:29 p.m. UTC | #5
On 2022-05-02 10:27, Modem, Bhanuprakash wrote:
> On Mon-02-05-2022 07:08 pm, Harry Wentland wrote:
>>
>>
>> On 2022-05-02 09:28, Modem, Bhanuprakash wrote:
>>> On Fri-29-04-2022 08:02 pm, Murthy, Arun R wrote:
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>>>>> Bhanuprakash Modem
>>>>> Sent: Monday, April 11, 2022 3:21 PM
>>>>> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
>>>>> amd-
>>>>> gfx@lists.freedesktop.org; jani.nikula@linux.intel.com;
>>>>> ville.syrjala@linux.intel.com; harry.wentland@amd.com; Sharma, Swati2
>>>>> <swati2.sharma@intel.com>
>>>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>>>> Subject: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector
>>>>> debugfs to
>>>>> drm
>>>>>
>>>>> As drm_connector already have the display_info, instead of creating
>>>>> "output_bpc" debugfs in vendor specific driver, move the logic to the
>>>>> drm
>>>>> layer.
>>>>>
>>>>> This patch will also move "Current" bpc to the crtc debugfs from
>>>>> connector
>>>>> debugfs, since we are getting this info from crtc_state.
>>>>>
>>>>> Cc: Harry Wentland <harry.wentland@amd.com>
>>>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>> ---
>>>> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
>>>
>>> Thanks Arun,
>>>
>>> @Harry/@Rodrigo, If this change sounds good to you, can you please help
>>> to push it?
>>>
>>
>> This changes the output_bpc debugfs behavior on amdgpu and breaks
>> the amd_max_bpc IGT test. I don't think we should merge this as-is.
> 
> Yeah, I have floated the IGT changes to support this series:
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fseries%2F102387%2F&amp;data=05%7C01%7Charry.wentland%40amd.com%7C61d4e4a755a5449ec58308da2c47dd89%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637870984414230229%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=kge5PgzzX81hsFLBKyPfyv7vQpb1Gse72FWuiGtyoAQ%3D&amp;reserved=0
> 
> 
> With this IGT change, we can merge this series as-is. I would like to
> request you to review IGT patches too.
> 
>>
>> This patch also seems dependent on patch 1 of the series. Shouldn't
>> they be merged together (please don't merge them as-is, though)?
> 
> Yes, as other patches in this series are already reviewed, I think we
> need to plan to merge all patches in this series together (If above IGT
> & this patch looks good to you).
> 

Thanks for the context again and apologies I haven't had the time to
have a closer look so far. I'll go over these and the IGT patches today
and get back to you.

Harry

> - Bhanu
> 
>>
>> Harry
>>
>>> - Bhanu
>>>
>>>>
>>>> Thanks and Regards,
>>>> Arun R Murthy
>>>> --------------------
>>>
>
Harry Wentland May 2, 2022, 6:51 p.m. UTC | #6
On 2022-04-11 05:51, Bhanuprakash Modem wrote:
> As drm_connector already have the display_info, instead of creating
> "output_bpc" debugfs in vendor specific driver, move the logic to
> the drm layer.
> 
> This patch will also move "Current" bpc to the crtc debugfs from
> connector debugfs, since we are getting this info from crtc_state.
> 
> Cc: Harry Wentland <harry.wentland@amd.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Reported-by: kernel test robot <lkp@intel.com>

Reviewed-by: Harry Wentland <harry.wentland@amd.com>

Harry

> ---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  4 --
>  .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 38 +++++++------------
>  .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.h |  2 -
>  3 files changed, 13 insertions(+), 31 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 73423b805b54..f89651c71ec7 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -6615,14 +6615,12 @@ dm_crtc_duplicate_state(struct drm_crtc *crtc)
>  	return &state->base;
>  }
>  
> -#ifdef CONFIG_DRM_AMD_SECURE_DISPLAY
>  static int amdgpu_dm_crtc_late_register(struct drm_crtc *crtc)
>  {
>  	crtc_debugfs_init(crtc);
>  
>  	return 0;
>  }
> -#endif
>  
>  static inline int dm_set_vupdate_irq(struct drm_crtc *crtc, bool enable)
>  {
> @@ -6720,9 +6718,7 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
>  	.enable_vblank = dm_enable_vblank,
>  	.disable_vblank = dm_disable_vblank,
>  	.get_vblank_timestamp = drm_crtc_vblank_helper_get_vblank_timestamp,
> -#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
>  	.late_register = amdgpu_dm_crtc_late_register,
> -#endif
>  };
>  
>  static enum drm_connector_status
> 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 da17ece1a2c5..3ee26083920b 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
> @@ -873,28 +873,18 @@ static int psr_capability_show(struct seq_file *m, void *data)
>  }
>  
>  /*
> - * Returns the current and maximum output bpc for the connector.
> - * Example usage: cat /sys/kernel/debug/dri/0/DP-1/output_bpc
> + * Returns the current bpc for the crtc.
> + * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/amdgpu_current_bpc
>   */
> -static int output_bpc_show(struct seq_file *m, void *data)
> +static int amdgpu_current_bpc_show(struct seq_file *m, void *data)
>  {
> -	struct drm_connector *connector = m->private;
> -	struct drm_device *dev = connector->dev;
> -	struct drm_crtc *crtc = NULL;
> +	struct drm_crtc *crtc = m->private;
> +	struct drm_device *dev = crtc->dev;
>  	struct dm_crtc_state *dm_crtc_state = NULL;
>  	int res = -ENODEV;
>  	unsigned int bpc;
>  
>  	mutex_lock(&dev->mode_config.mutex);
> -	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
> -
> -	if (connector->state == NULL)
> -		goto unlock;
> -
> -	crtc = connector->state->crtc;
> -	if (crtc == NULL)
> -		goto unlock;
> -
>  	drm_modeset_lock(&crtc->mutex, NULL);
>  	if (crtc->state == NULL)
>  		goto unlock;
> @@ -924,18 +914,15 @@ static int output_bpc_show(struct seq_file *m, void *data)
>  	}
>  
>  	seq_printf(m, "Current: %u\n", bpc);
> -	seq_printf(m, "Maximum: %u\n", connector->display_info.bpc);
>  	res = 0;
>  
>  unlock:
> -	if (crtc)
> -		drm_modeset_unlock(&crtc->mutex);
> -
> -	drm_modeset_unlock(&dev->mode_config.connection_mutex);
> +	drm_modeset_unlock(&crtc->mutex);
>  	mutex_unlock(&dev->mode_config.mutex);
>  
>  	return res;
>  }
> +DEFINE_SHOW_ATTRIBUTE(amdgpu_current_bpc);
>  
>  /*
>   * Example usage:
> @@ -2541,7 +2528,6 @@ static int target_backlight_show(struct seq_file *m, void *unused)
>  DEFINE_SHOW_ATTRIBUTE(dp_dsc_fec_support);
>  DEFINE_SHOW_ATTRIBUTE(dmub_fw_state);
>  DEFINE_SHOW_ATTRIBUTE(dmub_tracebuffer);
> -DEFINE_SHOW_ATTRIBUTE(output_bpc);
>  DEFINE_SHOW_ATTRIBUTE(dp_lttpr_status);
>  #ifdef CONFIG_DRM_AMD_DC_HDCP
>  DEFINE_SHOW_ATTRIBUTE(hdcp_sink_capability);
> @@ -2788,7 +2774,6 @@ static const struct {
>  	const struct file_operations *fops;
>  } connector_debugfs_entries[] = {
>  		{"force_yuv420_output", &force_yuv420_output_fops},
> -		{"output_bpc", &output_bpc_fops},
>  		{"trigger_hotplug", &trigger_hotplug_debugfs_fops},
>  		{"internal_display", &internal_display_fops}
>  };
> @@ -3172,9 +3157,10 @@ static int crc_win_update_get(void *data, u64 *val)
>  
>  DEFINE_DEBUGFS_ATTRIBUTE(crc_win_update_fops, crc_win_update_get,
>  			 crc_win_update_set, "%llu\n");
> -
> +#endif
>  void crtc_debugfs_init(struct drm_crtc *crtc)
>  {
> +#ifdef CONFIG_DRM_AMD_SECURE_DISPLAY
>  	struct dentry *dir = debugfs_lookup("crc", crtc->debugfs_entry);
>  
>  	if (!dir)
> @@ -3190,9 +3176,11 @@ void crtc_debugfs_init(struct drm_crtc *crtc)
>  				   &crc_win_y_end_fops);
>  	debugfs_create_file_unsafe("crc_win_update", 0644, dir, crtc,
>  				   &crc_win_update_fops);
> -
> -}
>  #endif
> +	debugfs_create_file("amdgpu_current_bpc", 0644, crtc->debugfs_entry,
> +			    crtc, &amdgpu_current_bpc_fops);
> +}
> +
>  /*
>   * Writes DTN log state to the user supplied buffer.
>   * Example usage: cat /sys/kernel/debug/dri/0/amdgpu_dm_dtn_log
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h
> index 3366cb644053..071200473c27 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h
> @@ -31,8 +31,6 @@
>  
>  void connector_debugfs_init(struct amdgpu_dm_connector *connector);
>  void dtn_debugfs_init(struct amdgpu_device *adev);
> -#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
>  void crtc_debugfs_init(struct drm_crtc *crtc);
> -#endif
>  
>  #endif
Harry Wentland May 2, 2022, 6:54 p.m. UTC | #7
On 2022-05-02 10:29, Harry Wentland wrote:
> 
> 
> On 2022-05-02 10:27, Modem, Bhanuprakash wrote:
>> On Mon-02-05-2022 07:08 pm, Harry Wentland wrote:
>>>
>>>
>>> On 2022-05-02 09:28, Modem, Bhanuprakash wrote:
>>>> On Fri-29-04-2022 08:02 pm, Murthy, Arun R wrote:
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
>>>>>> Bhanuprakash Modem
>>>>>> Sent: Monday, April 11, 2022 3:21 PM
>>>>>> To: intel-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org;
>>>>>> amd-
>>>>>> gfx@lists.freedesktop.org; jani.nikula@linux.intel.com;
>>>>>> ville.syrjala@linux.intel.com; harry.wentland@amd.com; Sharma, Swati2
>>>>>> <swati2.sharma@intel.com>
>>>>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>>>>> Subject: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector
>>>>>> debugfs to
>>>>>> drm
>>>>>>
>>>>>> As drm_connector already have the display_info, instead of creating
>>>>>> "output_bpc" debugfs in vendor specific driver, move the logic to the
>>>>>> drm
>>>>>> layer.
>>>>>>
>>>>>> This patch will also move "Current" bpc to the crtc debugfs from
>>>>>> connector
>>>>>> debugfs, since we are getting this info from crtc_state.
>>>>>>
>>>>>> Cc: Harry Wentland <harry.wentland@amd.com>
>>>>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>>>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
>>>>>> Reported-by: kernel test robot <lkp@intel.com>
>>>>>> ---
>>>>> Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
>>>>
>>>> Thanks Arun,
>>>>
>>>> @Harry/@Rodrigo, If this change sounds good to you, can you please help
>>>> to push it?
>>>>
>>>
>>> This changes the output_bpc debugfs behavior on amdgpu and breaks
>>> the amd_max_bpc IGT test. I don't think we should merge this as-is.
>>
>> Yeah, I have floated the IGT changes to support this series:
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fseries%2F102387%2F&amp;data=05%7C01%7Charry.wentland%40amd.com%7C8cb627c63b194b3b82f808da2c4839b0%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637870985961376064%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=kn26Et7wc9IUkYhSG3R%2FXVKIJoqyKlQ1%2FNcduVh9Fuo%3D&amp;reserved=0
>>
>>
>> With this IGT change, we can merge this series as-is. I would like to
>> request you to review IGT patches too.
>>
>>>
>>> This patch also seems dependent on patch 1 of the series. Shouldn't
>>> they be merged together (please don't merge them as-is, though)?
>>
>> Yes, as other patches in this series are already reviewed, I think we
>> need to plan to merge all patches in this series together (If above IGT
>> & this patch looks good to you).
>>
> 
> Thanks for the context again and apologies I haven't had the time to
> have a closer look so far. I'll go over these and the IGT patches today
> and get back to you.
> 

Both the kernel and IGT series look good to me.

I recommend you merge the entire kernel set as one into drm-next. We
can pull it into amd-staging-drm-next so as not to break our CI once
the IGT patches land.

Harry

> Harry
> 
>> - Bhanu
>>
>>>
>>> Harry
>>>
>>>> - Bhanu
>>>>
>>>>>
>>>>> Thanks and Regards,
>>>>> Arun R Murthy
>>>>> --------------------
>>>>
>>
Jani Nikula May 16, 2022, 8:39 a.m. UTC | #8
On Mon, 02 May 2022, Harry Wentland <harry.wentland@amd.com> wrote:
> Both the kernel and IGT series look good to me.
>
> I recommend you merge the entire kernel set as one into drm-next. We
> can pull it into amd-staging-drm-next so as not to break our CI once
> the IGT patches land.

Can we read that as an ack to merge via drm-misc-next? :)

BR,
Jani.
Modem, Bhanuprakash May 18, 2022, 5:38 a.m. UTC | #9
On Mon-16-05-2022 02:09 pm, Jani Nikula wrote:
> On Mon, 02 May 2022, Harry Wentland <harry.wentland@amd.com> wrote:
>> Both the kernel and IGT series look good to me.
>>
>> I recommend you merge the entire kernel set as one into drm-next. We
>> can pull it into amd-staging-drm-next so as not to break our CI once
>> the IGT patches land.

@Harry

Can we have your Ack-by to merge this series via drm-misc-next?
IGT patches are already landed. :-)

- Bhanu

> 
> Can we read that as an ack to merge via drm-misc-next? :)
> 
> BR,
> Jani.
> 
>
Harry Wentland May 18, 2022, 2:08 p.m. UTC | #10
On 5/18/22 01:38, Modem, Bhanuprakash wrote:
> On Mon-16-05-2022 02:09 pm, Jani Nikula wrote:
>> On Mon, 02 May 2022, Harry Wentland <harry.wentland@amd.com> wrote:
>>> Both the kernel and IGT series look good to me.
>>>
>>> I recommend you merge the entire kernel set as one into drm-next. We
>>> can pull it into amd-staging-drm-next so as not to break our CI once
>>> the IGT patches land.
> 
> @Harry
> 
> Can we have your Ack-by to merge this series via drm-misc-next?
> IGT patches are already landed. :-)

Sure. :)

Acked-by: Harry Wentland <harry.wentland@amd.com>

Harry

> 
> - Bhanu
> 
>>
>> Can we read that as an ack to merge via drm-misc-next? :)
>>
>> BR,
>> Jani.
>>
>>
>
diff mbox series

Patch

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 73423b805b54..f89651c71ec7 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -6615,14 +6615,12 @@  dm_crtc_duplicate_state(struct drm_crtc *crtc)
 	return &state->base;
 }
 
-#ifdef CONFIG_DRM_AMD_SECURE_DISPLAY
 static int amdgpu_dm_crtc_late_register(struct drm_crtc *crtc)
 {
 	crtc_debugfs_init(crtc);
 
 	return 0;
 }
-#endif
 
 static inline int dm_set_vupdate_irq(struct drm_crtc *crtc, bool enable)
 {
@@ -6720,9 +6718,7 @@  static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
 	.enable_vblank = dm_enable_vblank,
 	.disable_vblank = dm_disable_vblank,
 	.get_vblank_timestamp = drm_crtc_vblank_helper_get_vblank_timestamp,
-#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
 	.late_register = amdgpu_dm_crtc_late_register,
-#endif
 };
 
 static enum drm_connector_status
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 da17ece1a2c5..3ee26083920b 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
@@ -873,28 +873,18 @@  static int psr_capability_show(struct seq_file *m, void *data)
 }
 
 /*
- * Returns the current and maximum output bpc for the connector.
- * Example usage: cat /sys/kernel/debug/dri/0/DP-1/output_bpc
+ * Returns the current bpc for the crtc.
+ * Example usage: cat /sys/kernel/debug/dri/0/crtc-0/amdgpu_current_bpc
  */
-static int output_bpc_show(struct seq_file *m, void *data)
+static int amdgpu_current_bpc_show(struct seq_file *m, void *data)
 {
-	struct drm_connector *connector = m->private;
-	struct drm_device *dev = connector->dev;
-	struct drm_crtc *crtc = NULL;
+	struct drm_crtc *crtc = m->private;
+	struct drm_device *dev = crtc->dev;
 	struct dm_crtc_state *dm_crtc_state = NULL;
 	int res = -ENODEV;
 	unsigned int bpc;
 
 	mutex_lock(&dev->mode_config.mutex);
-	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
-
-	if (connector->state == NULL)
-		goto unlock;
-
-	crtc = connector->state->crtc;
-	if (crtc == NULL)
-		goto unlock;
-
 	drm_modeset_lock(&crtc->mutex, NULL);
 	if (crtc->state == NULL)
 		goto unlock;
@@ -924,18 +914,15 @@  static int output_bpc_show(struct seq_file *m, void *data)
 	}
 
 	seq_printf(m, "Current: %u\n", bpc);
-	seq_printf(m, "Maximum: %u\n", connector->display_info.bpc);
 	res = 0;
 
 unlock:
-	if (crtc)
-		drm_modeset_unlock(&crtc->mutex);
-
-	drm_modeset_unlock(&dev->mode_config.connection_mutex);
+	drm_modeset_unlock(&crtc->mutex);
 	mutex_unlock(&dev->mode_config.mutex);
 
 	return res;
 }
+DEFINE_SHOW_ATTRIBUTE(amdgpu_current_bpc);
 
 /*
  * Example usage:
@@ -2541,7 +2528,6 @@  static int target_backlight_show(struct seq_file *m, void *unused)
 DEFINE_SHOW_ATTRIBUTE(dp_dsc_fec_support);
 DEFINE_SHOW_ATTRIBUTE(dmub_fw_state);
 DEFINE_SHOW_ATTRIBUTE(dmub_tracebuffer);
-DEFINE_SHOW_ATTRIBUTE(output_bpc);
 DEFINE_SHOW_ATTRIBUTE(dp_lttpr_status);
 #ifdef CONFIG_DRM_AMD_DC_HDCP
 DEFINE_SHOW_ATTRIBUTE(hdcp_sink_capability);
@@ -2788,7 +2774,6 @@  static const struct {
 	const struct file_operations *fops;
 } connector_debugfs_entries[] = {
 		{"force_yuv420_output", &force_yuv420_output_fops},
-		{"output_bpc", &output_bpc_fops},
 		{"trigger_hotplug", &trigger_hotplug_debugfs_fops},
 		{"internal_display", &internal_display_fops}
 };
@@ -3172,9 +3157,10 @@  static int crc_win_update_get(void *data, u64 *val)
 
 DEFINE_DEBUGFS_ATTRIBUTE(crc_win_update_fops, crc_win_update_get,
 			 crc_win_update_set, "%llu\n");
-
+#endif
 void crtc_debugfs_init(struct drm_crtc *crtc)
 {
+#ifdef CONFIG_DRM_AMD_SECURE_DISPLAY
 	struct dentry *dir = debugfs_lookup("crc", crtc->debugfs_entry);
 
 	if (!dir)
@@ -3190,9 +3176,11 @@  void crtc_debugfs_init(struct drm_crtc *crtc)
 				   &crc_win_y_end_fops);
 	debugfs_create_file_unsafe("crc_win_update", 0644, dir, crtc,
 				   &crc_win_update_fops);
-
-}
 #endif
+	debugfs_create_file("amdgpu_current_bpc", 0644, crtc->debugfs_entry,
+			    crtc, &amdgpu_current_bpc_fops);
+}
+
 /*
  * Writes DTN log state to the user supplied buffer.
  * Example usage: cat /sys/kernel/debug/dri/0/amdgpu_dm_dtn_log
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h
index 3366cb644053..071200473c27 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.h
@@ -31,8 +31,6 @@ 
 
 void connector_debugfs_init(struct amdgpu_dm_connector *connector);
 void dtn_debugfs_init(struct amdgpu_device *adev);
-#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY)
 void crtc_debugfs_init(struct drm_crtc *crtc);
-#endif
 
 #endif