Home
last modified time | relevance | path

Searched refs:dpcd (Results 1 – 25 of 41) sorted by relevance

12

/Linux-v5.15/drivers/gpu/drm/nouveau/
Dnouveau_dp.c43 return drm_dp_read_sink_count_cap(connector, outp->dp.dpcd, &outp->dp.desc); in nouveau_dp_has_sink_count()
55 u8 *dpcd = outp->dp.dpcd; in nouveau_dp_probe_dpcd() local
57 ret = drm_dp_read_dpcd_caps(aux, dpcd); in nouveau_dp_probe_dpcd()
61 ret = drm_dp_read_desc(aux, &outp->dp.desc, drm_dp_is_branch(dpcd)); in nouveau_dp_probe_dpcd()
68 mstm->can_mst = drm_dp_read_mst_cap(aux, dpcd); in nouveau_dp_probe_dpcd()
86 ret = drm_dp_read_downstream_info(aux, dpcd, in nouveau_dp_probe_dpcd()
109 u8 *dpcd = nv_encoder->dp.dpcd; in nouveau_dp_detect() local
116 dpcd[DP_DPCD_REV] != 0) in nouveau_dp_detect()
146 nv_encoder->dp.link_bw = 27000 * dpcd[DP_MAX_LINK_RATE]; in nouveau_dp_detect()
148 dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; in nouveau_dp_detect()
[all …]
Dnouveau_encoder.h80 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
/Linux-v5.15/drivers/gpu/drm/
Ddrm_dp_helper.c144 const u8 dpcd[DP_RECEIVER_CAP_SIZE]) in drm_dp_link_train_clock_recovery_delay()
146 unsigned long rd_interval = dpcd[DP_TRAINING_AUX_RD_INTERVAL] & in drm_dp_link_train_clock_recovery_delay()
153 if (rd_interval == 0 || dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14) in drm_dp_link_train_clock_recovery_delay()
178 const u8 dpcd[DP_RECEIVER_CAP_SIZE]) in drm_dp_link_train_channel_eq_delay()
181 dpcd[DP_TRAINING_AUX_RD_INTERVAL] & in drm_dp_link_train_channel_eq_delay()
476 bool drm_dp_downstream_is_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], in drm_dp_downstream_is_type()
479 return drm_dp_is_branch(dpcd) && in drm_dp_downstream_is_type()
480 dpcd[DP_DPCD_REV] >= 0x11 && in drm_dp_downstream_is_type()
493 bool drm_dp_downstream_is_tmds(const u8 dpcd[DP_RECEIVER_CAP_SIZE], in drm_dp_downstream_is_tmds()
497 if (dpcd[DP_DPCD_REV] < 0x11) { in drm_dp_downstream_is_tmds()
[all …]
/Linux-v5.15/include/drm/
Ddrm_dp_helper.h1505 const u8 dpcd[DP_RECEIVER_CAP_SIZE]);
1508 const u8 dpcd[DP_RECEIVER_CAP_SIZE]);
1711 drm_dp_max_link_rate(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) in drm_dp_max_link_rate()
1713 return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); in drm_dp_max_link_rate()
1717 drm_dp_max_lane_count(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) in drm_dp_max_lane_count()
1719 return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; in drm_dp_max_lane_count()
1723 drm_dp_enhanced_frame_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) in drm_dp_enhanced_frame_cap()
1725 return dpcd[DP_DPCD_REV] >= 0x11 && in drm_dp_enhanced_frame_cap()
1726 (dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP); in drm_dp_enhanced_frame_cap()
1730 drm_dp_fast_training_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) in drm_dp_fast_training_cap()
[all …]
/Linux-v5.15/drivers/gpu/drm/bridge/analogix/
Danalogix-anx6345.c64 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
100 u8 dp_bw, dpcd[2]; in anx6345_dp_link_training() local
135 &anx6345->dpcd, DP_RECEIVER_CAP_SIZE); in anx6345_dp_link_training()
151 if (anx6345->dpcd[DP_DPCD_REV] >= 0x11) { in anx6345_dp_link_training()
152 err = drm_dp_dpcd_readb(&anx6345->aux, DP_SET_POWER, &dpcd[0]); in anx6345_dp_link_training()
159 dpcd[0] &= ~DP_SET_POWER_MASK; in anx6345_dp_link_training()
160 dpcd[0] |= DP_SET_POWER_D0; in anx6345_dp_link_training()
162 err = drm_dp_dpcd_writeb(&anx6345->aux, DP_SET_POWER, dpcd[0]); in anx6345_dp_link_training()
183 if (anx6345->dpcd[DP_MAX_DOWNSPREAD] & DP_MAX_DOWNSPREAD_0_5) { in anx6345_dp_link_training()
202 if (drm_dp_enhanced_frame_cap(anx6345->dpcd)) in anx6345_dp_link_training()
[all …]
Danalogix-anx78xx.c83 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
606 u8 dp_bw, dpcd[2]; in anx78xx_dp_link_training() local
647 &anx78xx->dpcd, DP_RECEIVER_CAP_SIZE); in anx78xx_dp_link_training()
663 if (anx78xx->dpcd[DP_DPCD_REV] >= 0x11) { in anx78xx_dp_link_training()
664 err = drm_dp_dpcd_readb(&anx78xx->aux, DP_SET_POWER, &dpcd[0]); in anx78xx_dp_link_training()
671 dpcd[0] &= ~DP_SET_POWER_MASK; in anx78xx_dp_link_training()
672 dpcd[0] |= DP_SET_POWER_D0; in anx78xx_dp_link_training()
674 err = drm_dp_dpcd_writeb(&anx78xx->aux, DP_SET_POWER, dpcd[0]); in anx78xx_dp_link_training()
695 if (anx78xx->dpcd[DP_MAX_DOWNSPREAD] & DP_MAX_DOWNSPREAD_0_5) { in anx78xx_dp_link_training()
714 if (drm_dp_enhanced_frame_cap(anx78xx->dpcd)) in anx78xx_dp_link_training()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/amdgpu/
Datombios_dp.c252 const u8 dpcd[DP_DPCD_SIZE], in amdgpu_atombios_dp_get_dp_link_config()
259 unsigned max_link_rate = drm_dp_max_link_rate(dpcd); in amdgpu_atombios_dp_get_dp_link_config()
260 unsigned max_lane_num = drm_dp_max_lane_count(dpcd); in amdgpu_atombios_dp_get_dp_link_config()
321 if (!(dig_connector->dpcd[DP_DOWN_STREAM_PORT_COUNT] & DP_OUI_SUPPORT)) in amdgpu_atombios_dp_probe_oui()
338 if (dig_connector->dpcd[DP_DPCD_REV] > 0x10) { in amdgpu_atombios_dp_ds_ports()
358 memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE); in amdgpu_atombios_dp_get_dpcd()
360 DRM_DEBUG_KMS("DPCD: %*ph\n", (int)sizeof(dig_connector->dpcd), in amdgpu_atombios_dp_get_dpcd()
361 dig_connector->dpcd); in amdgpu_atombios_dp_get_dpcd()
368 dig_connector->dpcd[0] = 0; in amdgpu_atombios_dp_get_dpcd()
420 ret = amdgpu_atombios_dp_get_dp_link_config(connector, dig_connector->dpcd, in amdgpu_atombios_dp_set_link_config()
[all …]
/Linux-v5.15/drivers/gpu/drm/msm/dp/
Ddp_panel.c29 u8 *dpcd, major = 0, minor = 0, temp; in dp_panel_read_dpcd() local
32 dpcd = dp_panel->dpcd; in dp_panel_read_dpcd()
38 dpcd, (DP_RECEIVER_CAP_SIZE + 1)); in dp_panel_read_dpcd()
49 temp = dpcd[DP_TRAINING_AUX_RD_INTERVAL]; in dp_panel_read_dpcd()
58 dpcd, (DP_RECEIVER_CAP_SIZE + 1)); in dp_panel_read_dpcd()
69 link_info->revision = dpcd[DP_DPCD_REV]; in dp_panel_read_dpcd()
73 link_info->rate = drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); in dp_panel_read_dpcd()
74 link_info->num_lanes = dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; in dp_panel_read_dpcd()
87 if (drm_dp_enhanced_frame_cap(dpcd)) in dp_panel_read_dpcd()
90 dp_panel->dfp_present = dpcd[DP_DOWNSTREAMPORT_PRESENT]; in dp_panel_read_dpcd()
[all …]
Ddp_ctrl.c122 u8 *dpcd = ctrl->panel->dpcd; in dp_ctrl_config_ctrl() local
128 if (dpcd[DP_EDP_CONFIGURATION_CAP] & DP_ALTERNATE_SCRAMBLER_RESET_CAP) in dp_ctrl_config_ctrl()
145 if (drm_dp_enhanced_frame_cap(dpcd)) in dp_ctrl_config_ctrl()
1099 drm_dp_link_train_clock_recovery_delay(ctrl->aux, ctrl->panel->dpcd); in dp_ctrl_link_train_1()
1177 drm_dp_link_train_channel_eq_delay(ctrl->aux, ctrl->panel->dpcd); in dp_ctrl_clear_training_pattern()
1192 if (drm_dp_tps3_supported(ctrl->panel->dpcd)) in dp_ctrl_link_train_2()
1204 drm_dp_link_train_channel_eq_delay(ctrl->aux, ctrl->panel->dpcd); in dp_ctrl_link_train_2()
1409 u8 *dpcd = ctrl->panel->dpcd; in dp_ctrl_use_fixed_nvid() local
1415 if (drm_dp_is_branch(dpcd)) in dp_ctrl_use_fixed_nvid()
Ddp_panel.h39 u8 dpcd[DP_RECEIVER_CAP_SIZE + 1]; member
/Linux-v5.15/drivers/gpu/drm/radeon/
Datombios_dp.c307 const u8 dpcd[DP_DPCD_SIZE], in radeon_dp_get_dp_link_config()
313 unsigned max_link_rate = drm_dp_max_link_rate(dpcd); in radeon_dp_get_dp_link_config()
314 unsigned max_lane_num = drm_dp_max_lane_count(dpcd); in radeon_dp_get_dp_link_config()
375 if (!(dig_connector->dpcd[DP_DOWN_STREAM_PORT_COUNT] & DP_OUI_SUPPORT)) in radeon_dp_probe_oui()
396 memcpy(dig_connector->dpcd, msg, DP_DPCD_SIZE); in radeon_dp_getdpcd()
398 DRM_DEBUG_KMS("DPCD: %*ph\n", (int)sizeof(dig_connector->dpcd), in radeon_dp_getdpcd()
399 dig_connector->dpcd); in radeon_dp_getdpcd()
406 dig_connector->dpcd[0] = 0; in radeon_dp_getdpcd()
463 ret = radeon_dp_get_dp_link_config(connector, dig_connector->dpcd, in radeon_dp_set_link_config()
490 ret = radeon_dp_get_dp_link_config(connector, dig_connector->dpcd, in radeon_dp_mode_valid_helper()
[all …]
/Linux-v5.15/drivers/gpu/drm/tegra/
Ddp.c172 u8 dpcd[DP_RECEIVER_CAP_SIZE], value; in drm_dp_link_probe() local
178 err = drm_dp_dpcd_read(aux, DP_DPCD_REV, dpcd, sizeof(dpcd)); in drm_dp_link_probe()
182 link->revision = dpcd[DP_DPCD_REV]; in drm_dp_link_probe()
183 link->max_rate = drm_dp_max_link_rate(dpcd); in drm_dp_link_probe()
184 link->max_lanes = drm_dp_max_lane_count(dpcd); in drm_dp_link_probe()
186 link->caps.enhanced_framing = drm_dp_enhanced_frame_cap(dpcd); in drm_dp_link_probe()
187 link->caps.tps3_supported = drm_dp_tps3_supported(dpcd); in drm_dp_link_probe()
188 link->caps.fast_training = drm_dp_fast_training_cap(dpcd); in drm_dp_link_probe()
189 link->caps.channel_coding = drm_dp_channel_coding_supported(dpcd); in drm_dp_link_probe()
191 if (drm_dp_alternate_scrambler_reset_cap(dpcd)) { in drm_dp_link_probe()
[all …]
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/engine/disp/
Ddp.c57 if (dp->dpcd[DPCD_RC0E_AUX_RD_INTERVAL]) in nvkm_dp_train_sense()
58 mdelay(dp->dpcd[DPCD_RC0E_AUX_RD_INTERVAL] * 4); in nvkm_dp_train_sense()
166 if (lt->dp->dpcd[DPCD_RC02] & DPCD_RC02_TPS3_SUPPORTED) in nvkm_dp_train_eq()
244 dp->dpcd[DPCD_RC02] &= ~DPCD_RC02_TPS3_SUPPORTED; in nvkm_dp_train_links()
245 lt.pc2 = dp->dpcd[DPCD_RC02] & DPCD_RC02_TPS3_SUPPORTED; in nvkm_dp_train_links()
324 if (dp->dpcd[DPCD_RC03] & DPCD_RC03_MAX_DOWNSPREAD) { in nvkm_dp_train_init()
369 const u8 sink_nr = dp->dpcd[DPCD_RC02] & DPCD_RC02_MAX_LANE_COUNT; in nvkm_dp_train()
370 const u8 sink_bw = dp->dpcd[DPCD_RC01_MAX_LINK_RATE]; in nvkm_dp_train()
427 ior->dp.ef = dp->dpcd[DPCD_RC02] & DPCD_RC02_ENHANCED_FRAME_CAP; in nvkm_dp_train()
541 if (!nvkm_rdaux(aux, DPCD_RC00_DPCD_REV, dp->dpcd, in nvkm_dp_enable()
[all …]
Ddp.h24 u8 dpcd[16]; member
/Linux-v5.15/drivers/gpu/drm/gma500/
Dcdv_intel_dp.c267 uint8_t dpcd[4]; member
330 if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11) { in cdv_intel_dp_max_lane_count()
331 max_lane_count = intel_dp->dpcd[DP_MAX_LANE_COUNT] & 0x1f; in cdv_intel_dp_max_lane_count()
346 int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE]; in cdv_intel_dp_max_link_bw()
1080 if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 && in cdv_intel_dp_mode_set()
1081 (intel_dp->dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP)) { in cdv_intel_dp_mode_set()
1116 if (intel_dp->dpcd[DP_DPCD_REV] < 0x11) in cdv_intel_dp_sink_dpms()
1675 if (cdv_intel_dp_aux_native_read(encoder, 0x000, intel_dp->dpcd, in cdv_dp_detect()
1676 sizeof (intel_dp->dpcd)) == sizeof (intel_dp->dpcd)) in cdv_dp_detect()
1678 if (intel_dp->dpcd[DP_DPCD_REV] != 0) in cdv_dp_detect()
[all …]
/Linux-v5.15/drivers/gpu/drm/msm/edp/
Dedp_ctrl.c95 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
405 u8 max_lane = drm_dp_max_lane_count(ctrl->dpcd); in edp_fill_link_cfg()
415 ctrl->link_rate = ctrl->dpcd[DP_MAX_LINK_RATE]; in edp_fill_link_cfg()
441 if (drm_dp_enhanced_frame_cap(ctrl->dpcd)) in edp_config_ctrl()
611 drm_dp_link_train_clock_recovery_delay(ctrl->drm_aux, ctrl->dpcd); in edp_start_link_train_1()
668 drm_dp_link_train_channel_eq_delay(ctrl->drm_aux, ctrl->dpcd); in edp_start_link_train_2()
703 max_lane = drm_dp_max_lane_count(ctrl->dpcd); in edp_link_rate_down_shift()
746 drm_dp_link_train_channel_eq_delay(ctrl->drm_aux, ctrl->dpcd); in edp_clear_training_pattern()
764 if (drm_dp_enhanced_frame_cap(ctrl->dpcd)) in edp_do_link_train()
974 if (ctrl->dpcd[DP_DPCD_REV] >= 0x11) { in edp_ctrl_on_worker()
[all …]
/Linux-v5.15/drivers/gpu/drm/i915/display/
Dintel_dp_link_training.c202 if (drm_dp_read_dpcd_caps(&intel_dp->aux, intel_dp->dpcd)) { in intel_dp_init_lttpr_and_dprx_caps()
488 if (drm_dp_enhanced_frame_cap(intel_dp->dpcd)) in intel_dp_prepare_link_train()
510 drm_dp_link_train_clock_recovery_delay(&intel_dp->aux, intel_dp->dpcd); in intel_dp_link_training_clock_recovery_delay()
545 if (intel_dp->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14) in intel_dp_link_training_clock_recovery()
624 drm_dp_tps4_supported(intel_dp->dpcd); in intel_dp_training_pattern()
642 drm_dp_tps3_supported(intel_dp->dpcd); in intel_dp_training_pattern()
662 drm_dp_link_train_channel_eq_delay(&intel_dp->aux, intel_dp->dpcd); in intel_dp_link_training_channel_equalization_delay()
Dintel_dp.c133 max_rate = drm_dp_bw_code_to_link_rate(intel_dp->dpcd[DP_MAX_LINK_RATE]); in intel_dp_set_sink_rates()
180 int sink_max = drm_dp_max_lane_count(intel_dp->dpcd); in intel_dp_max_common_lane_count()
1811 return intel_dp->dpcd[DP_DPCD_REV] == 0x11 && in downstream_hpd_needs_d0()
1812 drm_dp_is_branch(intel_dp->dpcd) && in downstream_hpd_needs_d0()
1865 if (intel_dp->dpcd[DP_DPCD_REV] < 0x11) in intel_dp_set_power()
1926 if (intel_dp->dpcd[DP_DPCD_REV] == 0) in intel_dp_sync_state()
2116 if (drm_dp_is_branch(intel_dp->dpcd) && in intel_dp_is_hdmi_2_1_sink()
2255 if (intel_dp->dpcd[DP_DPCD_REV] < 0x13) in intel_dp_configure_protocol_converter()
2258 if (!drm_dp_is_branch(intel_dp->dpcd)) in intel_dp_configure_protocol_converter()
2289 bt2020 = drm_dp_downstream_rgb_to_ycbcr_conversion(intel_dp->dpcd, in intel_dp_configure_protocol_converter()
[all …]
/Linux-v5.15/drivers/gpu/drm/i915/gvt/
Ddisplay.c515 kfree(port->dpcd); in clean_virtual_dp_monitor()
516 port->dpcd = NULL; in clean_virtual_dp_monitor()
548 port->dpcd = kzalloc(sizeof(*(port->dpcd)), GFP_KERNEL); in setup_virtual_dp_monitor()
549 if (!port->dpcd) { in setup_virtual_dp_monitor()
558 memcpy(port->dpcd->data, dpcd_fix_data, DPCD_HEADER_SIZE); in setup_virtual_dp_monitor()
559 port->dpcd->data_valid = true; in setup_virtual_dp_monitor()
560 port->dpcd->data[DPCD_SINK_COUNT] = 0x1; in setup_virtual_dp_monitor()
Ddisplay.h166 struct intel_vgpu_dpcd_data *dpcd; member
/Linux-v5.15/drivers/gpu/drm/xlnx/
Dzynqmp_dp.c317 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
710 drm_dp_link_train_clock_recovery_delay(&dp->aux, dp->dpcd); in zynqmp_dp_link_train_cr()
758 if (dp->dpcd[DP_DPCD_REV] >= DP_V1_2 && in zynqmp_dp_link_train_ce()
759 dp->dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED) in zynqmp_dp_link_train_ce()
775 drm_dp_link_train_channel_eq_delay(&dp->aux, dp->dpcd); in zynqmp_dp_link_train_ce()
809 enhanced = drm_dp_enhanced_frame_cap(dp->dpcd); in zynqmp_dp_train()
815 if (dp->dpcd[3] & 0x1) { in zynqmp_dp_train()
1306 ret = drm_dp_dpcd_read(&dp->aux, 0x0, dp->dpcd, in zynqmp_dp_connector_detect()
1307 sizeof(dp->dpcd)); in zynqmp_dp_connector_detect()
1314 drm_dp_max_link_rate(dp->dpcd), in zynqmp_dp_connector_detect()
[all …]
/Linux-v5.15/drivers/gpu/drm/bridge/
Dtc358767.c233 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
673 ret = drm_dp_dpcd_read(&tc->aux, DP_DPCD_REV, tc->link.dpcd, in tc_get_display_props()
678 revision = tc->link.dpcd[DP_DPCD_REV]; in tc_get_display_props()
679 rate = drm_dp_max_link_rate(tc->link.dpcd); in tc_get_display_props()
680 num_lanes = drm_dp_max_lane_count(tc->link.dpcd); in tc_get_display_props()
716 drm_dp_enhanced_frame_cap(tc->link.dpcd) ? in tc_get_display_props()
994 if (drm_dp_enhanced_frame_cap(tc->link.dpcd)) in tc_main_link_enable()
1041 (drm_dp_enhanced_frame_cap(tc->link.dpcd) ? in tc_main_link_enable()
1192 if (drm_dp_enhanced_frame_cap(tc->link.dpcd)) in tc_stream_enable()
/Linux-v5.15/Documentation/devicetree/bindings/display/exynos/
Dexynos_dp.txt67 -samsung,link-rate: deprecated prop that can reading from monitor by dpcd method.
68 -samsung,lane-count: deprecated prop that can reading from monitor by dpcd method.
/Linux-v5.15/drivers/gpu/drm/rockchip/
Dcdn-dp-core.h102 u8 dpcd[DP_RECEIVER_CAP_SIZE]; member
/Linux-v5.15/drivers/gpu/drm/bridge/cadence/
Dcdns-mhdp8546-core.c1383 u8 dpcd[DP_RECEIVER_CAP_SIZE]) in cdns_mhdp_fill_sink_caps()
1391 mhdp->sink.ssc = !!(dpcd[DP_MAX_DOWNSPREAD] & in cdns_mhdp_fill_sink_caps()
1396 if (drm_dp_tps3_supported(dpcd)) in cdns_mhdp_fill_sink_caps()
1398 if (drm_dp_tps4_supported(dpcd)) in cdns_mhdp_fill_sink_caps()
1402 mhdp->sink.fast_link = !!(dpcd[DP_MAX_DOWNSPREAD] & in cdns_mhdp_fill_sink_caps()
1408 u8 dpcd[DP_RECEIVER_CAP_SIZE], amp[2]; in cdns_mhdp_link_up() local
1424 err = drm_dp_dpcd_read(&mhdp->aux, addr, dpcd, DP_RECEIVER_CAP_SIZE); in cdns_mhdp_link_up()
1430 mhdp->link.revision = dpcd[0]; in cdns_mhdp_link_up()
1431 mhdp->link.rate = drm_dp_bw_code_to_link_rate(dpcd[1]); in cdns_mhdp_link_up()
1432 mhdp->link.num_lanes = dpcd[2] & DP_MAX_LANE_COUNT_MASK; in cdns_mhdp_link_up()
[all …]

12