Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 193d9030 authored by Alistair Delva's avatar Alistair Delva
Browse files

Revert "ANDROID: drm: Parse Colorimetry data block from EDID"



Necessary changes to parse required CEA extension EDID blocks
have been made to vendor specific drivers. No need to retain
the block parsing in DRM framework.

This reverts commit 0152f0b2.

Bug: 139653858
Change-Id: I44570da5c06403c9bfb75c853e78cac233a4eeac
Signed-off-by: default avatarAlistair Delva <adelva@google.com>
parent d244d02b
Loading
Loading
Loading
Loading
+0 −44
Original line number Diff line number Diff line
@@ -3961,48 +3961,6 @@ static void fixup_detailed_cea_mode_clock(struct drm_display_mode *mode)
	mode->clock = clock;
}

static bool cea_db_is_hdmi_colorimetry_data_block(const u8 *db)
{
	if (cea_db_tag(db) != USE_EXTENDED_TAG)
		return false;

	if (db[1] != COLORIMETRY_EXTENDED_DATA_BLOCK)
		return false;

	if (cea_db_payload_len(db) < 2)
		return false;

	return true;
}

static void
drm_parse_colorimetry_data_block(struct drm_connector *connector, const u8 *db)
{
	struct drm_hdmi_info *info = &connector->display_info.hdmi;

	if (db[2] & DRM_EDID_CLRMETRY_xvYCC_601)
		info->colorimetry |= DRM_EDID_CLRMETRY_xvYCC_601;
	if (db[2] & DRM_EDID_CLRMETRY_xvYCC_709)
		info->colorimetry |= DRM_EDID_CLRMETRY_xvYCC_709;
	if (db[2] & DRM_EDID_CLRMETRY_sYCC_601)
		info->colorimetry |= DRM_EDID_CLRMETRY_sYCC_601;
	if (db[2] & DRM_EDID_CLRMETRY_ADBYCC_601)
		info->colorimetry |= DRM_EDID_CLRMETRY_ADBYCC_601;
	if (db[2] & DRM_EDID_CLRMETRY_ADB_RGB)
		info->colorimetry |= DRM_EDID_CLRMETRY_ADB_RGB;
	if (db[2] & DRM_EDID_CLRMETRY_BT2020_CYCC)
		info->colorimetry |= DRM_EDID_CLRMETRY_BT2020_CYCC;
	if (db[2] & DRM_EDID_CLRMETRY_BT2020_YCC)
		info->colorimetry |= DRM_EDID_CLRMETRY_BT2020_YCC;
	if (db[2] & DRM_EDID_CLRMETRY_BT2020_RGB)
		info->colorimetry |= DRM_EDID_CLRMETRY_BT2020_RGB;
	/* Byte 4 Bit 7: DCI-P3 */
	if (db[3] & BIT(7))
		info->colorimetry |= DRM_EDID_CLRMETRY_DCI_P3;

	DRM_DEBUG_KMS("Supported Colorimetry 0x%x\n", info->colorimetry);
}

static bool cea_db_is_hdmi_hdr_metadata_block(const u8 *db)
{
	if (cea_db_tag(db) != USE_EXTENDED_TAG)
@@ -4910,8 +4868,6 @@ static void drm_parse_cea_ext(struct drm_connector *connector,
			drm_parse_vcdb(connector, db);
		if (cea_db_is_hdmi_hdr_metadata_block(db))
			drm_parse_hdr_metadata_block(connector, db);
		if (cea_db_is_hdmi_colorimetry_data_block(db))
			drm_parse_colorimetry_data_block(connector, db);
	}
}

+0 −3
Original line number Diff line number Diff line
@@ -208,9 +208,6 @@ struct drm_hdmi_info {

	/** @y420_dc_modes: bitmap of deep color support index */
	u8 y420_dc_modes;

	/* @colorimetry: bitmap of supported colorimetry modes */
	u16 colorimetry;
};

/**