[PATCH] drm: bridge: adv7511: fix reading edid segments
Fabio Estevam
festevam at gmail.com
Thu Oct 26 14:49:00 UTC 2023
Hi Emil,
On Thu, Oct 26, 2023 at 11:47 AM Emil Abildgaard Svendsen
<EMAS at bang-olufsen.dk> wrote:
>
> Currently reading EDID only works because usually only two EDID blocks
> of 128 bytes is used. Where an EDID segment holds 256 bytes or two EDID
> blocks. And the first EDID segment read works fine but E-EDID specifies
> up to 128 segments.
>
> The logic is broken so change EDID segment index to multiple of 256
> bytes and not 128 (block size).
>
> Also change check of DDC status. Instead of silently not reading EDID
> when in "IDLE" state [1]. Check if the DDC controller is in reset
> instead (no HPD).
>
> [1]
> ADV7511 Programming Guide: Table 11: DDCController Status:
>
> 0xC8 [3:0] DDC Controller State
>
> 0000 In Reset (No Hot Plug Detected)
> 0001 Reading EDID
> 0010 IDLE (Waiting for HDCP Requested)
> 0011 Initializing HDCP
> 0100 HDCP Enabled
> 0101 Initializing HDCP Repeater
>
> Signed-off-by: Emil Svendsen <emas at bang-olufsen.dk>
What about passing a Fixes tag?
More information about the dri-devel
mailing list