| /linux/drivers/gpu/drm/amd/display/dc/link/protocols/ |
| H A D | link_dp_capability.c | 109 return (link->dpcd_caps.dongle_type >= DISPLAY_DONGLE_DP_VGA_CONVERTER) && in is_dp_active_dongle() 110 (link->dpcd_caps.dongle_type <= DISPLAY_DONGLE_DP_HDMI_CONVERTER); in is_dp_active_dongle() 115 return link->dpcd_caps.is_branch_dev; in is_dp_branch_device() 305 if (!link->dpcd_caps.dpcd_rev.raw) { in dp_wa_power_up_0010FA() 310 link->dpcd_caps.dpcd_rev.raw = dpcd_data[ in dp_wa_power_up_0010FA() 313 } while (retry++ < 4 && !link->dpcd_caps.dpcd_rev.raw); in dp_wa_power_up_0010FA() 316 if (link->dpcd_caps.dongle_type == DISPLAY_DONGLE_DP_VGA_CONVERTER) { in dp_wa_power_up_0010FA() 317 switch (link->dpcd_caps.branch_dev_id) { in dp_wa_power_up_0010FA() 353 link->dpcd_caps.fec_cap.bits.FEC_CAPABLE); in dp_is_fec_supported() 369 && (link->dpcd_caps.dsc_caps.dsc_basic_caps.fields. in dp_should_enable_fec() [all …]
|
| H A D | link_ddc.c | 217 if (link->dpcd_caps.dongle_type == DISPLAY_DONGLE_DP_VGA_CONVERTER && in defer_delay_converter_wa() 218 link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_0080E1 && in defer_delay_converter_wa() 219 (link->dpcd_caps.branch_fw_revision[0] < 0x01 || in defer_delay_converter_wa() 220 (link->dpcd_caps.branch_fw_revision[0] == 0x01 && in defer_delay_converter_wa() 221 link->dpcd_caps.branch_fw_revision[1] < 0x40)) && in defer_delay_converter_wa() 222 !memcmp(link->dpcd_caps.branch_dev_name, in defer_delay_converter_wa() 224 sizeof(link->dpcd_caps.branch_dev_name))) in defer_delay_converter_wa() 229 if (link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_0080E1 && in defer_delay_converter_wa() 230 !memcmp(link->dpcd_caps.branch_dev_name, in defer_delay_converter_wa() 232 sizeof(link->dpcd_caps.branch_dev_name))) in defer_delay_converter_wa() [all …]
|
| H A D | link_dp_training_8b_10b.c | 58 if (link->dpcd_caps.dpcd_rev.raw >= DPCD_REV_12) in get_cr_training_aux_rd_interval() 91 if (link->dpcd_caps.dpcd_rev.raw >= DPCD_REV_12) in get_eq_training_aux_rd_interval() 430 uint8_t repeater_cnt = dp_parse_lttpr_repeater_count(link->dpcd_caps.lttpr_caps.phy_repeater_cnt); in dp_perform_8b_10b_link_training()
|
| /linux/drivers/gpu/drm/amd/display/dc/link/ |
| H A D | link_detection.c | 563 if (link_rate_set < link->dpcd_caps.edp_supported_link_rates_count) { in read_current_link_settings_on_detect() 565 link->dpcd_caps.edp_supported_link_rates[link_rate_set]; in read_current_link_settings_on_detect() 613 link->dpcd_caps.dongle_type = sink_caps->dongle_type; in detect_dp() 614 link->dpcd_caps.is_dongle_type_one = sink_caps->is_dongle_type_one; in detect_dp() 615 link->dpcd_caps.dpcd_rev.raw = 0; in detect_dp() 616 link->dpcd_caps.usb4_dp_tun_info.dp_tun_cap.raw = 0; in detect_dp() 621 link->dpcd_caps.sink_count.bits.SINK_COUNT = 1; in detect_dp() 623 if (link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_00001A) in detect_dp() 705 link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_90CC24 && in apply_dpia_mst_dsc_always_on_wa() 706 link->dpcd_caps.branch_hw_revision == DP_BRANCH_HW_REV_20 && in apply_dpia_mst_dsc_always_on_wa() [all …]
|
| H A D | link_factory.c | 507 link->link_status.dpcd_caps = &link->dpcd_caps; in construct_phy() 861 link->link_status.dpcd_caps = &link->dpcd_caps; in construct_dpia()
|
| H A D | link_dpms.c | 1887 } else if (link->dpcd_caps.is_mst_capable && in enable_link_dp()
|
| /linux/drivers/gpu/drm/amd/display/modules/power/ |
| H A D | power_helpers.c | 837 struct dpcd_caps *dpcd_caps = &link->dpcd_caps; in is_psr_su_specific_panel() local 839 if (dpcd_caps->edp_rev >= DP_EDP_14) { in is_psr_su_specific_panel() 840 if (dpcd_caps->psr_info.psr_version >= DP_PSR2_WITH_Y_COORD_ET_SUPPORTED) in is_psr_su_specific_panel() 847 if (dpcd_caps->sink_dev_id == DP_BRANCH_DEVICE_ID_001CF8) { in is_psr_su_specific_panel() 852 if (dpcd_caps->psr_info.psr_version < DP_PSR2_WITH_Y_COORD_IS_SUPPORTED) in is_psr_su_specific_panel() 854 else if (dpcd_caps->dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_SUPPORT && in is_psr_su_specific_panel() 855 ((dpcd_caps->sink_dev_id_str[1] == 0x08 && dpcd_caps->sink_dev_id_str[0] == 0x08) || in is_psr_su_specific_panel() 856 (dpcd_caps->sink_dev_id_str[1] == 0x08 && dpcd_caps->sink_dev_id_str[0] == 0x07))) in is_psr_su_specific_panel() 858 else if (dpcd_caps->sink_dev_id_str[1] == 0x08 && dpcd_caps->sink_dev_id_str[0] == 0x03) in is_psr_su_specific_panel() 860 else if (dpcd_caps->sink_dev_id_str[1] == 0x08 && dpcd_caps->sink_dev_id_str[0] == 0x01) in is_psr_su_specific_panel() [all …]
|
| /linux/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm_psr.c | 46 if (!link->dpcd_caps.alpm_caps.bits.AUX_WAKE_ALPM_CAP || in link_supports_psrsu() 47 !link->dpcd_caps.psr_info.psr_dpcd_caps.bits.Y_COORDINATE_REQUIRED) in link_supports_psrsu() 50 if (link->dpcd_caps.psr_info.psr_dpcd_caps.bits.SU_GRANULARITY_REQUIRED && in link_supports_psrsu() 51 !link->dpcd_caps.psr_info.psr2_su_y_granularity_cap) in link_supports_psrsu() 78 if (link->dpcd_caps.psr_info.psr_version == 0) { in amdgpu_dm_set_psr_caps()
|
| H A D | amdgpu_dm_helpers.c | 848 memcmp(stream->link->dpcd_caps.branch_dev_name, in write_dsc_enable_synaptics_non_virtual_dpcd_mst() 936 if (stream->sink->link->dpcd_caps.dongle_type == DISPLAY_DONGLE_NONE) { in dm_helpers_dp_write_dsc_enable() 941 } else if (stream->sink->link->dpcd_caps.dongle_type == DISPLAY_DONGLE_DP_HDMI_CONVERTER) { in dm_helpers_dp_write_dsc_enable() 1499 struct dpcd_caps *dpcd_caps = &link->dpcd_caps; in dm_get_adaptive_sync_support_type() local 1502 switch (dpcd_caps->dongle_type) { in dm_get_adaptive_sync_support_type() 1504 if (dpcd_caps->adaptive_sync_caps.dp_adap_sync_caps.bits.ADAPTIVE_SYNC_SDP_SUPPORT == true && in dm_get_adaptive_sync_support_type() 1505 dpcd_caps->allow_invalid_MSA_timing_param == true && in dm_get_adaptive_sync_support_type() 1506 dm_is_freesync_pcon_whitelist(dpcd_caps->branch_dev_id)) in dm_get_adaptive_sync_support_type() 1596 struct dpcd_caps *dpcd_caps; in dm_helpers_read_mccs_caps() local 1611 dpcd_caps = &link->dpcd_caps; in dm_helpers_read_mccs_caps() [all …]
|
| H A D | amdgpu_dm_mst_types.c | 244 if (link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_90CC24 && in needs_dsc_aux_workaround() 245 (link->dpcd_caps.dpcd_rev.raw == DPCD_REV_14 || link->dpcd_caps.dpcd_rev.raw == DPCD_REV_12) && in needs_dsc_aux_workaround() 246 link->dpcd_caps.sink_count.bits.SINK_COUNT >= 2) in needs_dsc_aux_workaround() 258 if (link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_90CC24 && in is_synaptics_cascaded_panamera() 259 IS_SYNAPTICS_CASCADED_PANAMERA(link->dpcd_caps.branch_dev_name, branch_vendor_data)) { in is_synaptics_cascaded_panamera() 732 if (link_status->dpcd_caps->dpcd_rev.raw < 0x12) { in dm_handle_mst_sideband_msg_ready_event() 1369 (!(dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_SUPPORT || in is_dsc_need_re_compute() 1370 dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_PASSTHROUGH_SUPPORT))) in is_dsc_need_re_compute() 1624 &dc_link->dpcd_caps.dsc_caps.dsc_basic_caps; in is_link_to_dschub()
|
| H A D | amdgpu_dm_debugfs.c | 582 struct dc_lttpr_caps caps = aconnector->dc_link->dpcd_caps.lttpr_caps; in dp_lttpr_status_show() 1075 seq_printf(m, "Sink support: %s", str_yes_no(link->dpcd_caps.psr_info.psr_version != 0)); in psr_capability_show() 1076 if (link->dpcd_caps.psr_info.psr_version) in psr_capability_show() 1077 seq_printf(m, " [0x%02x]", link->dpcd_caps.psr_info.psr_version); in psr_capability_show() 1382 struct dpcd_caps dpcd_caps; in dp_dsc_fec_support_show() local 1402 dpcd_caps = aconnector->dc_link->dpcd_caps; in dp_dsc_fec_support_show() 1414 is_fec_supported = dpcd_caps.fec_cap.raw & 0x1; in dp_dsc_fec_support_show() 1415 is_dsc_supported = dpcd_caps.dsc_caps.dsc_basic_caps.raw[0] & 0x1; in dp_dsc_fec_support_show() 3525 dpcd_rev = link->dpcd_caps.dpcd_rev.raw; in edp_ilr_show() 3601 if (param[1] >= link->dpcd_caps.edp_supported_link_rates_count) in edp_ilr_write() [all …]
|
| H A D | amdgpu_dm.c | 180 switch (link->dpcd_caps.dongle_type) { in get_subconnector_type() 3539 l->dpcd_caps.is_mst_capable, in amdgpu_dm_dump_links_and_sinks() 5752 link->dpcd_caps.psr_info.psr_version, in amdgpu_dm_initialize_drm_device() 5753 link->dpcd_caps.psr_info.psr_dpcd_caps.raw, in amdgpu_dm_initialize_drm_device() 5754 link->dpcd_caps.psr_info.psr2_su_y_granularity_cap); in amdgpu_dm_initialize_drm_device() 7174 if (sink->link->dpcd_caps.dongle_type == DISPLAY_DONGLE_NONE || in update_dsc_caps() 7175 sink->link->dpcd_caps.dongle_type == DISPLAY_DONGLE_DP_HDMI_CONVERTER) in update_dsc_caps() 7177 aconnector->dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.raw, in update_dsc_caps() 7178 aconnector->dc_link->dpcd_caps.dsc_caps.dsc_branch_decoder_caps.raw, in update_dsc_caps() 7276 if (sink->link->dpcd_caps.dongle_type == DISPLAY_DONGLE_NONE) { in apply_dsc_policy_for_stream() [all …]
|
| H A D | amdgpu_dm_hdcp.c | 576 link->dp.rev = aconnector->dc_link->dpcd_caps.dpcd_rev.raw; in update_config()
|
| /linux/drivers/gpu/drm/amd/display/dc/dce/ |
| H A D | dmub_psr.c | 389 link->dpcd_caps.sink_dev_id == DP_DEVICE_ID_38EC11 && in dmub_psr_copy_settings() 390 !memcmp(link->dpcd_caps.sink_dev_id_str, DP_SINK_DEVICE_STR_ID_1, in dmub_psr_copy_settings() 396 if (((link->dpcd_caps.fec_cap.bits.FEC_CAPABLE && in dmub_psr_copy_settings() 398 (link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_SUPPORT && in dmub_psr_copy_settings() 401 link->dpcd_caps.sink_dev_id == DP_DEVICE_ID_38EC11 && in dmub_psr_copy_settings() 402 (!memcmp(link->dpcd_caps.sink_dev_id_str, DP_SINK_DEVICE_STR_ID_1, in dmub_psr_copy_settings() 404 !memcmp(link->dpcd_caps.sink_dev_id_str, DP_SINK_DEVICE_STR_ID_2, in dmub_psr_copy_settings() 411 link->dpcd_caps.sink_dev_id == DP_DEVICE_ID_0022B9 && in dmub_psr_copy_settings() 412 !memcmp(link->dpcd_caps.sink_dev_id_str, DP_SINK_DEVICE_STR_ID_3, in dmub_psr_copy_settings() 419 if (link->dpcd_caps.sink_dev_id == DP_BRANCH_DEVICE_ID_001CF8) in dmub_psr_copy_settings()
|
| /linux/drivers/gpu/drm/amd/display/dc/ |
| H A D | dc_types.h | 1008 struct dpcd_caps *dpcd_caps; member
|
| H A D | dc.h | 1740 struct dpcd_caps dpcd_caps; member 2704 struct hblank_expansion_dpcd_caps dpcd_caps; member
|
| H A D | dc_dp_types.h | 1255 struct dpcd_caps { struct
|
| /linux/drivers/gpu/drm/amd/display/dc/core/ |
| H A D | dc.c | 314 link->link_status.dpcd_caps = &link->dpcd_caps; in create_links() 2059 if (link->dpcd_caps.dprx_feature.bits.VSC_SDP_COLORIMETRY_SUPPORTED) { in dc_validate_boot_timing() 2064 if (link->dpcd_caps.channel_coding_cap.bits.DP_128b_132b_SUPPORTED) { in dc_validate_boot_timing()
|