Message ID | 1675091494-13988-1-git-send-email-quic_vpolimer@quicinc.com |
---|---|
Headers | show |
Series | Add PSR support for eDP | expand |
On 30/01/2023 17:11, Vinod Polimera wrote: > Changes in v2: > - Use dp bridge to set psr entry/exit instead of dpu_enocder. > - Don't modify whitespaces. > - Set self refresh aware from atomic_check. > - Set self refresh aware only if psr is supported. > - Provide a stub for msm_dp_display_set_psr. > - Move dp functions to bridge code. > > Changes in v3: > - Change callback names to reflect atomic interfaces. > - Move bridge callback change to separate patch as suggested by Dmitry. > - Remove psr function declaration from msm_drv.h. > - Set self_refresh_aware flag only if psr is supported. > - Modify the variable names to simpler form. > - Define bit fields for PSR settings. > - Add comments explaining the steps to enter/exit psr. > - Change DRM_INFO to drm_dbg_db. > > Changes in v4: > - Move the get crtc functions to drm_atomic. > - Add atomic functions for DP bridge too. > - Add ternary operator to choose eDP or DP ops. > - Return true/false instead of 1/0. > - mode_valid missing in the eDP bridge ops. > - Move the functions to get crtc into drm_atomic.c. > - Fix compilation issues. > - Remove dpu_assign_crtc and get crtc from drm_enc instead of dpu_enc. > - Check for crtc state enable while reserving resources. > > Changes in v5: > - Move the mode_valid changes into a different patch. > - Complete psr_op_comp only when isr is set. > - Move the DP atomic callback changes to a different patch. > - Get crtc from drm connector state crtc. > - Move to separate patch for check for crtc state enable while > reserving resources. > > Changes in v6: > - Remove crtc from dpu_encoder_virt struct. > - fix crtc check during vblank toggle crtc. > - Misc changes. > > Changes in v7: > - Add fix for underrun issue on kasan build. > > Changes in v8: > - Drop the enc spinlock as it won't serve any purpose in > protetcing conn state.(Dmitry/Doug) > > Changes in v9: > - Update commit message and fix alignment using spaces.(Marijn) > - Misc changes.(Marijn) > > Changes in v10: > - Get crtc cached in dpu_enc during obj init.(Dmitry) > > Changes in v11: > - Remove crtc cached in dpu_enc during obj init. > - Update dpu_enc crtc state on crtc enable/disable during self refresh. > > Changes in v12: > - Update sc7180 intf mask to get intf timing gen status > based on DPU_INTF_STATUS_SUPPORTED bit.(Dmitry) > - Remove "clear active interface in the datapath cleanup" change > as it is already included. > - Move core changes to top of the series.(Dmitry) Unfortunately they still are not at the top. > > Sankeerth Billakanti (1): > drm/msm/dp: disable self_refresh_aware after entering psr > > Vinod Polimera (13): > drm/msm/disp/dpu: check for crtc enable rather than crtc active to > release shared resources > drm/msm/disp/dpu: get timing engine status from intf status register > drm/msm/disp/dpu: wait for extra vsync till timing engine status is > disabled > drm/msm/disp/dpu: reset the datapath after timing engine disable > drm: add helper functions to retrieve old and new crtc > drm/msm/dp: use atomic callbacks for DP bridge ops > drm/msm/dp: Add basic PSR support for eDP > drm/msm/dp: use the eDP bridge ops to validate eDP modes > drm/bridge: use atomic enable/disable callbacks for panel bridge > drm/bridge: add psr support for panel bridge callbacks > drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder > functions > drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver > drm/msm/disp/dpu: update dpu_enc crtc state on crtc enable/disable > during self refresh > > drivers/gpu/drm/bridge/panel.c | 68 +++++++- > drivers/gpu/drm/drm_atomic.c | 60 +++++++ > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 40 ++++- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 26 ++- > .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 22 +++ > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 6 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 12 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 8 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 2 +- > drivers/gpu/drm/msm/dp/dp_catalog.c | 80 +++++++++ > drivers/gpu/drm/msm/dp/dp_catalog.h | 4 + > drivers/gpu/drm/msm/dp/dp_ctrl.c | 80 +++++++++ > drivers/gpu/drm/msm/dp/dp_ctrl.h | 3 + > drivers/gpu/drm/msm/dp/dp_display.c | 36 ++-- > drivers/gpu/drm/msm/dp/dp_display.h | 2 + > drivers/gpu/drm/msm/dp/dp_drm.c | 194 ++++++++++++++++++++- > drivers/gpu/drm/msm/dp/dp_drm.h | 9 +- > drivers/gpu/drm/msm/dp/dp_link.c | 36 ++++ > drivers/gpu/drm/msm/dp/dp_panel.c | 22 +++ > drivers/gpu/drm/msm/dp/dp_panel.h | 6 + > drivers/gpu/drm/msm/dp/dp_reg.h | 27 +++ > include/drm/drm_atomic.h | 7 + > 22 files changed, 706 insertions(+), 44 deletions(-) >