Message ID | 20250529-hpd_display_off-v1-0-ce33bac2987c@oss.qualcomm.com |
---|---|
Headers | show |
Series | drm/msm/dp: ST_DISPLAY_OFF hpd cleanup | expand |
On Fri, 30 May 2025 at 02:15, Jessica Zhang <jessica.zhang@oss.qualcomm.com> 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 <jessica.zhang@oss.qualcomm.com> > -- With best wishes Dmitry
On 5/30/2025 9:05 AM, Dmitry Baryshkov wrote: > On Fri, 30 May 2025 at 02:15, Jessica Zhang > <jessica.zhang@oss.qualcomm.com> 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. Hi Dmitry, Sorry for the confusion -- had pulled the v1 [1] using `b4 prep -F` but forgot to force the revision number to v2. [1] https://patchwork.freedesktop.org/series/142010/#rev1 Thanks, Jessica Zhang > >> - 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 <jessica.zhang@oss.qualcomm.com> >> > > > -- > With best wishes > > Dmitry