Commit 2e1da460 authored by Ivan Lipski's avatar Ivan Lipski Committed by Alex Deucher
Browse files

drm/amd/display: Improve HDMI info retrieval



[WHY & HOW]
Make a dedicated function to read HDMI-related monitor info, including
monitor's SCDC support.

Fixes: 3471b9a3 ("drm/amd/display: Rework HDMI data channel reads")
Suggested-by: default avatarFangzhi Zuo <jerry.zuo@amd.com>
Reviewed-by: default avatarJerry Zuo <jerry.zuo@amd.com>
Signed-off-by: default avatarIvan Lipski <ivan.lipski@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
(cherry picked from commit c78e31bc)
parent cf326449
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1063,6 +1063,9 @@ int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
void amdgpu_dm_update_connector_after_detect(
		struct amdgpu_dm_connector *aconnector);

void populate_hdmi_info_from_connector(struct drm_hdmi_info *info,
				      struct dc_edid_caps *edid_caps);

extern const struct drm_encoder_helper_funcs amdgpu_dm_encoder_helper_funcs;

int amdgpu_dm_process_dmub_aux_transfer_sync(struct dc_context *ctx, unsigned int link_index,
+8 −0
Original line number Diff line number Diff line
@@ -139,6 +139,9 @@ enum dc_edid_status dm_helpers_parse_edid_caps(

	edid_caps->edid_hdmi = connector->display_info.is_hdmi;

	if (edid_caps->edid_hdmi)
		populate_hdmi_info_from_connector(&connector->display_info.hdmi, edid_caps);

	apply_edid_quirks(dev, edid_buf, edid_caps);

	sad_count = drm_edid_to_sad((struct edid *) edid->raw_edid, &sads);
@@ -990,6 +993,11 @@ dm_helpers_read_acpi_edid(struct amdgpu_dm_connector *aconnector)
	return drm_edid_read_custom(connector, dm_helpers_probe_acpi_edid, connector);
}

void populate_hdmi_info_from_connector(struct drm_hdmi_info *hdmi, struct dc_edid_caps *edid_caps)
{
	edid_caps->scdc_present = hdmi->scdc.supported;
}

enum dc_edid_status dm_helpers_read_local_edid(
		struct dc_context *ctx,
		struct dc_link *link,