On Fri, 30 May 2025 at 02:15, Jessica Zhang <[email protected]> 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. > > --- > Changes in v2:
The series is not marked as v2 though. > - Rebased on top of next-20250523 > - Change atomic_enable() to return early if ST_DISCONENCT_PENDING > instead of completely dropping the > if (state != ST_DISPLAY_OFF && state != ST_MAINLINK_READY) check (Dmitry) > > --- > Abhinav Kumar (4): > drm/msm/dp: remove redundant checks related to ST_DISPLAY_OFF in > plug/irq_ipd handlers > drm/msm/dp: Return early from atomic_enable() if ST_DISCONNECT_PENDING > 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 | 19 +++---------------- > 1 file changed, 3 insertions(+), 16 deletions(-) > --- > base-commit: daf70030586cf0279a57b58a94c32cfe901df23d > change-id: 20241202-hpd_display_off-6051aa510f23 > > Best regards, > -- > Jessica Zhang <[email protected]> > -- With best wishes Dmitry
