Message ID | 1635386088-18089-7-git-send-email-quic_sbillaka@quicinc.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add support for eDP controller on SC7280 | expand |
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? > + delay = 100; > + } > + > + dp_add_event(dp, EV_HPD_INIT_SETUP, 0, delay);
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(-)