Message ID | 1635386088-18089-7-git-send-email-quic_sbillaka@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for eDP controller on SC7280 | expand |
On 2021-10-27 23:38, Stephen Boyd wrote: > Quoting Sankeerth Billakanti (2021-10-27 18:54:48) >> DP driver needs a 10 second delay before phy_init so that >> the usb combo phy initializes and sets up the necessary >> clocks for usb devices such as keyboard and mouse. >> >> eDP controller uses a standalone phy and need not wait for >> phy initialization from any other component. This change >> will remove the delay for eDP controller. >> >> Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com> >> --- >> drivers/gpu/drm/msm/dp/dp_display.c | 11 ++++++++++- >> 1 file changed, 10 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c >> b/drivers/gpu/drm/msm/dp/dp_display.c >> index 61385d6..de6a1fd 100644 >> --- a/drivers/gpu/drm/msm/dp/dp_display.c >> +++ b/drivers/gpu/drm/msm/dp/dp_display.c >> @@ -1438,7 +1439,15 @@ void msm_dp_irq_postinstall(struct msm_dp >> *dp_display) >> >> dp_hpd_event_setup(dp); >> >> - dp_add_event(dp, EV_HPD_INIT_SETUP, 0, 100); >> + if (dp->dp_display.connector_type == DRM_MODE_CONNECTOR_eDP) { >> + /* eDP does not need any delay before phy init */ >> + delay = 0; >> + } else { >> + /* DP needs 10 second delay to let usb combo phy >> initialize */ > > This seems to be a different approach to the patch Kuogee sent a week > or > two ago. Can we figure out what's wrong with the DP phy starting before > the USB phy? I suppose this patch is OK as a temporary hack to keep > moving with eDP, but we really need to figure out what's wrong with DP > so this delay can be removed entirely. Has any progress been made on > that? > Sankeerth, Can you drop this patch for now. Let's discuss more. >> + delay = 100; >> + } >> + >> + dp_add_event(dp, EV_HPD_INIT_SETUP, 0, delay);
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 61385d6..de6a1fd 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1430,6 +1430,7 @@ void __exit msm_dp_unregister(void) void msm_dp_irq_postinstall(struct msm_dp *dp_display) { struct dp_display_private *dp; + u8 delay; if (!dp_display) return; @@ -1438,7 +1439,15 @@ void msm_dp_irq_postinstall(struct msm_dp *dp_display) dp_hpd_event_setup(dp); - dp_add_event(dp, EV_HPD_INIT_SETUP, 0, 100); + if (dp->dp_display.connector_type == DRM_MODE_CONNECTOR_eDP) { + /* eDP does not need any delay before phy init */ + delay = 0; + } else { + /* DP needs 10 second delay to let usb combo phy initialize */ + delay = 100; + } + + dp_add_event(dp, EV_HPD_INIT_SETUP, 0, delay); } void msm_dp_debugfs_init(struct msm_dp *dp_display, struct drm_minor *minor)
DP driver needs a 10 second delay before phy_init so that the usb combo phy initializes and sets up the necessary clocks for usb devices such as keyboard and mouse. eDP controller uses a standalone phy and need not wait for phy initialization from any other component. This change will remove the delay for eDP controller. Signed-off-by: Sankeerth Billakanti <quic_sbillaka@quicinc.com> --- drivers/gpu/drm/msm/dp/dp_display.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)