Quoting Kuogee Hsieh (2020-10-13 16:35:22) > During suspend, dp host controller and hpd block are disabled due to > both ahb and aux clock are disabled. Therefore hpd plug/unplug interrupts > will not be generated. At dp_pm_resume(), reinitialize both dp host > controller and hpd block so that hpd plug/unplug interrupts will be > generated and handled by driver so that hpd connection state is updated > correctly. This patch will fix link training flaky issues. > > Changes in v2: > -- use container_of to cast correct dp_display_private pointer > at both dp_pm_suspend() and dp_pm_resume(). > > Changes in v3: > -- replace hpd_state atomic_t with u32 > > Changes in v4 > -- call dp_display_host_deinit() at dp_pm_suspend() > -- call dp_display_host_init() at msm_dp_display_enable() > -- fix phy->init_count unbalance which causes link training failed > > Signed-off-by: Kuogee Hsieh <khsieh@xxxxxxxxxxxxxx> > --- Can we add some sort of Fixes tag? Maybe the beginning of this DP driver support? Tested-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>