drm: rockchip: rk3066_hdmi: set edid fifo address
authorNickey Yang <nickey.yang@rock-chips.com>
Wed, 11 Dec 2019 20:34:17 +0000 (21:34 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 6 Jan 2020 11:22:29 +0000 (12:22 +0100)
Fix edid reading error when edid's block > 2.

Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20191211203417.19448-1-jbx6244@gmail.com
drivers/gpu/drm/rockchip/rk3066_hdmi.c

index 8673e64723e341c944fc1eab6f5238c2f385956c..fe203d38664eb5f2dea49d5dc1fc3078a321cf61 100644 (file)
@@ -641,6 +641,9 @@ static int rk3066_hdmi_i2c_write(struct rk3066_hdmi *hdmi, struct i2c_msg *msgs)
        if (msgs->addr == DDC_ADDR)
                hdmi->i2c->ddc_addr = msgs->buf[0];
 
+       /* Set edid fifo first address. */
+       hdmi_writeb(hdmi, HDMI_EDID_FIFO_ADDR, 0x00);
+
        /* Set edid word address 0x00/0x80. */
        hdmi_writeb(hdmi, HDMI_EDID_WORD_ADDR, hdmi->i2c->ddc_addr);