On Fri, 11 Apr 2025, Melissa Wen <m...@igalia.com> wrote: > +void dc_edid_copy_edid_to_sink(struct dc_sink *sink) > +{ > + const struct edid *edid; > + uint32_t edid_length; > + > + edid = drm_edid_raw(sink->drm_edid); // FIXME: Get rid of drm_edid_raw() > + edid_length = EDID_LENGTH * (edid->extensions + 1);
I guess none of my concern, really, but here's a hint: The underlying reason for me to create struct drm_edid to begin with, make it opaque, and to go through all the trouble of converting tons of code from struct edid to struct drm_edid was exactly the above statement being replicated all over the place. It's fundamentally incompatible with the HF-EEODB EDID extension block. BR, Jani. > + memcpy(sink->dc_edid.raw_edid, (uint8_t *) edid, edid_length); > + sink->dc_edid.length = edid_length; > } > > -- Jani Nikula, Intel