[PATCH 1/2] drm: bridge/dw_hdmi: Cache edid data

Lucas Stach l.stach at pengutronix.de
Fri Aug 7 07:20:47 PDT 2015


Am Freitag, den 07.08.2015, 15:13 +0100 schrieb Russell King - ARM
Linux:
> On Fri, Aug 07, 2015 at 03:59:20PM +0200, Sascha Hauer wrote:
> > Instead of rereading the edid data each time userspace asks for them
> > read them once and cache them in the previously unused edid field in
> > struct dw_hdmi. This makes the code a little bit more efficient.
> 
> How has this been tested?
> 
> Has it been tested with an AV amplifier in the path to the display device?
> If not, it really needs to be tested, because such devices modify the EDID
> data, or subsitute their own, and alter the EDID data depending on their
> needs.  When they do, they lower and re-assert the HPD signal, possibly
> for as little as 100ms - defined by the HDMI spec.
> 
This has not been tested with an AV amp, but if the amp behaves the way
you describe it this should be fine.

If we get an HPD event we inform the DRM core, which will then call our
connector detect function, triggering a re-read of the EDID data.

Regards,
Lucas

> For example, an AV amplifier in standby can provide the displays EDID in
> the first page of EDID, along with the displays extended EDID in the
> second page.  When the AV amplifier is powered up, it can provide a
> different second page of EDID information detailing the audio formats
> that it can accept, and it will lower and re-assert the HPD signal to
> cause the connected devices to read the updated EDID information.  Same
> thing can happen when switching to standby mode too.
> 

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |



More information about the dri-devel mailing list