RE: [PATCH v1 1/3] drm/msm/dpu: set dirty_fb flag while in self refresh mode

2023-04-03 Thread Vinod Polimera
> On Fri, 31 Mar 2023 at 16:59, Vinod Polimera > wrote: > > > > While in virtual terminal mode with PSR enabled, there will be > > no atomic commits triggered without dirty_fb being set. This > > will create a notion of no screen update. Allow atomic commit > &g

RE: [PATCH v1 3/3] msm: skip the atomic commit of self refresh while PSR running

2023-04-03 Thread Vinod Polimera
> On Fri, 31 Mar 2023 at 16:59, Vinod Polimera > wrote: > > > > In certain CPU stress conditions, there can be a delay in scheduling commit > > work and it was observed that PSR commit from a different work queue > was > > scheduled. Avoid these commits

[PATCH v1 3/3] msm: skip the atomic commit of self refresh while PSR running

2023-03-31 Thread Vinod Polimera
In certain CPU stress conditions, there can be a delay in scheduling commit work and it was observed that PSR commit from a different work queue was  scheduled. Avoid these commits as display is already in PSR mode. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/msm_atomic.c | 3 +++ 1

[PATCH v1 2/3] msm/disp/dpu: allow atomic_check in PSR usecase

2023-03-31 Thread Vinod Polimera
Certain flags like dirty_fb will be updated into the plane state during crtc atomic_check. Allow those updates during PSR commit. Reported-by: Bjorn Andersson Link: https://lore.kernel.org/all/20230326162723.3lo6pnsfdwzsvbhj@ripper/ Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp

[PATCH v1 1/3] drm/msm/dpu: set dirty_fb flag while in self refresh mode

2023-03-31 Thread Vinod Polimera
-by: Bjorn Andersson Link: https://lore.kernel.org/all/20230326162723.3lo6pnsfdwzsvbhj@ripper/ Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1

[PATCH v1 0/3] Fixes for PSR

2023-03-31 Thread Vinod Polimera
already. Vinod Polimera (3): drm/msm/dpu: set dirty_fb flag while in self refresh mode msm/disp/dpu: allow atomic_check in PSR usecase msm: skip the atomic commit of self refresh while PSR running drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 5 - drivers/gpu/drm/msm/msm_atomic.c

RE: [PATCH v14 14/14] drm/msm/dp: set self refresh aware based on PSR support

2023-03-30 Thread Vinod Polimera
> -Original Message- > From: Doug Anderson > Sent: Thursday, March 30, 2023 7:54 PM > To: Vinod Polimera > Cc: Stephen Boyd ; Bjorn Andersson > ; Vinod Polimera (QUIC) > ; robdcl...@gmail.com; dri- > de...@lists.freedesktop.org; linux-arm-...@v

RE: [PATCH v14 14/14] drm/msm/dp: set self refresh aware based on PSR support

2023-03-29 Thread Vinod Polimera
> -Original Message- > From: Stephen Boyd > Sent: Monday, March 27, 2023 9:58 PM > To: Bjorn Andersson ; Vinod Polimera (QUIC) > > Cc: dri-devel@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.ker

RE: [PATCH v14 13/14] drm/msm/disp/dpu: update dpu_enc crtc state on crtc enable/disable during self refresh

2023-03-14 Thread Vinod Polimera
> -Original Message- > From: Vinod Polimera (QUIC) > Sent: Thursday, March 2, 2023 10:03 PM > To: dri-devel@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.kernel.org > Cc: Vinod Polimera (QUIC) ; linux- > k

RE: [PATCH v13 00/13] Add PSR support for eDP

2023-03-02 Thread Vinod Polimera
> -Original Message- > From: Doug Anderson > Sent: Thursday, March 2, 2023 2:02 AM > To: Vinod Polimera (QUIC) > Cc: dri-devel@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.kernel.org; linux- > ker...@vg

[PATCH v14 14/14] drm/msm/dp: set self refresh aware based on PSR support

2023-03-02 Thread Vinod Polimera
For the PSR to kick in, self_refresh_aware has to be set. Initialize it based on the PSR support for the eDP interface. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/dp/dp_drm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/msm/dp/dp_drm.c b/drivers/gpu/drm/msm

[PATCH v14 13/14] drm/msm/disp/dpu: update dpu_enc crtc state on crtc enable/disable during self refresh

2023-03-02 Thread Vinod Polimera
Populate the enocder software structure to reflect the updated crtc appropriately during crtc enable/disable for a new commit while taking care of the self refresh transitions when crtc disable is triggered from the drm self refresh library. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH v14 12/14] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2023-03-02 Thread Vinod Polimera
Enable PSR on eDP interface using drm self-refresh librabry. This patch uses a trigger from self-refresh library to enter/exit into PSR, when there are no updates from framework. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

[PATCH v14 11/14] drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions

2023-03-02 Thread Vinod Polimera
Use atomic variants for encoder callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10

[PATCH v14 10/14] drm/msm/dp: use the eDP bridge ops to validate eDP modes

2023-03-02 Thread Vinod Polimera
, edp_bridge_mode_valid under the eDP bridge ops. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 8 drivers/gpu/drm/msm/dp/dp_drm.c | 34 +- 2 files changed, 33

[PATCH v14 09/14] drm/msm/dp: Add basic PSR support for eDP

2023-03-02 Thread Vinod Polimera
Add support for basic panel self refresh (PSR) feature for eDP. Add a new interface to set PSR state in the sink from DPU. Program the eDP controller to issue PSR enter and exit SDP to the sink. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v14 08/14] drm/msm/dp: use atomic callbacks for DP bridge ops

2023-03-02 Thread Vinod Polimera
Use atomic variants for DP bridge callback functions so that the atomic state can be accessed in the interface drivers. The atomic state will help the driver find out if the display is in self refresh state. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH v14 06/14] drm/msm/disp/dpu: wait for extra vsync till timing engine status is disabled

2023-03-02 Thread Vinod Polimera
There can be a race between timing gen disable and vblank irq. The wait post timing gen disable may return early but intf disable sequence might not be completed. Ensure that, intf status is disabled before we retire the function. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v14 07/14] drm/msm/disp/dpu: reset the datapath after timing engine disable

2023-03-02 Thread Vinod Polimera
Reset the datapath after disabling the timing gen, such that it can start on a clean slate when the intf is enabled back. This was a recommended sequence from the DPU HW programming guide. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1

[PATCH v14 04/14] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources

2023-03-02 Thread Vinod Polimera
According to KMS documentation, The driver must not release any shared resources if active is set to false but enable still true. Fixes: ccc862b957c6 ("drm/msm/dpu: Fix reservation failures in modeset") Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/dr

[PATCH v14 05/14] drm/msm/disp/dpu: get timing engine status from intf status register

2023-03-02 Thread Vinod Polimera
Recommended way of reading the interface timing gen status is via status register. Timing gen status register will give a reliable status of the interface especially during ON/OFF transitions. This support was added from DPU version 5.0.0. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH v14 03/14] drm/bridge: add psr support for panel bridge callbacks

2023-03-02 Thread Vinod Polimera
This change will handle the psr entry exit cases in the panel bridge atomic callback functions. For example, the panel power should not turn off if the panel is entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Daniel Vetter --- drivers/gpu/drm

[PATCH v14 02/14] drm/bridge: use atomic enable/disable callbacks for panel bridge

2023-03-02 Thread Vinod Polimera
Use atomic variants for panel bridge callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov Reviewed-by: Daniel Vetter --- drivers/gpu

[PATCH v14 01/14] drm: add helper functions to retrieve old and new crtc

2023-03-02 Thread Vinod Polimera
Add new helper functions, drm_atomic_get_old_crtc_for_encoder and drm_atomic_get_new_crtc_for_encoder to retrieve the corresponding crtc for the encoder. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Douglas Anderson Reviewed-by: Daniel Vetter --- drivers/gpu

[PATCH v14 00/14] Add PSR support for eDP

2023-03-02 Thread Vinod Polimera
the series.(Dmitry) - Drop self refresh aware disable change after psr entry.(Dmitry) Changes in v14: - Set self_refresh_aware for the PSR to kick in. Vinod Polimera (14): drm: add helper functions to retrieve old and new crtc drm/bridge: use atomic enable/disable callbacks for panel br

[PATCH v13 13/13] drm/msm/disp/dpu: update dpu_enc crtc state on crtc enable/disable during self refresh

2023-02-12 Thread Vinod Polimera
Populate the enocder software structure to reflect the updated crtc appropriately during crtc enable/disable for a new commit while taking care of the self refresh transitions when crtc disable is triggered from the drm self refresh library. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH v13 12/13] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2023-02-12 Thread Vinod Polimera
Enable PSR on eDP interface using drm self-refresh librabry. This patch uses a trigger from self-refresh library to enter/exit into PSR, when there are no updates from framework. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

[PATCH v13 10/13] drm/msm/dp: use the eDP bridge ops to validate eDP modes

2023-02-12 Thread Vinod Polimera
, edp_bridge_mode_valid under the eDP bridge ops. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 8 drivers/gpu/drm/msm/dp/dp_drm.c | 34 +- 2 files changed, 33

[PATCH v13 11/13] drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions

2023-02-12 Thread Vinod Polimera
Use atomic variants for encoder callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10

[PATCH v13 09/13] drm/msm/dp: Add basic PSR support for eDP

2023-02-12 Thread Vinod Polimera
Add support for basic panel self refresh (PSR) feature for eDP. Add a new interface to set PSR state in the sink from DPU. Program the eDP controller to issue PSR enter and exit SDP to the sink. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v13 08/13] drm/msm/dp: use atomic callbacks for DP bridge ops

2023-02-12 Thread Vinod Polimera
Use atomic variants for DP bridge callback functions so that the atomic state can be accessed in the interface drivers. The atomic state will help the driver find out if the display is in self refresh state. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH v13 06/13] drm/msm/disp/dpu: wait for extra vsync till timing engine status is disabled

2023-02-12 Thread Vinod Polimera
There can be a race between timing gen disable and vblank irq. The wait post timing gen disable may return early but intf disable sequence might not be completed. Ensure that, intf status is disabled before we retire the function. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v13 07/13] drm/msm/disp/dpu: reset the datapath after timing engine disable

2023-02-12 Thread Vinod Polimera
Reset the datapath after disabling the timing gen, such that it can start on a clean slate when the intf is enabled back. This was a recommended sequence from the DPU HW programming guide. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1

[PATCH v13 05/13] drm/msm/disp/dpu: get timing engine status from intf status register

2023-02-12 Thread Vinod Polimera
Recommended way of reading the interface timing gen status is via status register. Timing gen status register will give a reliable status of the interface especially during ON/OFF transitions. This support was added from DPU version 5.0.0. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH v13 04/13] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources

2023-02-12 Thread Vinod Polimera
According to KMS documentation, The driver must not release any shared resources if active is set to false but enable still true. Fixes: ccc862b957c6 ("drm/msm/dpu: Fix reservation failures in modeset") Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/dr

[PATCH v13 02/13] drm/bridge: use atomic enable/disable callbacks for panel bridge

2023-02-12 Thread Vinod Polimera
Use atomic variants for panel bridge callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov Reviewed-by: Daniel Vetter --- drivers/gpu

[PATCH v13 03/13] drm/bridge: add psr support for panel bridge callbacks

2023-02-12 Thread Vinod Polimera
This change will handle the psr entry exit cases in the panel bridge atomic callback functions. For example, the panel power should not turn off if the panel is entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Daniel Vetter --- drivers/gpu/drm

[PATCH v13 01/13] drm: add helper functions to retrieve old and new crtc

2023-02-12 Thread Vinod Polimera
Add new helper functions, drm_atomic_get_old_crtc_for_encoder and drm_atomic_get_new_crtc_for_encoder to retrieve the corresponding crtc for the encoder. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Douglas Anderson Reviewed-by: Daniel Vetter --- drivers/gpu

[PATCH v13 00/13] Add PSR support for eDP

2023-02-12 Thread Vinod Polimera
the series.(Dmitry) - Drop self refresh aware disable change after psr entry.(Dmitry) Vinod Polimera (13): drm: add helper functions to retrieve old and new crtc drm/bridge: use atomic enable/disable callbacks for panel bridge drm/bridge: add psr support for panel bridge callbacks drm/ms

RE: [PATCH v12 09/14] drm/msm/dp: disable self_refresh_aware after entering psr

2023-02-07 Thread Vinod Polimera
> -Original Message- > From: Dmitry Baryshkov > Sent: Tuesday, January 31, 2023 6:19 PM > To: Vinod Polimera (QUIC) ; dri- > de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.kernel.org > Cc: Sanke

RE: [PATCH v12 13/14] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2023-02-07 Thread Vinod Polimera
> -Original Message- > From: Dmitry Baryshkov > Sent: Tuesday, January 31, 2023 6:29 PM > To: Vinod Polimera (QUIC) ; dri- > de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.kernel.org > Cc: linux-k

[PATCH v12 14/14] drm/msm/disp/dpu: update dpu_enc crtc state on crtc enable/disable during self refresh

2023-01-30 Thread Vinod Polimera
Populate the enocder software structure to reflect the updated crtc appropriately during crtc enable/disable for a new commit while taking care of the self refresh transitions when crtc disable is triggered from the drm self refresh library. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH v12 13/14] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2023-01-30 Thread Vinod Polimera
Enable PSR on eDP interface using drm self-refresh librabry. This patch uses a trigger from self-refresh library to enter/exit into PSR, when there are no updates from framework. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

[PATCH v12 12/14] drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions

2023-01-30 Thread Vinod Polimera
Use atomic variants for encoder callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10

[PATCH v12 10/14] drm/bridge: use atomic enable/disable callbacks for panel bridge

2023-01-30 Thread Vinod Polimera
Use atomic variants for panel bridge callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov Reviewed-by: Daniel Vetter --- drivers/gpu

[PATCH v12 11/14] drm/bridge: add psr support for panel bridge callbacks

2023-01-30 Thread Vinod Polimera
This change will handle the psr entry exit cases in the panel bridge atomic callback functions. For example, the panel power should not turn off if the panel is entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Daniel Vetter --- drivers/gpu/drm

[PATCH v12 08/14] drm/msm/dp: use the eDP bridge ops to validate eDP modes

2023-01-30 Thread Vinod Polimera
, edp_bridge_mode_valid under the eDP bridge ops. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 8 drivers/gpu/drm/msm/dp/dp_drm.c | 34 +- 2 files changed, 33

[PATCH v12 09/14] drm/msm/dp: disable self_refresh_aware after entering psr

2023-01-30 Thread Vinod Polimera
From: Sankeerth Billakanti Updated frames get queued if self_refresh_aware is set when the sink is in psr. To support bridge enable and avoid queuing of update frames, reset the self_refresh_aware state after entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera

[PATCH v12 07/14] drm/msm/dp: Add basic PSR support for eDP

2023-01-30 Thread Vinod Polimera
Add support for basic panel self refresh (PSR) feature for eDP. Add a new interface to set PSR state in the sink from DPU. Program the eDP controller to issue PSR enter and exit SDP to the sink. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v12 06/14] drm/msm/dp: use atomic callbacks for DP bridge ops

2023-01-30 Thread Vinod Polimera
Use atomic variants for DP bridge callback functions so that the atomic state can be accessed in the interface drivers. The atomic state will help the driver find out if the display is in self refresh state. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH v12 04/14] drm/msm/disp/dpu: reset the datapath after timing engine disable

2023-01-30 Thread Vinod Polimera
Reset the datapath after disabling the timing gen, such that it can start on a clean slate when the intf is enabled back. This was a recommended sequence from the DPU HW programming guide. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1

[PATCH v12 05/14] drm: add helper functions to retrieve old and new crtc

2023-01-30 Thread Vinod Polimera
Add new helper functions, drm_atomic_get_old_crtc_for_encoder and drm_atomic_get_new_crtc_for_encoder to retrieve the corresponding crtc for the encoder. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Douglas Anderson Reviewed-by: Daniel Vetter --- drivers/gpu

[PATCH v12 03/14] drm/msm/disp/dpu: wait for extra vsync till timing engine status is disabled

2023-01-30 Thread Vinod Polimera
There can be a race between timing gen disable and vblank irq. The wait post timing gen disable may return early but intf disable sequence might not be completed. Ensure that, intf status is disabled before we retire the function. Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v12 02/14] drm/msm/disp/dpu: get timing engine status from intf status register

2023-01-30 Thread Vinod Polimera
Recommended way of reading the interface timing gen status is via status register. Timing gen status register will give a reliable status of the interface especially during ON/OFF transitions. This support was added from DPU version 5.0.0. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH v12 00/14] Add PSR support for eDP

2023-01-30 Thread Vinod Polimera
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

[PATCH v12 01/14] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources

2023-01-30 Thread Vinod Polimera
According to KMS documentation, The driver must not release any shared resources if active is set to false but enable still true. Fixes: ccc862b957c6 ("drm/msm/dpu: Fix reservation failures in modeset") Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/dr

RE: [PATCH Resend v11 05/15] drm/msm/dp: disable self_refresh_aware after entering psr

2023-01-27 Thread Vinod Polimera
> -Original Message- > From: Dmitry Baryshkov > Sent: Tuesday, January 24, 2023 10:15 PM > To: Vinod Polimera > Cc: Vinod Polimera (QUIC) ; dri- > de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.

RE: [PATCH Resend v11 05/15] drm/msm/dp: disable self_refresh_aware after entering psr

2023-01-24 Thread Vinod Polimera
> -Original Message- > From: Dmitry Baryshkov > Sent: Tuesday, January 24, 2023 5:52 AM > To: Vinod Polimera (QUIC) ; dri- > de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.kernel.org > Cc: Sanke

[PATCH Resend v11 15/15] drm/msm/disp/dpu: update dpu_enc crtc state on crtc enable/disable during self refresh

2023-01-19 Thread Vinod Polimera
Populate the enocder software structure to reflect the updated crtc appropriately during crtc enable/disable for a new commit while taking care of the self refresh transitions when crtc disable is triggered from the drm self refresh library. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH Resend v11 14/15] drm/msm/disp/dpu: clear active interface in the datapath cleanup

2023-01-19 Thread Vinod Polimera
Clear interface active register from the datapath for a clean shutdown of the datapath. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp

[PATCH Resend v11 11/15] drm/msm/disp/dpu: get timing engine status from intf status register

2023-01-19 Thread Vinod Polimera
Recommended way of reading the interface timing gen status is via status register. Timing gen status register will give a reliable status of the interface especially during ON/OFF transitions. This support was added from DPU version 5.0.0. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH Resend v11 13/15] drm/msm/disp/dpu: reset the datapath after timing engine disable

2023-01-19 Thread Vinod Polimera
Reset the datapath after disabling the timing gen, such that it can start on a clean slate when the intf is enabled back. This was a recommended sequence from the DPU HW programming guide. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 1 + 1 file

[PATCH Resend v11 12/15] drm/msm/disp/dpu: wait for extra vsync till timing engine status is disabled

2023-01-19 Thread Vinod Polimera
There can be a race between timing gen disable and vblank irq. The wait post timing gen disable may return early but intf disable sequence might not be completed. Ensure that, intf status is disabled before we retire the function. Signed-off-by: Vinod Polimera --- .../gpu/drm/msm/disp/dpu1

[PATCH Resend v11 10/15] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2023-01-19 Thread Vinod Polimera
Enable PSR on eDP interface using drm self-refresh librabry. This patch uses a trigger from self-refresh library to enter/exit into PSR, when there are no updates from framework. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

[PATCH Resend v11 09/15] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources

2023-01-19 Thread Vinod Polimera
According to KMS documentation, The driver must not release any shared resources if active is set to false but enable still true. Fixes: ccc862b957c6 ("drm/msm/dpu: Fix reservation failures in modeset") Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/dr

[PATCH Resend v11 08/15] drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions

2023-01-19 Thread Vinod Polimera
Use atomic variants for encoder callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10

[PATCH Resend v11 07/15] drm/bridge: add psr support for panel bridge callbacks

2023-01-19 Thread Vinod Polimera
This change will handle the psr entry exit cases in the panel bridge atomic callback functions. For example, the panel power should not turn off if the panel is entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Daniel Vetter --- drivers/gpu/drm

[PATCH Resend v11 06/15] drm/bridge: use atomic enable/disable callbacks for panel bridge

2023-01-19 Thread Vinod Polimera
Use atomic variants for panel bridge callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/panel.c | 20

[PATCH Resend v11 05/15] drm/msm/dp: disable self_refresh_aware after entering psr

2023-01-19 Thread Vinod Polimera
From: Sankeerth Billakanti Updated frames get queued if self_refresh_aware is set when the sink is in psr. To support bridge enable and avoid queuing of update frames, reset the self_refresh_aware state after entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera

[PATCH Resend v11 04/15] drm/msm/dp: use the eDP bridge ops to validate eDP modes

2023-01-19 Thread Vinod Polimera
, edp_bridge_mode_valid under the eDP bridge ops. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 8 drivers/gpu/drm/msm/dp/dp_drm.c | 34 +- 2 files changed, 33

[PATCH Resend v11 03/15] drm/msm/dp: Add basic PSR support for eDP

2023-01-19 Thread Vinod Polimera
Add support for basic panel self refresh (PSR) feature for eDP. Add a new interface to set PSR state in the sink from DPU. Program the eDP controller to issue PSR enter and exit SDP to the sink. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH Resend v11 02/15] drm/msm/dp: use atomic callbacks for DP bridge ops

2023-01-19 Thread Vinod Polimera
Use atomic variants for DP bridge callback functions so that the atomic state can be accessed in the interface drivers. The atomic state will help the driver find out if the display is in self refresh state. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH Resend v11 01/15] drm: add helper functions to retrieve old and new crtc

2023-01-19 Thread Vinod Polimera
Add new helper functions, drm_atomic_get_old_crtc_for_encoder and drm_atomic_get_new_crtc_for_encoder to retrieve the corresponding crtc for the encoder. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Douglas Anderson --- drivers/gpu/drm/drm_atomic.c | 60

[PATCH Resend v11 00/15] Add PSR support for eDP

2023-01-19 Thread Vinod Polimera
during self refresh. Sankeerth Billakanti (1): drm/msm/dp: disable self_refresh_aware after entering psr Vinod Polimera (14): 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

[PATCH v10 14/15] drm/msm/disp/dpu: reset the datapath after timing engine disable

2022-12-22 Thread Vinod Polimera
Reset the datapath after disabling the timing gen, such that it can start on a clean slate when the intf is enabled back. This was a recommended sequence from the DPU HW programming guide. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 1 + 1 file

[PATCH v10 15/15] drm/msm/disp/dpu: clear active interface in the datapath cleanup

2022-12-22 Thread Vinod Polimera
Clear interface active register from the datapath for a clean shutdown of the datapath. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp

[PATCH v10 12/15] drm/msm/disp/dpu: get timing engine status from intf status register

2022-12-22 Thread Vinod Polimera
Recommended way of reading the interface timing gen status is via status register. Timing gen status register will give a reliable status of the interface especially during ON/OFF transitions. This support was added from DPU version 5.0.0. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH v10 13/15] drm/msm/disp/dpu: wait for extra vsync till timing engine status is disabled

2022-12-22 Thread Vinod Polimera
There can be a race between timing gen disable and vblank irq. The wait post timing gen disable may return early but intf disable sequence might not be completed. Ensure that, intf status is disabled before we retire the function. Signed-off-by: Vinod Polimera --- .../gpu/drm/msm/disp/dpu1

[PATCH v10 11/15] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2022-12-22 Thread Vinod Polimera
Enable PSR on eDP interface using drm self-refresh librabry. This patch uses a trigger from self-refresh library to enter/exit into PSR, when there are no updates from framework. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

[PATCH v10 07/15] drm/bridge: use atomic enable/disable callbacks for panel bridge

2022-12-22 Thread Vinod Polimera
Use atomic variants for panel bridge callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/bridge/panel.c | 20

[PATCH v10 10/15] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources

2022-12-22 Thread Vinod Polimera
According to KMS documentation, The driver must not release any shared resources if active is set to false but enable still true. Fixes: ccc862b957c6 ("drm/msm/dpu: Fix reservation failures in modeset") Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/dr

[PATCH v10 06/15] drm/msm/dp: disable self_refresh_aware after entering psr

2022-12-22 Thread Vinod Polimera
From: Sankeerth Billakanti Updated frames get queued if self_refresh_aware is set when the sink is in psr. To support bridge enable and avoid queuing of update frames, reset the self_refresh_aware state after entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera

[PATCH v10 08/15] drm/bridge: add psr support for panel bridge callbacks

2022-12-22 Thread Vinod Polimera
This change will handle the psr entry exit cases in the panel bridge atomic callback functions. For example, the panel power should not turn off if the panel is entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera --- drivers/gpu/drm/bridge/panel.c | 48

[PATCH v10 09/15] drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions

2022-12-22 Thread Vinod Polimera
Use atomic variants for encoder callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10

[PATCH v10 03/15] drm/msm/dp: use atomic callbacks for DP bridge ops

2022-12-22 Thread Vinod Polimera
Use atomic variants for DP bridge callback functions so that the atomic state can be accessed in the interface drivers. The atomic state will help the driver find out if the display is in self refresh state. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry

[PATCH v10 00/15] Add PSR support for eDP

2022-12-22 Thread Vinod Polimera
) 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) Sankeerth Billakanti (1): drm/msm/dp: disable self_refresh_aware after entering psr Vinod Polimera (14): drm/msm

[PATCH v10 05/15] drm/msm/dp: use the eDP bridge ops to validate eDP modes

2022-12-22 Thread Vinod Polimera
, edp_bridge_mode_valid under the eDP bridge ops. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 8 drivers/gpu/drm/msm/dp/dp_drm.c | 34 +- 2 files changed, 33

[PATCH v10 04/15] drm/msm/dp: Add basic PSR support for eDP

2022-12-22 Thread Vinod Polimera
Add support for basic panel self refresh (PSR) feature for eDP. Add a new interface to set PSR state in the sink from DPU. Program the eDP controller to issue PSR enter and exit SDP to the sink. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov

[PATCH v10 02/15] drm: add helper functions to retrieve old and new crtc

2022-12-22 Thread Vinod Polimera
Add new helper functions, drm_atomic_get_old_crtc_for_encoder and drm_atomic_get_new_crtc_for_encoder to retrieve the corresponding crtc for the encoder. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera Reviewed-by: Douglas Anderson --- drivers/gpu/drm/drm_atomic.c | 60

[PATCH v10 01/15] drm/msm/disp/dpu: cache crtc obj in the dpu_encoder during initialization

2022-12-22 Thread Vinod Polimera
Cache crtc obj in the dpu encoder during initialization. This will avoid extracting crtc from connector state there by simplifying the obj access whenever it is required. This patch is dependent on the series: https://patchwork.freedesktop.org/series/110969/ Signed-off-by: Vinod Polimera

[PATCH v10 00/15] Add PSR support for eDP

2022-12-22 Thread Vinod Polimera
) 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) Sankeerth Billakanti (1): drm/msm/dp: disable self_refresh_aware after entering psr Vinod Polimera (14): drm/msm

RE: [PATCH v9 01/15] drm/msm/disp/dpu: clear dpu_assign_crtc and get crtc from connector state instead of dpu_enc

2022-12-21 Thread Vinod Polimera
> -Original Message- > From: Dmitry Baryshkov > Sent: Wednesday, December 14, 2022 9:05 PM > To: Vinod Polimera (QUIC) ; dri- > de...@lists.freedesktop.org; linux-arm-...@vger.kernel.org; > freedr...@lists.freedesktop.org; devicet...@vger.kernel.org > Cc: linux-k

[PATCH v9 15/15] drm/msm/disp/dpu: clear active interface in the datapath cleanup

2022-12-14 Thread Vinod Polimera
Clear interface active register from the datapath for a clean shutdown of the datapath. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp

[PATCH v9 13/15] drm/msm/disp/dpu: wait for extra vsync till timing engine status is disabled

2022-12-14 Thread Vinod Polimera
There can be a race between timing gen disable and vblank irq. The wait post timing gen disable may return early but intf disable sequence might not be completed. Ensure that, intf status is disabled before we retire the function. Signed-off-by: Vinod Polimera --- .../gpu/drm/msm/disp/dpu1

[PATCH v9 14/15] drm/msm/disp/dpu: reset the datapath after timing engine disable

2022-12-14 Thread Vinod Polimera
Reset the datapath after disabling the timing gen, such that it can start on a clean slate when the intf is enabled back. This was a recommended sequence from the DPU HW programming guide. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 1 + 1 file

[PATCH v9 12/15] drm/msm/disp/dpu: get timing engine status from intf status register

2022-12-14 Thread Vinod Polimera
Recommended way of reading the interface timing gen status is via status register. Timing gen status register will give a reliable status of the interface especially during ON/OFF transitions. This support was added from DPU version 5.0.0. Signed-off-by: Vinod Polimera --- drivers/gpu/drm/msm

[PATCH v9 11/15] drm/msm/disp/dpu: add PSR support for eDP interface in dpu driver

2022-12-14 Thread Vinod Polimera
Enable PSR on eDP interface using drm self-refresh librabry. This patch uses a trigger from self-refresh library to enter/exit into PSR, when there are no updates from framework. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

[PATCH v9 10/15] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources

2022-12-14 Thread Vinod Polimera
According to KMS documentation, The driver must not release any shared resources if active is set to false but enable still true. Fixes: ccc862b957c6 ("drm/msm/dpu: Fix reservation failures in modeset") Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/dr

[PATCH v9 09/15] drm/msm/disp/dpu: use atomic enable/disable callbacks for encoder functions

2022-12-14 Thread Vinod Polimera
Use atomic variants for encoder callback functions such that certain states like self-refresh can be accessed as part of enable/disable sequence. Signed-off-by: Kalyan Thota Signed-off-by: Vinod Polimera Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 10

[PATCH v9 08/15] drm/bridge: add psr support for panel bridge callbacks

2022-12-14 Thread Vinod Polimera
This change will handle the psr entry exit cases in the panel bridge atomic callback functions. For example, the panel power should not turn off if the panel is entering psr. Signed-off-by: Sankeerth Billakanti Signed-off-by: Vinod Polimera --- drivers/gpu/drm/bridge/panel.c | 48

  1   2   3   >