PD#SWPL-17155
Problem:
box set env to 2160p30hz 422,12bit, connect to
Hisense LED50EC660US 4K TV which only support
maximum 3G mode, then power on box, the hpd is
low when run hdmitx hpd command, so hdmi is not
set. after enter kernel, vout set 2160p30hz
before edid is read, and the color space is
forcely changed to rgb, but the color depth is
still 12bit, so TV can't detect normally.
Solution:
keep hpd state low until edid read finishes,
so that the mode vout set is filtered by edid
Verify:
S905X3
Change-Id: I11d126c4a2165ffaf3892534b1602bad3d78618d
Signed-off-by: Hang Cheng <hang.cheng@amlogic.com>
(cherry picked from commit
f0a8ac5dcd74b92919e9ae55dd88de781c567c91)
struct vinfo_s *info = NULL;
struct hdmitx_dev *hdmitx_device = (struct hdmitx_dev *)data;
- hdmitx_extcon_hdmi->state = !!(hdmitx_device->hwop.cntlmisc(
- hdmitx_device, MISC_HPD_GPI_ST, 0));
- hdmitx_device->hpd_state = hdmitx_extcon_hdmi->state;
- hdmitx_notify_hpd(hdmitx_device->hpd_state);
+ /* hdmitx_extcon_hdmi->state = !!(hdmitx_device->hwop.cntlmisc(
+ * hdmitx_device, MISC_HPD_GPI_ST, 0));
+ * hdmitx_device->hpd_state = hdmitx_extcon_hdmi->state;
+ * hdmitx_notify_hpd(hdmitx_device->hpd_state);
+ */
extcon_set_state_sync(hdmitx_extcon_power, EXTCON_DISP_HDMI,
hdmitx_device->hpd_state);
INIT_WORK(&hdmitx_device->work_hdr, hdr_work_func);