Message ID | 20241202-hpd_display_off-v1-0-8d0551847753@quicinc.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/msm/dp: ST_DISPLAY_OFF hpd cleanup | expand |
On Mon, Dec 02, 2024 at 04:38:59PM -0800, Abhinav Kumar wrote: > HPD state machine in msm dp display driver manages the state transitions > between various HPD events and the expected state of driver to make sure > both match up. > > Although originally done with the intent of managing userspace interactions > and interactions with compliance equipment, over period of time, > changes to this piece of code has become quite difficult to manage. > > Although, unwinding this logic will take some time and will be spread over > various changes, to start things, this series tries to get rid of the > ST_DISPLAY_OFF state as firstly, its really not an hpd state but a state > of the display overall. Coupled with this, there are quite a few checks > in the current code, the origins of which need to be re-visited OR are unclear > which seem unlikely or redundant. With DP controller on newer chipsets supporting > multiple streams, this has become increasingly difficult to work with. > > This series removes the redundant state checks and simplifies the logic as an > attempt to get rid of this ST_DISPLAY_OFF state. > > Note: This series has been tested with sa8775p and sc7180 devices with multiple > monitors and also multiple dongles with no noticeable regressions. > Both of these devices use native DP PHY though. Hence, if this series can > be verified on some devices with USBC-DP combo PHY with the help of the other > developers, that will be great. Don't you also have an RB5 (for pmic-typec) and SM83(?)50-HDK for pmic-glink? What kind of userspace were you testing with? Have you tested pure fbcon / drm_client? > > To: Rob Clark <robdclark@gmail.com> > To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > To: Sean Paul <sean@poorly.run> > To: Marijn Suijten <marijn.suijten@somainline.org> > To: David Airlie <airlied@gmail.com> > To: Simona Vetter <simona@ffwll.ch> > Cc: linux-arm-msm@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Cc: freedreno@lists.freedesktop.org > Cc: Stephen Boyd <swboyd@chromium.org> > Cc: Doug Anderson <dianders@chromium.org> > Cc: Johan Hovold <johan@kernel.org> > Cc: Bjorn Andersson <quic_bjorande@quicinc.com> > > Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com> > --- > Abhinav Kumar (4): > drm/msm/dp: remove redundant checks related to ST_DISPLAY_OFF in plug/irq_ipd handlers > drm/msm/dp: remove redundant ST_DISPLAY_OFF checks in msm_dp_bridge_atomic_enable() > drm/msm/dp: replace ST_DISPLAY_OFF with power_on in msm_dp_hpd_unplug_handle() > drm/msm/dp: remove ST_DISPLAY_OFF as a hpd_state > > drivers/gpu/drm/msm/dp/dp_display.c | 23 ++--------------------- > 1 file changed, 2 insertions(+), 21 deletions(-) > --- > base-commit: 798bb342e0416d846cf67f4725a3428f39bfb96b > change-id: 20241202-hpd_display_off-6051aa510f23 > > Best regards, > -- > Abhinav Kumar <quic_abhinavk@quicinc.com> >
On 12/3/2024 5:45 AM, Dmitry Baryshkov wrote: > On Mon, Dec 02, 2024 at 04:38:59PM -0800, Abhinav Kumar wrote: >> HPD state machine in msm dp display driver manages the state transitions >> between various HPD events and the expected state of driver to make sure >> both match up. >> >> Although originally done with the intent of managing userspace interactions >> and interactions with compliance equipment, over period of time, >> changes to this piece of code has become quite difficult to manage. >> >> Although, unwinding this logic will take some time and will be spread over >> various changes, to start things, this series tries to get rid of the >> ST_DISPLAY_OFF state as firstly, its really not an hpd state but a state >> of the display overall. Coupled with this, there are quite a few checks >> in the current code, the origins of which need to be re-visited OR are unclear >> which seem unlikely or redundant. With DP controller on newer chipsets supporting >> multiple streams, this has become increasingly difficult to work with. >> >> This series removes the redundant state checks and simplifies the logic as an >> attempt to get rid of this ST_DISPLAY_OFF state. >> >> Note: This series has been tested with sa8775p and sc7180 devices with multiple >> monitors and also multiple dongles with no noticeable regressions. >> Both of these devices use native DP PHY though. Hence, if this series can >> be verified on some devices with USBC-DP combo PHY with the help of the other >> developers, that will be great. > Thanks for the review. > Don't you also have an RB5 (for pmic-typec) and SM83(?)50-HDK for > pmic-glink? > We have a sm8350HDK (RB5 is busy for CI use), but as usual have not being having a great run with setting it up. Hence if you or anyone from your side has it already setup, it will be helpful. We will keep trying to make our sm8350hdk work meanwhile. > What kind of userspace were you testing with? Have you tested pure fbcon > / drm_client? > Yes, the sc7180 was with CrOS userspace. the sa8775p was with linux-next and pure fbcon. I only made sure hotplugs worked and display showed correctly. If something else needs validation, let me know. >> >> To: Rob Clark <robdclark@gmail.com> >> To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> To: Sean Paul <sean@poorly.run> >> To: Marijn Suijten <marijn.suijten@somainline.org> >> To: David Airlie <airlied@gmail.com> >> To: Simona Vetter <simona@ffwll.ch> >> Cc: linux-arm-msm@vger.kernel.org >> Cc: dri-devel@lists.freedesktop.org >> Cc: freedreno@lists.freedesktop.org >> Cc: Stephen Boyd <swboyd@chromium.org> >> Cc: Doug Anderson <dianders@chromium.org> >> Cc: Johan Hovold <johan@kernel.org> >> Cc: Bjorn Andersson <quic_bjorande@quicinc.com> >> >> Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com> >> --- >> Abhinav Kumar (4): >> drm/msm/dp: remove redundant checks related to ST_DISPLAY_OFF in plug/irq_ipd handlers >> drm/msm/dp: remove redundant ST_DISPLAY_OFF checks in msm_dp_bridge_atomic_enable() >> drm/msm/dp: replace ST_DISPLAY_OFF with power_on in msm_dp_hpd_unplug_handle() >> drm/msm/dp: remove ST_DISPLAY_OFF as a hpd_state >> >> drivers/gpu/drm/msm/dp/dp_display.c | 23 ++--------------------- >> 1 file changed, 2 insertions(+), 21 deletions(-) >> --- >> base-commit: 798bb342e0416d846cf67f4725a3428f39bfb96b >> change-id: 20241202-hpd_display_off-6051aa510f23 >> >> Best regards, >> -- >> Abhinav Kumar <quic_abhinavk@quicinc.com> >> >
HPD state machine in msm dp display driver manages the state transitions between various HPD events and the expected state of driver to make sure both match up. Although originally done with the intent of managing userspace interactions and interactions with compliance equipment, over period of time, changes to this piece of code has become quite difficult to manage. Although, unwinding this logic will take some time and will be spread over various changes, to start things, this series tries to get rid of the ST_DISPLAY_OFF state as firstly, its really not an hpd state but a state of the display overall. Coupled with this, there are quite a few checks in the current code, the origins of which need to be re-visited OR are unclear which seem unlikely or redundant. With DP controller on newer chipsets supporting multiple streams, this has become increasingly difficult to work with. This series removes the redundant state checks and simplifies the logic as an attempt to get rid of this ST_DISPLAY_OFF state. Note: This series has been tested with sa8775p and sc7180 devices with multiple monitors and also multiple dongles with no noticeable regressions. Both of these devices use native DP PHY though. Hence, if this series can be verified on some devices with USBC-DP combo PHY with the help of the other developers, that will be great. To: Rob Clark <robdclark@gmail.com> To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> To: Sean Paul <sean@poorly.run> To: Marijn Suijten <marijn.suijten@somainline.org> To: David Airlie <airlied@gmail.com> To: Simona Vetter <simona@ffwll.ch> Cc: linux-arm-msm@vger.kernel.org Cc: dri-devel@lists.freedesktop.org Cc: freedreno@lists.freedesktop.org Cc: Stephen Boyd <swboyd@chromium.org> Cc: Doug Anderson <dianders@chromium.org> Cc: Johan Hovold <johan@kernel.org> Cc: Bjorn Andersson <quic_bjorande@quicinc.com> Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com> --- Abhinav Kumar (4): drm/msm/dp: remove redundant checks related to ST_DISPLAY_OFF in plug/irq_ipd handlers drm/msm/dp: remove redundant ST_DISPLAY_OFF checks in msm_dp_bridge_atomic_enable() drm/msm/dp: replace ST_DISPLAY_OFF with power_on in msm_dp_hpd_unplug_handle() drm/msm/dp: remove ST_DISPLAY_OFF as a hpd_state drivers/gpu/drm/msm/dp/dp_display.c | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) --- base-commit: 798bb342e0416d846cf67f4725a3428f39bfb96b change-id: 20241202-hpd_display_off-6051aa510f23 Best regards,