[PATCH v2] drm/edid: parse CEA blocks embedded in DisplayID

Dave Airlie airlied at gmail.com
Tue Jun 18 19:42:15 UTC 2019


On Fri, 14 Jun 2019 at 03:52, Andres Rodriguez <andresx7 at gmail.com> wrote:
>
> DisplayID blocks allow embedding of CEA blocks. The payloads are
> identical to traditional top level CEA extension blocks, but the header
> is slightly different.
>
> This change allows the CEA parser to find a CEA block inside a DisplayID
> block. Additionally, it adds support for parsing the embedded CTA
> header. No further changes are necessary due to payload parity.
>
> This change enables audio support for the Valve Index HMD.
>
> Signed-off-by: Andres Rodriguez <andresx7 at gmail.com>
> ---
>
> v2: Review feedback from Jani.
>
>  drivers/gpu/drm/drm_edid.c  | 75 +++++++++++++++++++++++++++++++++----
>  include/drm/drm_displayid.h | 10 +++++
>  2 files changed, 77 insertions(+), 8 deletions(-)

I think this is fine, since you might want to cc stable apart from the
comment below.

however a follow up patch to use for_each_displayid_db in a few more
places might be good.

>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 649cfd8b4200..8ecd7f70825d 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1339,6 +1339,8 @@ MODULE_PARM_DESC(edid_fixup,
>
>  static void drm_get_displayid(struct drm_connector *connector,
>                               struct edid *edid);
> +static u8 *drm_find_displayid_extension(const struct edid *edid);

Instead of adding that here, i think you can move
drm_find_cea_extension down below it.


More information about the dri-devel mailing list