From: Harry Wentland <harry.wentland@amd.com>
To: Bhanuprakash Modem <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: [Intel-gfx] [V2 3/3] drm/amd/display: Move connector debugfs to drm
Date: Mon, 2 May 2022 14:51:25 -0400 [thread overview]
Message-ID: <164a32d4-28ee-d722-ba03-b0c3e5d455b7@amd.com> (raw)
In-Reply-To: <20220411095129.1652096-4-bhanuprakash.modem@intel.com>
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
next prev parent reply other threads:[~2022-05-02 18:51 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-11 9:51 [Intel-gfx] [V2 0/3] Expose max and current bpc via debugfs Bhanuprakash Modem
2022-04-11 9:51 ` [Intel-gfx] [V2 1/3] drm/debug: Expose connector's max supported " Bhanuprakash Modem
2022-04-12 3:07 ` Murthy, Arun R
2022-04-12 4:03 ` Modem, Bhanuprakash
2022-04-29 14:27 ` Murthy, Arun R
2022-05-02 11:49 ` Jani Nikula
2022-05-02 18:51 ` Harry Wentland
2022-04-11 9:51 ` [Intel-gfx] [V2 2/3] drm/i915/display/debug: Expose crtc current " Bhanuprakash Modem
2022-04-12 3:10 ` Murthy, Arun R
2022-05-16 8:39 ` Jani Nikula
2022-04-11 9:51 ` [Intel-gfx] [V2 3/3] drm/amd/display: Move connector debugfs to drm Bhanuprakash Modem
2022-04-29 14:32 ` Murthy, Arun R
2022-05-02 13:28 ` Modem, Bhanuprakash
2022-05-02 13:38 ` Harry Wentland
2022-05-02 14:27 ` Modem, Bhanuprakash
2022-05-02 14:29 ` Harry Wentland
2022-05-02 18:54 ` Harry Wentland
2022-05-16 8:39 ` Jani Nikula
2022-05-18 5:38 ` Modem, Bhanuprakash
2022-05-02 18:51 ` Harry Wentland [this message]
2022-04-11 12:40 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for Expose max and current bpc via debugfs Patchwork
2022-04-13 20:39 ` [Intel-gfx] ✓ Fi.CI.BAT: success for Expose max and current bpc via debugfs (rev2) Patchwork
2022-04-13 22:22 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-05-06 10:54 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev3) Patchwork
2022-05-06 11:03 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-05-06 14:03 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2022-05-06 15:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev4) Patchwork
2022-05-06 16:05 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-05-06 18:35 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2022-05-08 16:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev5) Patchwork
2022-05-08 17:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-05-08 19:53 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-05-09 6:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev6) Patchwork
2022-05-09 6:58 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-05-09 17:37 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev7) Patchwork
2022-05-09 18:03 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-05-10 2:16 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-05-10 11:18 ` [Intel-gfx] [V2 0/3] Expose max and current bpc via debugfs Modem, Bhanuprakash
2022-05-17 8:33 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev8) Patchwork
2022-05-19 13:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Expose max and current bpc via debugfs (rev9) Patchwork
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=164a32d4-28ee-d722-ba03-b0c3e5d455b7@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