Hi, On Tue, Feb 21, 2017 at 11:45 PM, Nickey Yang <nickey.yang@xxxxxxxxxxxxxx> wrote: > "I2C Master Interface Extended Read Mode" implements a segment > pointer-based read operation using the Special Register configuration. > > This patch fix https://patchwork.kernel.org/patch/7098101/ mentioned > "The current implementation does not support "I2C Master Interface > Extended Read Mode" to read data addressed by non-zero segment > pointer, this means that if EDID has more than 1 extension blocks" > > With this patch,dw-hdmi can read EDID data with 1/2/4 blocks. > > Signed-off-by: Nickey Yang <nickey.yang@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/bridge/dw-hdmi.c | 38 ++++++++++++++++++++++++-------------- > 1 file changed, 24 insertions(+), 14 deletions(-) I don't have any deep expertise on how the DW HDMI's i2c controller is supposed to work and the truly correct way to specify the segment address. However, this looks fairly sane to me and review feedback I provided on http://crosreview.com/442308 has been addressed. I would agree that this appears to handle the types of messages that the kernel seems to construct, basically noticing the first write to DDC_SEGMENT_ADDR and stashing the data that the kernel provides in HDMI_I2CM_SEGPTR. It then tells dw-hdmi to do a HDMI_I2CM_OPERATION_READ_EXT instead of HDMI_I2CM_OPERATION_READ. Anyway, presuming that's the right way to tell dw-hdmi, I'd say: Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel