diff options
author | Dave Airlie <airlied@redhat.com> | 2014-05-12 01:22:27 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-07-21 21:20:42 -0400 |
commit | 11bed958b72e15fd12d78c30ce49047b94817840 (patch) | |
tree | 5ec889a95118244554f26f76b120eef5ae512a23 | |
parent | 0e32b39ceed665bfa4a77a4bc307b6652b991632 (diff) |
drm/i915: mst topology dumper in debugfs (v0.2)
use the mst helper code to dump the topology in debugfs.
v0.2: drop is_mst check - as we want to dump other info
Reviewed-by: Todd Previte <tprevite@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/i915/i915_debugfs.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index f27daf70ba72..e6ff0ecf161c 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
@@ -2405,6 +2405,28 @@ struct pipe_crc_info { | |||
2405 | enum pipe pipe; | 2405 | enum pipe pipe; |
2406 | }; | 2406 | }; |
2407 | 2407 | ||
2408 | static int i915_dp_mst_info(struct seq_file *m, void *unused) | ||
2409 | { | ||
2410 | struct drm_info_node *node = (struct drm_info_node *) m->private; | ||
2411 | struct drm_device *dev = node->minor->dev; | ||
2412 | struct drm_encoder *encoder; | ||
2413 | struct intel_encoder *intel_encoder; | ||
2414 | struct intel_digital_port *intel_dig_port; | ||
2415 | drm_modeset_lock_all(dev); | ||
2416 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { | ||
2417 | intel_encoder = to_intel_encoder(encoder); | ||
2418 | if (intel_encoder->type != INTEL_OUTPUT_DISPLAYPORT) | ||
2419 | continue; | ||
2420 | intel_dig_port = enc_to_dig_port(encoder); | ||
2421 | if (!intel_dig_port->dp.can_mst) | ||
2422 | continue; | ||
2423 | |||
2424 | drm_dp_mst_dump_topology(m, &intel_dig_port->dp.mst_mgr); | ||
2425 | } | ||
2426 | drm_modeset_unlock_all(dev); | ||
2427 | return 0; | ||
2428 | } | ||
2429 | |||
2408 | static int i915_pipe_crc_open(struct inode *inode, struct file *filep) | 2430 | static int i915_pipe_crc_open(struct inode *inode, struct file *filep) |
2409 | { | 2431 | { |
2410 | struct pipe_crc_info *info = inode->i_private; | 2432 | struct pipe_crc_info *info = inode->i_private; |
@@ -3906,6 +3928,7 @@ static const struct drm_info_list i915_debugfs_list[] = { | |||
3906 | {"i915_display_info", i915_display_info, 0}, | 3928 | {"i915_display_info", i915_display_info, 0}, |
3907 | {"i915_semaphore_status", i915_semaphore_status, 0}, | 3929 | {"i915_semaphore_status", i915_semaphore_status, 0}, |
3908 | {"i915_shared_dplls_info", i915_shared_dplls_info, 0}, | 3930 | {"i915_shared_dplls_info", i915_shared_dplls_info, 0}, |
3931 | {"i915_dp_mst_info", i915_dp_mst_info, 0}, | ||
3909 | }; | 3932 | }; |
3910 | #define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list) | 3933 | #define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list) |
3911 | 3934 | ||