Lines Matching full:panel

22 static void dp_panel_read_psr_cap(struct dp_panel_private *panel)  in dp_panel_read_psr_cap()  argument
27 dp_panel = &panel->dp_panel; in dp_panel_read_psr_cap()
31 rlen = drm_dp_dpcd_read(panel->aux, DP_PSR_SUPPORT, in dp_panel_read_psr_cap()
34 drm_dbg_dp(panel->drm_dev, in dp_panel_read_psr_cap()
46 struct dp_panel_private *panel; in dp_panel_read_dpcd() local
50 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_read_dpcd()
52 rc = drm_dp_read_dpcd_caps(panel->aux, dpcd); in dp_panel_read_dpcd()
72 drm_dbg_dp(panel->drm_dev, "version: %d.%d\n", major, minor); in dp_panel_read_dpcd()
73 drm_dbg_dp(panel->drm_dev, "link_rate=%d\n", link_info->rate); in dp_panel_read_dpcd()
74 drm_dbg_dp(panel->drm_dev, "lane_count=%d\n", link_info->num_lanes); in dp_panel_read_dpcd()
79 dp_panel_read_psr_cap(panel); in dp_panel_read_dpcd()
132 struct dp_panel_private *panel; in dp_panel_read_sink_caps() local
139 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_read_sink_caps()
157 count = drm_dp_read_sink_count(panel->aux); in dp_panel_read_sink_caps()
159 panel->link->sink_count = 0; in dp_panel_read_sink_caps()
164 rc = drm_dp_read_downstream_info(panel->aux, dp_panel->dpcd, in dp_panel_read_sink_caps()
173 &panel->aux->ddc); in dp_panel_read_sink_caps()
175 DRM_ERROR("panel edid read failed\n"); in dp_panel_read_sink_caps()
177 if (!dp_catalog_link_is_connected(panel->catalog)) { in dp_panel_read_sink_caps()
190 struct dp_panel_private *panel; in dp_panel_get_mode_bpp() local
198 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_get_mode_bpp()
202 panel->link->test_video.test_bit_depth); in dp_panel_get_mode_bpp()
233 struct dp_panel_private *panel; in dp_panel_handle_sink_request() local
240 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_handle_sink_request()
242 if (panel->link->sink_request & DP_TEST_LINK_EDID_READ) { in dp_panel_handle_sink_request()
250 dp_link_send_edid_checksum(panel->link, checksum); in dp_panel_handle_sink_request()
251 dp_link_send_test_response(panel->link); in dp_panel_handle_sink_request()
258 struct dp_panel_private *panel; in dp_panel_tpg_config() local
265 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_tpg_config()
266 catalog = panel->catalog; in dp_panel_tpg_config()
268 if (!panel->panel_on) { in dp_panel_tpg_config()
269 drm_dbg_dp(panel->drm_dev, in dp_panel_tpg_config()
270 "DP panel not enabled, handle TPG on next on\n"); in dp_panel_tpg_config()
279 drm_dbg_dp(panel->drm_dev, "calling catalog tpg_enable\n"); in dp_panel_tpg_config()
280 dp_catalog_panel_tpg_enable(catalog, &panel->dp_panel.dp_mode.drm_mode); in dp_panel_tpg_config()
286 struct dp_panel_private *panel; in dp_panel_dump_regs() local
288 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_dump_regs()
289 catalog = panel->catalog; in dp_panel_dump_regs()
298 struct dp_panel_private *panel; in dp_panel_timing_cfg() local
301 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_timing_cfg()
302 catalog = panel->catalog; in dp_panel_timing_cfg()
303 drm_mode = &panel->dp_panel.dp_mode.drm_mode; in dp_panel_timing_cfg()
305 drm_dbg_dp(panel->drm_dev, "width=%d hporch= %d %d %d\n", in dp_panel_timing_cfg()
310 drm_dbg_dp(panel->drm_dev, "height=%d vporch= %d %d %d\n", in dp_panel_timing_cfg()
333 data |= (panel->dp_panel.dp_mode.v_active_low << 31); in dp_panel_timing_cfg()
335 data |= (panel->dp_panel.dp_mode.h_active_low << 15); in dp_panel_timing_cfg()
346 panel->panel_on = true; in dp_panel_timing_cfg()
354 struct dp_panel_private *panel; in dp_panel_init_panel_info() local
358 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_init_panel_info()
364 drm_dbg_dp(panel->drm_dev, "SET NEW RESOLUTION:\n"); in dp_panel_init_panel_info()
365 drm_dbg_dp(panel->drm_dev, "%dx%d@%dfps\n", in dp_panel_init_panel_info()
367 drm_dbg_dp(panel->drm_dev, in dp_panel_init_panel_info()
372 drm_dbg_dp(panel->drm_dev, in dp_panel_init_panel_info()
377 drm_dbg_dp(panel->drm_dev, "pixel clock (KHz)=(%d)\n", in dp_panel_init_panel_info()
379 drm_dbg_dp(panel->drm_dev, "bpp = %d\n", dp_panel->dp_mode.bpp); in dp_panel_init_panel_info()
383 drm_dbg_dp(panel->drm_dev, "updated bpp = %d\n", in dp_panel_init_panel_info()
391 struct dp_panel_private *panel; in dp_panel_get() local
399 panel = devm_kzalloc(in->dev, sizeof(*panel), GFP_KERNEL); in dp_panel_get()
400 if (!panel) in dp_panel_get()
403 panel->dev = in->dev; in dp_panel_get()
404 panel->aux = in->aux; in dp_panel_get()
405 panel->catalog = in->catalog; in dp_panel_get()
406 panel->link = in->link; in dp_panel_get()
408 dp_panel = &panel->dp_panel; in dp_panel_get()