Lines Matching full:panel
27 static void msm_dp_panel_read_psr_cap(struct msm_dp_panel_private *panel) in msm_dp_panel_read_psr_cap() argument
32 msm_dp_panel = &panel->msm_dp_panel; in msm_dp_panel_read_psr_cap()
36 rlen = drm_dp_dpcd_read(panel->aux, DP_PSR_SUPPORT, in msm_dp_panel_read_psr_cap()
39 drm_dbg_dp(panel->drm_dev, in msm_dp_panel_read_psr_cap()
51 struct msm_dp_panel_private *panel; in msm_dp_panel_read_dpcd() local
55 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_read_dpcd()
57 rc = drm_dp_read_dpcd_caps(panel->aux, dpcd); in msm_dp_panel_read_dpcd()
61 msm_dp_panel->vsc_sdp_supported = drm_dp_vsc_sdp_supported(panel->aux, dpcd); in msm_dp_panel_read_dpcd()
78 drm_dbg_dp(panel->drm_dev, "version: %d.%d\n", major, minor); in msm_dp_panel_read_dpcd()
79 drm_dbg_dp(panel->drm_dev, "link_rate=%d\n", link_info->rate); in msm_dp_panel_read_dpcd()
80 drm_dbg_dp(panel->drm_dev, "lane_count=%d\n", link_info->num_lanes); in msm_dp_panel_read_dpcd()
85 msm_dp_panel_read_psr_cap(panel); in msm_dp_panel_read_dpcd()
116 struct msm_dp_panel_private *panel; in msm_dp_panel_read_sink_caps() local
123 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_read_sink_caps()
125 drm_dbg_dp(panel->drm_dev, "max_lanes=%d max_link_rate=%d\n", in msm_dp_panel_read_sink_caps()
144 count = drm_dp_read_sink_count(panel->aux); in msm_dp_panel_read_sink_caps()
146 panel->link->sink_count = 0; in msm_dp_panel_read_sink_caps()
151 rc = drm_dp_read_downstream_info(panel->aux, msm_dp_panel->dpcd, in msm_dp_panel_read_sink_caps()
158 msm_dp_panel->drm_edid = drm_edid_read_ddc(connector, &panel->aux->ddc); in msm_dp_panel_read_sink_caps()
163 DRM_ERROR("panel edid read failed\n"); in msm_dp_panel_read_sink_caps()
165 if (!msm_dp_catalog_link_is_connected(panel->catalog)) { in msm_dp_panel_read_sink_caps()
178 struct msm_dp_panel_private *panel; in msm_dp_panel_get_mode_bpp() local
186 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_get_mode_bpp()
190 panel->link->test_video.test_bit_depth); in msm_dp_panel_get_mode_bpp()
221 struct msm_dp_panel_private *panel; in msm_dp_panel_handle_sink_request() local
228 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_handle_sink_request()
230 if (panel->link->sink_request & DP_TEST_LINK_EDID_READ) { in msm_dp_panel_handle_sink_request()
240 msm_dp_link_send_edid_checksum(panel->link, checksum); in msm_dp_panel_handle_sink_request()
241 msm_dp_link_send_test_response(panel->link); in msm_dp_panel_handle_sink_request()
248 struct msm_dp_panel_private *panel; in msm_dp_panel_tpg_config() local
255 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_tpg_config()
256 catalog = panel->catalog; in msm_dp_panel_tpg_config()
258 if (!panel->panel_on) { in msm_dp_panel_tpg_config()
259 drm_dbg_dp(panel->drm_dev, in msm_dp_panel_tpg_config()
260 "DP panel not enabled, handle TPG on next on\n"); in msm_dp_panel_tpg_config()
269 drm_dbg_dp(panel->drm_dev, "calling catalog tpg_enable\n"); in msm_dp_panel_tpg_config()
270 msm_dp_catalog_panel_tpg_enable(catalog, &panel->msm_dp_panel.msm_dp_mode.drm_mode); in msm_dp_panel_tpg_config()
276 struct msm_dp_panel_private *panel; in msm_dp_panel_setup_vsc_sdp_yuv_420() local
287 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_setup_vsc_sdp_yuv_420()
288 catalog = panel->catalog; in msm_dp_panel_setup_vsc_sdp_yuv_420()
324 struct msm_dp_panel_private *panel; in msm_dp_panel_timing_cfg() local
331 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_timing_cfg()
332 catalog = panel->catalog; in msm_dp_panel_timing_cfg()
333 drm_mode = &panel->msm_dp_panel.msm_dp_mode.drm_mode; in msm_dp_panel_timing_cfg()
335 drm_dbg_dp(panel->drm_dev, "width=%d hporch= %d %d %d\n", in msm_dp_panel_timing_cfg()
340 drm_dbg_dp(panel->drm_dev, "height=%d vporch= %d %d %d\n", in msm_dp_panel_timing_cfg()
363 data |= (panel->msm_dp_panel.msm_dp_mode.v_active_low << 31); in msm_dp_panel_timing_cfg()
365 data |= (panel->msm_dp_panel.msm_dp_mode.h_active_low << 15); in msm_dp_panel_timing_cfg()
380 panel->panel_on = true; in msm_dp_panel_timing_cfg()
388 struct msm_dp_panel_private *panel; in msm_dp_panel_init_panel_info() local
392 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_init_panel_info()
398 drm_dbg_dp(panel->drm_dev, "SET NEW RESOLUTION:\n"); in msm_dp_panel_init_panel_info()
399 drm_dbg_dp(panel->drm_dev, "%dx%d@%dfps\n", in msm_dp_panel_init_panel_info()
401 drm_dbg_dp(panel->drm_dev, in msm_dp_panel_init_panel_info()
406 drm_dbg_dp(panel->drm_dev, in msm_dp_panel_init_panel_info()
411 drm_dbg_dp(panel->drm_dev, "pixel clock (KHz)=(%d)\n", in msm_dp_panel_init_panel_info()
413 drm_dbg_dp(panel->drm_dev, "bpp = %d\n", msm_dp_panel->msm_dp_mode.bpp); in msm_dp_panel_init_panel_info()
418 drm_dbg_dp(panel->drm_dev, "updated bpp = %d\n", in msm_dp_panel_init_panel_info()
450 struct msm_dp_panel_private *panel; in msm_dp_panel_parse_dt() local
454 panel = container_of(msm_dp_panel, struct msm_dp_panel_private, msm_dp_panel); in msm_dp_panel_parse_dt()
455 of_node = panel->dev->of_node; in msm_dp_panel_parse_dt()
481 struct msm_dp_panel_private *panel; in msm_dp_panel_get() local
490 panel = devm_kzalloc(dev, sizeof(*panel), GFP_KERNEL); in msm_dp_panel_get()
491 if (!panel) in msm_dp_panel_get()
494 panel->dev = dev; in msm_dp_panel_get()
495 panel->aux = aux; in msm_dp_panel_get()
496 panel->catalog = catalog; in msm_dp_panel_get()
497 panel->link = link; in msm_dp_panel_get()
499 msm_dp_panel = &panel->msm_dp_panel; in msm_dp_panel_get()