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 e9e142d98c8c..9fb3b513f6a2 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 @@ -3783,6 +3783,7 @@ static void hdmitx_hpd_plugin_handler(struct work_struct *work) rx_set_receive_hdcp(bksv_buf, 1, 1, 0, 0); } + set_disp_mode_auto(); hdmitx_set_audio(hdev, &(hdev->cur_audio_param)); hdev->hpd_state = 1; hdmitx_notify_hpd(hdev->hpd_state); diff --git a/drivers/amlogic/media/vout/vout_serve/vout_serve.c b/drivers/amlogic/media/vout/vout_serve/vout_serve.c index 6390f3bff1af..b2c7ef5be6d3 100644 --- a/drivers/amlogic/media/vout/vout_serve/vout_serve.c +++ b/drivers/amlogic/media/vout/vout_serve/vout_serve.c @@ -854,7 +854,16 @@ static int refresh_tvout_mode(void) if (tvout_monitor_flag == 0) return 0; +#if defined(CONFIG_ARCH_MESON64_ODROID_COMMON) + /* + * vout mode is treated as HDMI always initialized + * even though HDMI cable is detached. + * TODO : except cvbs cable is plugged in. + */ + hpd_state = 1; +#else hpd_state = vout_get_hpd_state(); +#endif if (hpd_state) { cur_vmode = validate_vmode(hdmimode); snprintf(cur_mode_str, VMODE_NAME_LEN_MAX, "%s", hdmimode);