From 7dd1701cf5fd79f49acc7fdbf51ddd73935a3db5 Mon Sep 17 00:00:00 2001 From: Zongdong Jiao Date: Mon, 30 Jul 2018 02:58:50 -0400 Subject: [PATCH] hdmitx: forward partial EDID data to upstream [2/2] PD#170713: hdmitx: forward partial EDID data to upstream TXLX have both HDMITX and HDMIRX. We need forward nessary downstream information to upstream. Change-Id: Ie129415b49ceeba2f326d1e500323d39c3a8ba12 Signed-off-by: Zongdong Jiao --- .../vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c | 18 ++++++++---------- .../vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c | 4 ++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c index 1a9b18cd33a8..79a5ab656740 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_edid.c @@ -296,16 +296,14 @@ int Edid_Parse_check_HDMI_VSDB(struct hdmitx_dev *hdev, } set_vsdb_phy_addr(hdev, &info->vsdb_phy_addr, &buff[BlockAddr]); - if (hdev->repeater_tx) { - if ((check_fbc_special(&hdev->EDID_buf[0])) || - (check_fbc_special(&hdev->EDID_buf1[0]))) - rx_edid_physical_addr(0, 0, 0, 0); - else - rx_edid_physical_addr(info->vsdb_phy_addr.a, - info->vsdb_phy_addr.b, - info->vsdb_phy_addr.c, - info->vsdb_phy_addr.d); - } + if ((check_fbc_special(&hdev->EDID_buf[0])) || + (check_fbc_special(&hdev->EDID_buf1[0]))) + rx_edid_physical_addr(0, 0, 0, 0); + else + rx_edid_physical_addr(info->vsdb_phy_addr.a, + info->vsdb_phy_addr.b, + info->vsdb_phy_addr.c, + info->vsdb_phy_addr.d); if (temp_addr >= VSpecificBoundary) ret = -1; diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c index 8389ee0be76b..da458b2d23f3 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c @@ -3092,8 +3092,7 @@ static void hdmitx_hpd_plugin_handler(struct work_struct *work) pr_info(SYS "plugin\n"); hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGIN; /* start reading E-EDID */ - if (hdev->repeater_tx) - rx_repeat_hpd_state(1); + rx_repeat_hpd_state(1); hdmitx_get_edid(hdev); hdmi_physcial_size_update(hdev); if (hdev->RXCap.IEEEOUI != 0x000c03) @@ -3182,6 +3181,7 @@ static void hdmitx_hpd_plugout_handler(struct work_struct *work) hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGOUT; hdev->HWOp.CntlMisc(hdev, MISC_ESM_RESET, 0); clear_hdr_info(hdev); + rx_edid_physical_addr(0, 0, 0, 0); hdmitx_edid_clear(hdev); hdmi_physcial_size_update(hdev); hdmitx_edid_ram_buffer_clear(hdev);