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

drm/edid: take HF-EEODB extension count into account

parent 18e3c1d5
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -1629,6 +1629,19 @@ static int drm_edid_block_count(const struct drm_edid *drm_edid)
	/* Starting point */
	/* Starting point */
	num_blocks = edid_block_count(drm_edid->edid);
	num_blocks = edid_block_count(drm_edid->edid);


	/* HF-EEODB override */
	if (drm_edid->size >= edid_size_by_blocks(2)) {
		int eeodb;

		/*
		 * Note: HF-EEODB may specify a smaller extension count than the
		 * regular one. Unlike in buffer allocation, here we can use it.
		 */
		eeodb = edid_hfeeodb_block_count(drm_edid->edid);
		if (eeodb)
			num_blocks = eeodb;
	}

	/* Limit by allocated size */
	/* Limit by allocated size */
	num_blocks = min(num_blocks, (int)drm_edid->size / EDID_LENGTH);
	num_blocks = min(num_blocks, (int)drm_edid->size / EDID_LENGTH);