Quoting Sankeerth Billakanti (QUIC) (2022-04-24 19:55:29) > >Quoting Sankeerth Billakanti (2022-04-22 02:11:04) > > > >> int dp_catalog_ctrl_get_interrupt(struct dp_catalog *dp_catalog) diff > >> --git a/drivers/gpu/drm/msm/dp/dp_display.c > >> b/drivers/gpu/drm/msm/dp/dp_display.c > >> index 055681a..dea4de9 100644 > >> --- a/drivers/gpu/drm/msm/dp/dp_display.c > >> +++ b/drivers/gpu/drm/msm/dp/dp_display.c > >> @@ -1096,6 +1097,13 @@ static void dp_display_config_hpd(struct > >dp_display_private *dp) > >> dp_display_host_init(dp); > >> dp_catalog_ctrl_hpd_config(dp->catalog); > >> > >> + /* Enable plug and unplug interrupts only for external DisplayPort */ > >> + if (!dp->dp_display.is_edp) > >> + dp_catalog_hpd_config_intr(dp->catalog, > >> + DP_DP_HPD_PLUG_INT_MASK | > >> + DP_DP_HPD_UNPLUG_INT_MASK, > >> + true); > >> + > > > >It seems like only the plug and unplug is enabled for DP here. Is replug > >enabled for eDP when it shouldn't be? > > > > By default, all the interrupts are masked. This function is not executed for eDP > anymore because the host_init, phy_init and enable_irq are all done from > modeset_init for eDP with aux_bus. So, none of the eDP hpd interrupts are > enabled or unmasked before pre-enable. > > The replug interrupt is unmasked for DP and eDP from the dp_hpd_plug_handle() > and masked from dp_hpd_unplug_handle(). Why is replug enabled for eDP?