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

Commit 5d02626d authored by Mario Kleiner's avatar Mario Kleiner Committed by Alex Deucher
Browse files

drm/edid: Store all supported hdmi deep color modes in drm_display_info



HDMI deep color setup must know which modes are supported if
it needs to degrade gracefully, as only 12 bpc / dc_36 is
guaranteed, but 10 bpc / dc_30 is optional. The maximum bpc
is not sufficient for this.

Signed-off-by: default avatarMario Kleiner <mario.kleiner.de@gmail.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d71c48f6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3471,18 +3471,21 @@ static bool drm_assign_hdmi_deep_color_info(struct edid *edid,

			if (hdmi[6] & DRM_EDID_HDMI_DC_30) {
				dc_bpc = 10;
				info->edid_hdmi_dc_modes |= DRM_EDID_HDMI_DC_30;
				DRM_DEBUG("%s: HDMI sink does deep color 30.\n",
						  connector->name);
			}

			if (hdmi[6] & DRM_EDID_HDMI_DC_36) {
				dc_bpc = 12;
				info->edid_hdmi_dc_modes |= DRM_EDID_HDMI_DC_36;
				DRM_DEBUG("%s: HDMI sink does deep color 36.\n",
						  connector->name);
			}

			if (hdmi[6] & DRM_EDID_HDMI_DC_48) {
				dc_bpc = 16;
				info->edid_hdmi_dc_modes |= DRM_EDID_HDMI_DC_48;
				DRM_DEBUG("%s: HDMI sink does deep color 48.\n",
						  connector->name);
			}
+3 −0
Original line number Diff line number Diff line
@@ -121,6 +121,9 @@ struct drm_display_info {
	enum subpixel_order subpixel_order;
	u32 color_formats;

	/* Mask of supported hdmi deep color modes */
	u8 edid_hdmi_dc_modes;

	u8 cea_rev;
};