This patch series cleans up the DDC code a little bit so that it is more efficient time wise and supports grabbing the EDID of the eDP panel over the aux channel. I timed this on a board I have on my desk and it takes about 20ms to grab the EDID out of the panel and make sure it is valid.
The first two patches seem less controversial so I stuck them at the beginning. The third patch does the EDID reading and caches it so we don't have to keep grabbing it over and over again. And finally the last patch updates the reply field so that short reads and nacks over the channel are reflected properly instead of treating them as some sort of error that can't be discerned. I was thinking about making a patch to update the drm bridge connector code to fallback to using the DDC of the bridge if it's available. Does that code already exist? It would be nice to not even have to implement the bridge func get_edid() function in the future if the DDC is implemented and we're using the new bridge connector code. Stephen Boyd (4): drm/bridge: ti-sn65dsi86: Combine register accesses in ti_sn_aux_transfer() drm/bridge: ti-sn65dsi86: Make polling a busy loop drm/bridge: ti-sn65dsi86: Read EDID blob over DDC drm/bridge: ti-sn65dsi86: Update reply on aux failures drivers/gpu/drm/bridge/ti-sn65dsi86.c | 101 ++++++++++++++++++-------- 1 file changed, 69 insertions(+), 32 deletions(-) Cc: Douglas Anderson <diand...@chromium.org> Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com> Cc: Jonas Karlman <jo...@kwiboo.se> Cc: Jernej Skrabec <jernej.skra...@siol.net> Cc: Sean Paul <seanp...@chromium.org> base-commit: 3650b228f83adda7e5ee532e2b90429c03f7b9ec -- Sent by a computer, using git, on the internet