backend-drm: store EDID data
This is a little bit of preparation for the future where I intend to make more use of libdisplay-info. Quoting the commit message from a draft patch adding libweston API to expose struct di_info
directly to the frontend:
The frontend will need to link to and use libdisplay-info to make use of this. This avoids having to replicate in libweston the high-level API that libdisplay-info already has. The libdisplay-info API is also likely to be extended, and it is not nice to play catch-up with it.
As preparation for that, we store the EDID data in bulk. Comparing the data we can see when it changes, and if it does not change, we can skip all parsing of it.
I have pulled these patches out of a series for ultimately programming the KMS Colorspace
property and crafting an automatic image description (color profile) for an output, possibly in HDR. That WIP series may be found in https://gitlab.freedesktop.org/pq/weston/-/commits/wip/edid .