dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Harry Wentland <harry.wentland@amd.com>
To: "Modem, Bhanuprakash" <bhanuprakash.modem@intel.com>,
	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, swati2.sharma@intel.com
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Subject: Re: [PATCH 3/3] drm/amd/display: Move connector debugfs to drm
Date: Fri, 8 Apr 2022 11:25:50 -0400	[thread overview]
Message-ID: <9c18564d-b684-a500-5d46-bebeb65aedef@amd.com> (raw)
In-Reply-To: <76050092-5d2f-a79f-6775-44a6c1213f61@intel.com>



On 2022-04-08 11:23, Modem, Bhanuprakash wrote:
> On Fri-08-04-2022 08:33 pm, Harry Wentland wrote:
>>
>>
>> On 2022-04-08 02:53, 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.
>>>
>>
>> Does the amd_max_bpc test pass after this change?
> 
> We need IGT fix along with this change. And I have made the required changes in IGT: https://patchwork.freedesktop.org/series/102387/>> 

Thanks, I spotted that patch after I sent this email. :)

Harry

> - Bhanu
> 
>>
>> Harry
>>
>>> Cc: Harry Wentland <harry.wentland@amd.com>
>>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>>> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@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(-)
>>>
>>> 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
>>
> 


  reply	other threads:[~2022-04-08 15:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-08  6:53 [PATCH 0/3] Expose max and current bpc via debugfs Bhanuprakash Modem
2022-04-08  6:53 ` [PATCH 1/3] drm/debug: Expose connector's max supported " Bhanuprakash Modem
2022-04-08 15:02   ` Harry Wentland
2022-04-08 15:25     ` Modem, Bhanuprakash
2022-04-11  3:57   ` [V2 " Bhanuprakash Modem
2022-04-08  6:53 ` [PATCH 2/3] drm/i915/display/debug: Expose crtc current " Bhanuprakash Modem
2022-04-08  6:53 ` [PATCH 3/3] drm/amd/display: Move connector debugfs to drm Bhanuprakash Modem
2022-04-08 12:56   ` kernel test robot
2022-04-08 15:03   ` Harry Wentland
2022-04-08 15:23     ` Modem, Bhanuprakash
2022-04-08 15:25       ` Harry Wentland [this message]
2022-04-11  9:48 ` [V2 0/3] Expose max and current bpc via debugfs Bhanuprakash Modem

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9c18564d-b684-a500-5d46-bebeb65aedef@amd.com \
    --to=harry.wentland@amd.com \
    --cc=Rodrigo.Siqueira@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=bhanuprakash.modem@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=swati2.sharma@intel.com \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).