Lines Matching +full:d +full:- +full:link
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
6 #define pr_fmt(fmt)"[drm-dp] %s: " fmt, __func__
21 struct msm_dp_link *link; member
28 struct msm_dp_debug_private *debug = seq->private; in msm_dp_debug_show()
34 return -ENODEV; in msm_dp_debug_show()
36 drm_mode = &debug->panel->msm_dp_mode.drm_mode; in msm_dp_debug_show()
40 debug->panel->link_info.rate); in msm_dp_debug_show()
42 debug->panel->link_info.num_lanes); in msm_dp_debug_show()
44 debug->panel->link_info.capabilities); in msm_dp_debug_show()
45 seq_printf(seq, "\tdp_panel_info:\n\t\tactive = %dx%d\n", in msm_dp_debug_show()
46 drm_mode->hdisplay, in msm_dp_debug_show()
47 drm_mode->vdisplay); in msm_dp_debug_show()
48 seq_printf(seq, "\t\tback_porch = %dx%d\n", in msm_dp_debug_show()
49 drm_mode->htotal - drm_mode->hsync_end, in msm_dp_debug_show()
50 drm_mode->vtotal - drm_mode->vsync_end); in msm_dp_debug_show()
51 seq_printf(seq, "\t\tfront_porch = %dx%d\n", in msm_dp_debug_show()
52 drm_mode->hsync_start - drm_mode->hdisplay, in msm_dp_debug_show()
53 drm_mode->vsync_start - drm_mode->vdisplay); in msm_dp_debug_show()
54 seq_printf(seq, "\t\tsync_width = %dx%d\n", in msm_dp_debug_show()
55 drm_mode->hsync_end - drm_mode->hsync_start, in msm_dp_debug_show()
56 drm_mode->vsync_end - drm_mode->vsync_start); in msm_dp_debug_show()
57 seq_printf(seq, "\t\tactive_low = %dx%d\n", in msm_dp_debug_show()
58 debug->panel->msm_dp_mode.h_active_low, in msm_dp_debug_show()
59 debug->panel->msm_dp_mode.v_active_low); in msm_dp_debug_show()
60 seq_printf(seq, "\t\th_skew = %d\n", in msm_dp_debug_show()
61 drm_mode->hskew); in msm_dp_debug_show()
62 seq_printf(seq, "\t\trefresh rate = %d\n", in msm_dp_debug_show()
64 seq_printf(seq, "\t\tpixel clock khz = %d\n", in msm_dp_debug_show()
65 drm_mode->clock); in msm_dp_debug_show()
66 seq_printf(seq, "\t\tbpp = %d\n", in msm_dp_debug_show()
67 debug->panel->msm_dp_mode.bpp); in msm_dp_debug_show()
69 /* Link Information */ in msm_dp_debug_show()
70 seq_printf(seq, "\tdp_link:\n\t\ttest_requested = %d\n", in msm_dp_debug_show()
71 debug->link->sink_request); in msm_dp_debug_show()
72 seq_printf(seq, "\t\tnum_lanes = %d\n", in msm_dp_debug_show()
73 debug->link->link_params.num_lanes); in msm_dp_debug_show()
74 link_params_rate = debug->link->link_params.rate; in msm_dp_debug_show()
75 seq_printf(seq, "\t\tbw_code = %d\n", in msm_dp_debug_show()
77 lclk = debug->link->link_params.rate * 1000; in msm_dp_debug_show()
79 seq_printf(seq, "\t\tv_level = %d\n", in msm_dp_debug_show()
80 debug->link->phy_params.v_level); in msm_dp_debug_show()
81 seq_printf(seq, "\t\tp_level = %d\n", in msm_dp_debug_show()
82 debug->link->phy_params.p_level); in msm_dp_debug_show()
90 const struct msm_dp_debug_private *debug = m->private; in msm_dp_test_data_show()
91 const struct drm_connector *connector = debug->connector; in msm_dp_test_data_show()
94 if (connector->status == connector_status_connected) { in msm_dp_test_data_show()
95 bpc = debug->link->test_video.test_bit_depth; in msm_dp_test_data_show()
96 seq_printf(m, "hdisplay: %d\n", in msm_dp_test_data_show()
97 debug->link->test_video.test_h_width); in msm_dp_test_data_show()
98 seq_printf(m, "vdisplay: %d\n", in msm_dp_test_data_show()
99 debug->link->test_video.test_v_height); in msm_dp_test_data_show()
112 const struct msm_dp_debug_private *debug = m->private; in msm_dp_test_type_show()
113 const struct drm_connector *connector = debug->connector; in msm_dp_test_type_show()
115 if (connector->status == connector_status_connected) in msm_dp_test_type_show()
134 debug = ((struct seq_file *)file->private_data)->private; in msm_dp_test_active_write()
135 connector = debug->connector; in msm_dp_test_active_write()
144 DRM_DEBUG_DRIVER("Copied %d bytes from user\n", (unsigned int)len); in msm_dp_test_active_write()
146 if (connector->status == connector_status_connected) { in msm_dp_test_active_write()
152 DRM_DEBUG_DRIVER("Got %d for test active\n", val); in msm_dp_test_active_write()
157 debug->panel->video_test = true; in msm_dp_test_active_write()
159 debug->panel->video_test = false; in msm_dp_test_active_write()
169 struct msm_dp_debug_private *debug = m->private; in msm_dp_test_active_show()
170 struct drm_connector *connector = debug->connector; in msm_dp_test_active_show()
172 if (connector->status == connector_status_connected) { in msm_dp_test_active_show()
173 if (debug->panel->video_test) in msm_dp_test_active_show()
188 inode->i_private); in msm_dp_test_active_open()
201 struct msm_dp_link *link, in msm_dp_debug_init() argument
207 if (!dev || !panel || !link) { in msm_dp_debug_init()
209 return -EINVAL; in msm_dp_debug_init()
214 return -ENOMEM; in msm_dp_debug_init()
216 debug->link = link; in msm_dp_debug_init()
217 debug->panel = panel; in msm_dp_debug_init()