From: Nickey Yang Date: Wed, 11 Dec 2019 20:34:17 +0000 (+0100) Subject: drm: rockchip: rk3066_hdmi: set edid fifo address X-Git-Tag: v5.6-rc1~114^2~14^2~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0eee61521da76e2f827f8f3025d77641461553bd;p=thirdparty%2Flinux.git drm: rockchip: rk3066_hdmi: set edid fifo address Fix edid reading error when edid's block > 2. Signed-off-by: Nickey Yang Signed-off-by: Johan Jonker Signed-off-by: Heiko Stuebner Link: https://patchwork.freedesktop.org/patch/msgid/20191211203417.19448-1-jbx6244@gmail.com --- diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c index 8673e64723e34..fe203d38664eb 100644 --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c @@ -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);