Commit ce99534e authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/edid: improve non-desktop quirk logging



Improve non-desktop quirk logging if the EDID indicates non-desktop. If
both are set, note about redundant quirk. If there's no quirk but the
EDID indicates non-desktop, don't log non-desktop is set to 0.

Cc: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarPhilipp Zabel <philipp.zabel@gmail.com>
Tested-by: default avatarPhilipp Zabel <philipp.zabel@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211228101051.317989-1-jani.nikula@intel.com
parent 50dc95d5
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -5365,17 +5365,13 @@ u32 drm_add_display_info(struct drm_connector *connector, const struct edid *edi
	info->width_mm = edid->width_cm * 10;
	info->width_mm = edid->width_cm * 10;
	info->height_mm = edid->height_cm * 10;
	info->height_mm = edid->height_cm * 10;


	info->non_desktop = !!(quirks & EDID_QUIRK_NON_DESKTOP);

	drm_get_monitor_range(connector, edid);
	drm_get_monitor_range(connector, edid);


	DRM_DEBUG_KMS("non_desktop set to %d\n", info->non_desktop);

	if (edid->revision < 3)
	if (edid->revision < 3)
		return quirks;
		goto out;


	if (!(edid->input & DRM_EDID_INPUT_DIGITAL))
	if (!(edid->input & DRM_EDID_INPUT_DIGITAL))
		return quirks;
		goto out;


	drm_parse_cea_ext(connector, edid);
	drm_parse_cea_ext(connector, edid);


@@ -5395,7 +5391,7 @@ u32 drm_add_display_info(struct drm_connector *connector, const struct edid *edi


	/* Only defined for 1.4 with digital displays */
	/* Only defined for 1.4 with digital displays */
	if (edid->revision < 4)
	if (edid->revision < 4)
		return quirks;
		goto out;


	switch (edid->input & DRM_EDID_DIGITAL_DEPTH_MASK) {
	switch (edid->input & DRM_EDID_DIGITAL_DEPTH_MASK) {
	case DRM_EDID_DIGITAL_DEPTH_6:
	case DRM_EDID_DIGITAL_DEPTH_6:
@@ -5433,6 +5429,13 @@ u32 drm_add_display_info(struct drm_connector *connector, const struct edid *edi


	drm_update_mso(connector, edid);
	drm_update_mso(connector, edid);


out:
	if (quirks & EDID_QUIRK_NON_DESKTOP) {
		drm_dbg_kms(connector->dev, "Non-desktop display%s\n",
			    info->non_desktop ? " (redundant quirk)" : "");
		info->non_desktop = true;
	}

	return quirks;
	return quirks;
}
}