Re: [PATCH 1/4] drm/msm: Use drm_mode_vrefresh instead of mode->vrefresh

2019-02-06 Thread Jeykumar Sankaran
On 2019-01-28 12:42, Sean Paul wrote: From: Sean Paul Use the drm_mode_vrefresh helper where we need refresh rate in case vrefresh is empty. Signed-off-by: Sean Paul Reviewed-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 6 +++--- drivers/gpu/drm/msm

Re: [PATCH 2/4] drm/msm: dpu: Simplify frame_done watchdog timeout calculation

2019-02-06 Thread Jeykumar Sankaran
; /* All phys encs are ready to go, trigger the kickoff */ _dpu_encoder_kickoff_phys(dpu_enc, async); Reviewed-by: Jeykumar Sankaran -- Jeykumar S ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel

Re: [PATCH 3/4] drm/msm: dpu: Untangle frame_done timeout units

2019-02-06 Thread Jeykumar Sankaran
ts being wrong didn't matter. I've also dropped the timeout from the previous 60 frames to 5. That seems like more than enough time to give up on a frame, and my guess is that no one intended for the timeout to _actually_ be 60 frames. Signed-off-by: Sean Paul Reviewed-by: Jeyku

Re: [PATCH 4/4] drm/msm: dpu: Don't queue the frame_done watchdog for cursor

2019-02-06 Thread Jeykumar Sankaran
y time the cursor moves without a synchronous frame following it up before the timeout expires. Since we don't wait for frame_done, and don't handle it, we shouldn't modify the watchdog. Signed-off-by: Sean Paul --- Reviewed-by: Jeykumar Sankaran drivers/gpu/drm/msm/dis

[PATCH 2/2] drm/msm/dpu: remove phys_vid subclass

2019-02-06 Thread Jeykumar Sankaran
Not holding any video encoder specific data. Get rid of it. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 11 --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 18 -- 2 files changed, 4 insertions(+), 25 deletions

[PATCH 1/2] drm/msm/dpu: move hw_inf encoder baseclass

2019-02-06 Thread Jeykumar Sankaran
Both video and command physical encoders will have a hw interface assigned to it. So there is really no need to track the hw block in specific encoder subclass. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 4 +- .../gpu/drm/msm/disp/dpu1

[PATCH v2 7/7] drm/msm/dpu: check split role for single flush

2019-02-13 Thread Jeykumar Sankaran
Removing unwanted access of crtc_state for finding this information. Use split role information to know whether we have slave ctl. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 14 +- 1 file changed, 1 insertion(+), 13 deletions(-) diff

[PATCH v2 3/7] drm/msm/dpu: release resources on modeset failure

2019-02-13 Thread Jeykumar Sankaran
release resources allocated in mode_set if any of the hw check fails. Most of these checks are not necessary and they will be removed in the follow up patches with state based resource allocations. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 7 +-- 1

[PATCH v2 1/7] drm/msm/dpu: move hw_inf encoder baseclass

2019-02-13 Thread Jeykumar Sankaran
Both video and command physical encoders will have a hw interface assigned to it. So there is really no need to track the hw block in specific encoder subclass. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 4 +- .../gpu/drm/msm/disp/dpu1

[PATCH v2 6/7] drm/msm/dpu: assign intf to encoder in mode_set

2019-02-13 Thread Jeykumar Sankaran
Iterate and assign HW intf block to physical encoders in encoder modeset. Moving all the HW block assignments to encoder modeset to allow easy switching to state based resource management. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c| 22

[PATCH v2 5/7] drm/msm/dpu: map mixer/ctl hw blocks in encoder modeset

2019-02-13 Thread Jeykumar Sankaran
After resource allocation, iterate and populate mixer/ctl hw blocks in encoder modeset thereby centralizing all the resource mapping to the CRTC. This change is made for easy switching to state based allocation using private objects later in this series. Signed-off-by: Jeykumar Sankaran

[PATCH v2 2/7] drm/msm/dpu: remove phys_vid subclass

2019-02-13 Thread Jeykumar Sankaran
Not holding any video encoder specific data. Get rid of it. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 11 --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 18 -- 2 files changed, 4 insertions(+), 25 deletions

[PATCH v2 0/7] move dpu resource parsing to encoder modeset

2019-02-13 Thread Jeykumar Sankaran
Fixing some of the low hanging fruits by moving the hw resource parsing and assignment to encoder modeset. This series prepares DPU resource management to switch to state based resource tracking which is implemented in the next incoming changes. Thanks. Jeykumar Sankaran (7): drm/msm/dpu

[PATCH v2 4/7] drm/msm/dpu: dont use encoder->crtc in atomic path

2019-02-13 Thread Jeykumar Sankaran
encoder->crtc is not really meaningful for atomic path. Use crtc->encoder_mask to identify the crtc attached with an encoder. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drive

Re: [PATCH v2 0/7] move dpu resource parsing to encoder modeset

2019-02-13 Thread Jeykumar Sankaran
On 2019-02-13 17:19, Jeykumar Sankaran wrote: Fixing some of the low hanging fruits by moving the hw resource parsing and assignment to encoder modeset. This series prepares DPU resource management to switch to state based resource tracking which is implemented in the next incoming changes

[PATCH v2 1/4] drm/msm/dpu: add atomic private object to dpu crtc

2019-02-13 Thread Jeykumar Sankaran
maintained in dpu_crtc as the resources are tracked per display Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 3 ++ drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 64 +++- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 15 3

[PATCH v2 3/4] drm/msm/dpu: remove reserve in encoder mode_set

2019-02-13 Thread Jeykumar Sankaran
Now that we have dpu private state tracking the reserved HW resources, we have access to them after atomic swap. So avoid reserving the resources in mode_set. changes in v2: - removal applied on private object based reservation Signed-off-by: Jeykumar Sankaran Reviewed-by: Sean Paul

[PATCH v2 0/4] reserve RM resources in private obj state

2019-02-13 Thread Jeykumar Sankaran
up RM iterator API's. Thanks and Regards, Jeykumar S. Jeykumar Sankaran (4): drm/msm/dpu: add atomic private object to dpu crtc drm/msm/dpu: track HW resources using private object state drm/msm/dpu: remove reserve in encoder mode_set drm/msm/dpu: remove mode_set_complete drivers/gp

[PATCH v2 2/4] drm/msm/dpu: track HW resources using private object state

2019-02-13 Thread Jeykumar Sankaran
crtc - No explicit count for hw_ctl as they match with hw_intf count Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h| 7 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 157 drivers/gpu/drm/msm/disp/dpu1/dpu_

[PATCH v2 4/4] drm/msm/dpu: remove mode_set_complete

2019-02-13 Thread Jeykumar Sankaran
This flag was introduced as a fix to notify modeset complete when hw reservations were happening in both atomic_check and atomic_commit paths. Now that we are reserving only in atomic_check, we can get rid of this flag. changes in v2: - none Signed-off-by: Jeykumar Sankaran Reviewed-by

Re: [Freedreno] [PATCH v2 1/4] drm/msm/dpu: add atomic private object to dpu crtc

2019-03-05 Thread Jeykumar Sankaran
On 2019-03-04 13:32, Sean Paul wrote: On Wed, Feb 13, 2019 at 05:52:19PM -0800, Jeykumar Sankaran wrote: Subclass drm private object state for DPU for handling driver specific data. Adds atomic private object to dpu crtc to track hw resources per display. Provide helper function to retrieve DPU

Re: [PATCH v2 4/7] drm/msm/dpu: dont use encoder->crtc in atomic path

2019-03-06 Thread Jeykumar Sankaran
On 2019-03-04 10:09, Sean Paul wrote: On Wed, Feb 13, 2019 at 05:19:13PM -0800, Jeykumar Sankaran wrote: encoder->crtc is not really meaningful for atomic path. Use crtc->encoder_mask to identify the crtc attached with an encoder. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/ms

Re: drm/msm/dpu: Correct dpu encoder spinlock initialization

2019-06-24 Thread Jeykumar Sankaran
On 2019-06-23 23:27, Shubhashree Dhar wrote: dpu encoder spinlock should be initialized during dpu encoder init instead of dpu encoder setup which is part of commit. There are chances that vblank control uses the uninitialized spinlock if not initialized during encoder init. Not much can be done

Re: drm/msm/dpu: Correct dpu encoder spinlock initialization

2019-06-25 Thread Jeykumar Sankaran
On 2019-06-24 22:44, d...@codeaurora.org wrote: On 2019-06-25 03:56, Jeykumar Sankaran wrote: On 2019-06-23 23:27, Shubhashree Dhar wrote: dpu encoder spinlock should be initialized during dpu encoder init instead of dpu encoder setup which is part of commit. There are chances that vblank

Re: drm/msm/dpu: Correct dpu encoder spinlock initialization

2019-07-02 Thread Jeykumar Sankaran
On 2019-07-01 03:29, d...@codeaurora.org wrote: On 2019-06-26 03:10, Jeykumar Sankaran wrote: On 2019-06-24 22:44, d...@codeaurora.org wrote: On 2019-06-25 03:56, Jeykumar Sankaran wrote: On 2019-06-23 23:27, Shubhashree Dhar wrote: dpu encoder spinlock should be initialized during dpu

Re: drm/msm/dpu: Correct dpu encoder spinlock initialization

2019-07-02 Thread Jeykumar Sankaran
On 2019-07-02 11:21, Jeykumar Sankaran wrote: On 2019-07-01 03:29, d...@codeaurora.org wrote: On 2019-06-26 03:10, Jeykumar Sankaran wrote: On 2019-06-24 22:44, d...@codeaurora.org wrote: On 2019-06-25 03:56, Jeykumar Sankaran wrote: On 2019-06-23 23:27, Shubhashree Dhar wrote: dpu encoder

[RFC] Expanding drm_mode_modeinfo flags

2019-07-11 Thread Jeykumar Sankaran
er vendors for their growing need for drm_mode specific capabilities. Please provide your inputs on the options or any upstream friendly recommendation to handle such custom use cases. Thanks and Regards, Jeykumar S. Jeykumar Sankaran (1): drm: add mode flags in uapi for sea

[RFC PATCH] drm: add mode flags in uapi for seamless mode switch

2019-07-11 Thread Jeykumar Sankaran
Add drm mode flag values to expose mode capabilities to perform dynamic seamless mode switch. This change also exposes the backing panel type associated with a mode for panels which can dynamically switch between video and command display modes. Signed-off-by: Jeykumar Sankaran --- include/uapi

Re: [RFC] Expanding drm_mode_modeinfo flags

2019-07-18 Thread Jeykumar Sankaran
On 2019-07-16 02:07, Daniel Vetter wrote: On Thu, Jul 11, 2019 at 11:46:44AM -0700, Jeykumar Sankaran wrote: Hello All, drm_mode_modeinfo::flags is a 32 bit field currently used to describe the properties of a connector mode. I see the least order 22 bits are already in

Re: [RFC] Expanding drm_mode_modeinfo flags

2019-07-22 Thread Jeykumar Sankaran
On 2019-07-19 07:29, Sean Paul wrote: On Fri, Jul 19, 2019 at 05:15:28PM +0300, Ville Syrjälä wrote: On Fri, Jul 19, 2019 at 09:55:58AM -0400, Sean Paul wrote: > On Fri, Jul 19, 2019 at 11:05:53AM +0200, Daniel Vetter wrote: > > On Thu, Jul 18, 2019 at 11:18:42AM -0700, Jeykumar Sanka

Re: [RFC] Expanding drm_mode_modeinfo flags

2019-07-28 Thread Jeykumar Sankaran
On 2019-07-24 07:48, Sean Paul wrote: On Mon, Jul 22, 2019 at 04:50:43PM -0700, Jeykumar Sankaran wrote: On 2019-07-19 07:29, Sean Paul wrote: > On Fri, Jul 19, 2019 at 05:15:28PM +0300, Ville Syrjälä wrote: > > On Fri, Jul 19, 2019 at 09:55:58AM -0400, Sean Paul wrote: > > &

Re: [PATCH] drm/meson: fix max mode_config height/width

2019-10-11 Thread Jeykumar Sankaran
On 2019-10-09 03:47, Daniel Vetter wrote: On Tue, Sep 24, 2019 at 10:28:48AM -0700, Jeykumar Sankaran wrote: Reviving this thread from the context of the below conversion: https://lore.kernel.org/linux-arm-msm/db26145b-3f64-a334-f698-76f972332881 @baylibre.com/T/#u On 2018-10-05 01:19

Re: [PATCH] drm/meson: fix max mode_config height/width

2019-09-24 Thread Jeykumar Sankaran
Reviving this thread from the context of the below conversion: https://lore.kernel.org/linux-arm-msm/db26145b-3f64-a334-f698-76f972332...@baylibre.com/T/#u On 2018-10-05 01:19, Neil Armstrong wrote: On 05/10/2018 09:58, Daniel Vetter wrote: On Fri, Oct 5, 2018 at 9:39 AM Neil Armstrong wrote:

[PATCH] Add framebuffer max width/height fields to drm_mode_config

2019-09-27 Thread Jeykumar Sankaran
Below two discussion threads will provide the context behind this patch. https://www.spinics.net/lists/dri-devel/msg229070.html https://lore.kernel.org/linux-arm-msm/db26145b-3f64-a334-f698-76f972332...@baylibre.com/T/ Seperating out the core framework patch from vendor implementation. Jeykumar

[PATCH] Add framebuffer max width/height fields to drm_mode_config

2019-09-27 Thread Jeykumar Sankaran
Below two discussion threads will provide the context behind this patch. https://www.spinics.net/lists/dri-devel/msg229070.html https://lore.kernel.org/linux-arm-msm/db26145b-3f64-a334-f698-76f972332...@baylibre.com/T/ Seperating out the core framework patch from vendor implementation. Jeykumar

[PATCH] drm: add fb max width/height fields to drm_mode_config

2019-09-27 Thread Jeykumar Sankaran
ering and validating the modes against the appropriate max fields in their mode_valid() implementations. Signed-off-by: Neil Armstrong Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/drm_framebuffer.c | 15 +++ include/drm/drm_mode_config.h | 3 +++ 2 files changed, 14 inser

[PATCH] Add framebuffer max width/height fields to drm_mode_config

2019-09-27 Thread Jeykumar Sankaran
Below two discussion threads will provide the context behind this patch. https://www.spinics.net/lists/dri-devel/msg229070.html https://lore.kernel.org/linux-arm-msm/db26145b-3f64-a334-f698-76f972332...@baylibre.com/T/ Seperating out the core framework patch from vendor implementation. Jeykumar

[PATCH] drm: add fb max width/height fields to drm_mode_config

2019-09-27 Thread Jeykumar Sankaran
ering and validating the modes against the appropriate max fields in their mode_valid() implementations. Signed-off-by: Neil Armstrong Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/drm_framebuffer.c | 15 +++ include/drm/drm_mode_config.h | 3 +++ 2 files changed, 14 inser

[PATCH] Add framebuffer max width/height fields to drm_mode_config

2019-09-27 Thread Jeykumar Sankaran
Below two discussion threads will provide the context behind this patch. https://www.spinics.net/lists/dri-devel/msg229070.html https://lore.kernel.org/linux-arm-msm/db26145b-3f64-a334-f698-76f972332...@baylibre.com/T/ Seperating out the core framework patch from vendor implementation. Jeykumar

Re: [PATCH] drm: add fb max width/height fields to drm_mode_config

2019-10-01 Thread Jeykumar Sankaran
On 2019-09-30 03:39, Ville Syrjälä wrote: On Fri, Sep 27, 2019 at 06:28:51PM -0700, Jeykumar Sankaran wrote: The mode_config max width/height values determine the maximum resolution the pixel reader can handle. Not according to the docs I "fixed" a while ago. But the same values a

Re: [Freedreno] [PATCH 5/5] drm/msm/dpu1: Handle the reg bus ICC path

2023-04-20 Thread Jeykumar Sankaran
On 4/17/2023 8:30 AM, Konrad Dybcio wrote: Apart from the already handled data bus (MAS_MDP_Pn<->DDR), there's another path that needs to be handled to ensure MDSS functions properly, namely the "reg bus", a.k.a the CPU-MDSS interconnect. Gating that path may have a variety of effects.. from

Re: [Freedreno] [PATCH 5/5] drm/msm/dpu1: Handle the reg bus ICC path

2023-04-20 Thread Jeykumar Sankaran
On 4/19/2023 12:48 PM, Konrad Dybcio wrote: On 19.04.2023 21:06, Jeykumar Sankaran wrote: On 4/17/2023 8:30 AM, Konrad Dybcio wrote: Apart from the already handled data bus (MAS_MDP_Pn<->DDR), there's another path that needs to be handled to ensure MDSS functions properly,

Re: [Freedreno] [PATCH 1/5] dt-bindings: display/msm: Add reg bus interconnect

2023-04-20 Thread Jeykumar Sankaran
Resending the question as the previous one was sent only to the freedreno list. Apologies for spamming! On 4/17/2023 8:30 AM, Konrad Dybcio wrote: Apart from the already handled data bus (MAS_MDP_Pn<->DDR), there's another path that needs to be handled to ensure MDSS functions properly, namely

Re: [Freedreno] [PATCH 0/5] MDSS reg bus interconnect

2023-04-20 Thread Jeykumar Sankaran
On 4/17/2023 8:30 AM, Konrad Dybcio wrote: Apart from the already handled data bus (MAS_MDP_Pn<->DDR), there's another path that needs to be handled to ensure MDSS functions properly, namely the "reg bus", a.k.a the CPU-MDSS interconnect. Gating that path may have a variety of effects.. from

Re: [Freedreno] [PATCH 03/11] drm/msm/dpu: use hsync/vsync polarity set by the encoder

2023-04-21 Thread Jeykumar Sankaran
On 4/19/2023 7:41 AM, Arnaud Vrac wrote: Do not override the hsync/vsync polarity passed by the encoder when setting up intf timings. The same logic was used in both the encoder and intf code to set the DP and DSI polarities, so those interfaces are not impacted. However for HDMI, the polariti

Re: [Freedreno] [PATCH 02/11] drm/msm/dpu: use the actual lm maximum width instead of a hardcoded value

2023-04-21 Thread Jeykumar Sankaran
On 4/19/2023 3:23 PM, Dmitry Baryshkov wrote: On 19/04/2023 17:41, Arnaud Vrac wrote: This avoids using two LMs instead of one when the display width is lower than the maximum supported value. For example on MSM8996/MSM8998, the actual maxwidth is 2560, so we would use two LMs for 1280x720 or

Re: [Freedreno] [PATCH 1/3] drm/msm/dpu: drop SSPP's SRC subblock

2023-04-27 Thread Jeykumar Sankaran
On 4/21/2023 5:08 PM, Dmitry Baryshkov wrote: The src_blk declares a lame copy of main SSPP register space. It's offset is always 0. It's length has been fixed to 0x150, while SSPP's length is now correct. Drop the src_blk and access SSPP registers without additional subblock lookup. Signed-o

Re: [Freedreno] [PATCH 2/3] drm/msm/dpu: access QSEED registers directly

2023-04-27 Thread Jeykumar Sankaran
ctx->hw, idx); + return dpu_hw_get_scaler3_ver(&ctx->hw, + ctx->cap->sblk->scaler_blk.base); } /* Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH 3/3] drm/msm/dpu: access CSC/CSC10 registers directly

2023-04-27 Thread Jeykumar Sankaran
, data, csc10); } static void dpu_hw_sspp_setup_solidfill(struct dpu_sw_pipe *pipe, u32 color) Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH 3/9] drm/msm/dpu: fix the condition for (not) applying QoS to CURSOR SSPP

2023-05-02 Thread Jeykumar Sankaran
On 4/30/2023 1:57 PM, Dmitry Baryshkov wrote: The function dpu_plane_sspp_update_pipe() contains code to skip enabling the QoS and OT limitis for CURSOR pipes. However all DPU since sdm845 repurpose DMA SSPP for the cursor planes because they lack the real CURSOR SSPP. Fix the condition to act

Re: [Freedreno] [PATCH 2/9] drm/msm/dpu: simplify CDP programming

2023-05-02 Thread Jeykumar Sankaran
On 4/30/2023 1:57 PM, Dmitry Baryshkov wrote: Get rid of intermediatory configuration structure and defines. Pass the format and the enablement bit directly to the new helper. The WB_CDP_CNTL register ignores BIT(2), so we can write it for both SSPP and WB CDP settings. Signed-off-by: Dmitry

Re: [Freedreno] [PATCH v2 4/9] drm/msm/dpu: rearrange QoS setting code

2023-05-06 Thread Jeykumar Sankaran
_dpu_plane_set_ot_limit(plane, pipe, pipe_cfg, frame_rate); - } if (pstate->needs_qos_remap) _dpu_plane_set_qos_remap(plane, pipe); Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v2 6/9] drm/msm/dpu: simplify qos_ctrl handling

2023-05-06 Thread Jeykumar Sankaran
pipe_qos_cfg.danger_safe_en, - pipe_qos_cfg.vblank_en, - pipe_qos_cfg.creq_vblank, - pipe_qos_cfg.danger_vblank, pdpu->is_rt_pipe); pipe->sspp->ops.setup_qos_ctrl(pipe->sspp, Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v2 7/9] drm/msm/dpu: drop DPU_PLANE_QOS_PANIC_CTRL

2023-05-06 Thread Jeykumar Sankaran
pstate->pipe, enable); if (pstate->r_pipe.sspp) - _dpu_plane_set_qos_ctrl(plane, &pstate->r_pipe, enable, DPU_PLANE_QOS_PANIC_CTRL); + _dpu_plane_set_qos_ctrl(plane, &pstate->r_pipe, enable); pm_runtime_put_sync(&dpu_kms->pdev->dev); } #endif Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v2 9/9] drm/msm/dpu: use common helper for WB and SSPP QoS setup

2023-05-06 Thread Jeykumar Sankaran
t drm_plane *plane, struct dpu_sw_pipe *pipe, @@ -1086,10 +1065,6 @@ static void dpu_plane_sspp_update_pipe(struct drm_plane *plane, } _dpu_plane_set_qos_lut(plane, pipe, fmt, pipe_cfg); - _dpu_plane_set_danger_lut(plane, pipe, fmt); - _dpu_plane_set_qos_ctrl(plane, pipe, - pipe->sspp->idx != SSPP_CURSOR0 && - pipe->sspp->idx != SSPP_CURSOR1); if (pipe->sspp->idx != SSPP_CURSOR0 && pipe->sspp->idx != SSPP_CURSOR1) Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v2 1/9] drm/msm/dpu: fix SSPP register definitions

2023-05-06 Thread Jeykumar Sankaran
On 5/2/2023 8:05 AM, Dmitry Baryshkov wrote: Reorder SSPP register definitions to sort them in the ascending order. Move register bitfields after the register definitions. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 66 +++-- 1 file ch

Re: [Freedreno] [PATCH v2 5/9] drm/msm/dpu: drop DPU_PLANE_QOS_VBLANK_CTRL

2023-05-06 Thread Jeykumar Sankaran
NK_AMORTIZE) { - /* this feature overrules previous VBLANK_CTRL */ pipe_qos_cfg.vblank_en = false; pipe_qos_cfg.creq_vblank = 0; /* clear vblank bits */ } Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v2 8/9] drm/msm/dpu: remove struct dpu_hw_pipe_qos_cfg

2023-05-06 Thread Jeykumar Sankaran
quot;pnum:%d ds:%d is_rt:%d\n", pdpu->pipe - SSPP_VIG0, - pipe_qos_cfg.danger_safe_en, + enable, pdpu->is_rt_pipe); pipe->sspp->ops.setup_qos_ctrl(pipe->sspp, - &pipe_qos_cfg); +

Re: [Freedreno] [PATCH v2 3/9] drm/msm/dpu: fix the condition for (not) applying QoS to CURSOR SSPP

2023-05-06 Thread Jeykumar Sankaran
lane_set_ot_limit(plane, pipe, pipe_cfg, frame_rate); } Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v2 2/9] drm/msm/dpu: simplify CDP programming

2023-05-06 Thread Jeykumar Sankaran
->sspp->ops.setup_cdp(pipe, &cdp_cfg); + pipe->sspp->ops.setup_cdp(pipe, fmt, + perf->cdp_cfg[DPU_PERF_CDP_USAGE_RT].rd_enable); } } Reviewed-by: Jeykumar Sankaran

Re: [PATCH v3 1/9] drm/msm/dpu: fix SSPP register definitions

2023-05-25 Thread Jeykumar Sankaran
On 5/18/2023 3:22 PM, Dmitry Baryshkov wrote: Reorder SSPP register definitions to sort them in the ascending order. Move register bitfields after the register definitions. Signed-off-by: Dmitry Baryshkov --- Reviewed-by: Jeykumar Sankaran drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c

Re: [Freedreno] [PATCH v2 3/6] drm/msm/dpu: split interrupt address arrays

2023-05-26 Thread Jeykumar Sankaran
On 5/22/2023 2:45 PM, Dmitry Baryshkov wrote: There is no point in having a single enum (and a single array) for both DPU < 7.0 and DPU >= 7.0 interrupt registers. Instead define a single enum and two IRQ address arrays. Signed-off-by: Dmitry Baryshkov --- .../msm/disp/dpu1/catalog/dpu_7_0

Re: [Freedreno] [PATCH v3 5/7] drm/msm/dsi: Add configuration for MSM8226

2023-06-07 Thread Jeykumar Sankaran
define MSM_DSI_6G_VER_MINOR_V1_0 0x1000 +#define MSM_DSI_6G_VER_MINOR_V1_0_20x1002 #define MSM_DSI_6G_VER_MINOR_V1_1 0x1001 #define MSM_DSI_6G_VER_MINOR_V1_1_1 0x10010001 #define MSM_DSI_6G_VER_MINOR_V1_2 0x1002 Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v3 4/7] drm/msm/mdp5: Add MDP5 configuration for MSM8226

2023-06-07 Thread Jeykumar Sankaran
{ .revision = 3, .config = { .hw = &apq8084_config } }, { .revision = 6, .config = { .hw = &msm8x16_config } }, Reviewed-by: Jeykumar Sankaran

Re: [Freedreno] [PATCH v3 6/7] drm/msm/dsi: Add phy configuration for MSM8226

2023-06-07 Thread Jeykumar Sankaran
On 6/1/2023 10:00 AM, Luca Weiss wrote: MSM8226 uses a modified PLL lock sequence compared to MSM8974, which is based on the function dsi_pll_enable_seq_m in the msm-3.10 kernel. Worth noting that the msm-3.10 downstream kernel also will try other sequences in case this one doesn't work, but

[PATCH] drm/connector: notify userspace on hotplug after register complete

2020-06-02 Thread Jeykumar Sankaran
drm connector notifies userspace on hotplug event prematurely before late_register and mode_object register completes. This leads to a race between userspace and kernel on updating the IDR list. So, move the notification to end of connector register. Signed-off-by: Jeykumar Sankaran Signed-off

[PATCH] drm/msm: validate display and event threads

2018-10-05 Thread Jeykumar Sankaran
While creating display and event threads per crtc, validate them before setting their priorities. Change-Id: I1dda805286df981c0f0e2b26507d089d3a21ff6c Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/msm_drv.c | 49 ++- 1 file changed, 16

[PATCH v2] drm/msm: validate display and event threads

2018-10-08 Thread Jeykumar Sankaran
While creating display and event threads per crtc, validate them before setting their priorities. changes in v2: - use dev_warn (Abhinav Kumar) Change-Id: I1dda805286df981c0f0e2b26507d089d3a21ff6c Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/msm_drv.c | 49

[PATCH v3] drm/msm: validate display and event threads

2018-10-08 Thread Jeykumar Sankaran
While creating display and event threads per crtc, validate them before setting their priorities. changes in v2: - use dev_warn (Abhinav Kumar) changes in v3: - fix compilation error Change-Id: I1dda805286df981c0f0e2b26507d089d3a21ff6c Signed-off-by: Jeykumar Sankaran

[PATCH 05/25] drm/msm/dpu: remove encoder from crtc mixer struct

2018-10-08 Thread Jeykumar Sankaran
Not actively used. Clean up the crtc mixer struct. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 2 -- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm

[PATCH 03/25] drm/msm/dpu: remove dev from RM

2018-10-08 Thread Jeykumar Sankaran
Not used. Remove from RM. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 3 +-- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 7 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 6 +- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/gpu

[PATCH 01/25] drm/msm/dpu: fix hw ctl retrieval for mixer muxing

2018-10-08 Thread Jeykumar Sankaran
Layer mixer/pingpong block counts and hw ctl block counts will not be same for all the topologies (e.g. layer mixer muxing to single interface) Use the encoder's split_role info to retrieve the respective control path for programming. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/dr

[PATCH 04/25] drm/msm/dpu: clean up dpu_rm_check_property_topctl declaration

2018-10-08 Thread Jeykumar Sankaran
Definition was removed already. Clean up header declaration. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 8 1 file changed, 8 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h index f41fd19

[PATCH 06/25] drm/msm/dpu: clean up redundant hw type

2018-10-08 Thread Jeykumar Sankaran
struct dpu_hw_blk has hw block type info. Remove duplicate type tracking in struct dpu_rm_hw_blk. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 17 - 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1

[PATCH 12/25] drm/msm/dpu: remove mode_set_complete

2018-10-08 Thread Jeykumar Sankaran
This flag was introduced as a fix to notify modeset complete when hw reservations were happening in both atomic_check and atomic_commit paths. Now that we are reserving only in atomic_check, we can get rid of this flag. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1

[PATCH 00/25] reserve RM resources in CRTC state

2018-10-08 Thread Jeykumar Sankaran
Submitting series of patches to clean up DPU resource manager (RM) of complicated hw iterations, redundant data maintenence and eventually modifying the DPU to reserve display HW blocks only in atomic check and caching the assigned HW blocks in atomic CRTC state. Thanks, Jeykumar S. Jeykumar

[PATCH 08/25] drm/msm/dpu: release reservation using crtc state

2018-10-08 Thread Jeykumar Sankaran
Use the hw block pointers stored in crtc state to release them back to RM resource pool. This change is made to uncouple RM reservation from encoder_id. Separate change is submitted to clean up RM of encoder id tagging. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1

[PATCH 02/25] drm/msm/dpu: avoid tracking reservations in RM

2018-10-08 Thread Jeykumar Sankaran
p the support from RM. Replace rsvp with the corresponding encoder id to tag the HW blocks reserved. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 284 + drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 4 - 2 files changed, 43 insertions(+)

[PATCH 07/25] drm/msm/dpu: reserve using crtc state

2018-10-08 Thread Jeykumar Sankaran
pipeline. It helps the driver: - to get rid of unwanted store and retrieval RM API's - to preserve HW resources assigned in atomic_check through atomic swap/duplicate. Separate patch is submitted to remove resource reservation in atomic_commit path. Signed-off-by: Jeykumar Sankaran --- dr

[PATCH 11/25] drm/msm/dpu: remove reserve in encoder mode_set

2018-10-08 Thread Jeykumar Sankaran
Now that we have crtc state tracking the reserved HW resources, we have access to them after atomic swap. So avoid reserving the resources in mode_set. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 17 ++--- 1 file changed, 2 insertions(+), 15

[PATCH 09/25] drm/msm/dpu: make RM iterator static

2018-10-08 Thread Jeykumar Sankaran
HW blocks reserved for a display are stored in crtc state. No one outside RM is interested in using these API's for HW block list iterations. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 37 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h

[PATCH 22/25] drm/msm/dpu: make crtc and encoder specific HW reservation

2018-10-08 Thread Jeykumar Sankaran
Instead of letting encoder make a centralized reservation for all of its display DRM components, this path splits the responsibility between CRTC and Encoder, each requesting RM for the HW mapping of its own domain. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c

[PATCH 21/25] drm/msm/dpu: merge RM reservation helpers

2018-10-08 Thread Jeykumar Sankaran
We cleaned up RM reserve api's enough to get rid of most of its unwanted checks and release handlers. To improve further the readability of the function, merging down the individual HW type allocators into one function. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu

[PATCH 13/25] drm/msm/dpu: make RM iterator hw type specific

2018-10-08 Thread Jeykumar Sankaran
Usage of hw block iterators are only RM internal. Instead of using generic void pointers for HW blocks, use dpu specific structure. It helps us to get rid of duplicate hw block id's maintained in RM wrapper. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c

[PATCH 10/25] drm/msm/dpu: maintain hw_mdp in kms

2018-10-08 Thread Jeykumar Sankaran
hw_mdp block is common for displays. No need to reserve per display. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 7 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 20 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 10 -- 3 files

[PATCH 16/25] drm/msm/dpu: clean up test_only flag for RM reservation

2018-10-08 Thread Jeykumar Sankaran
. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 2 +- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 13 +++-- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 4 +--- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/msm

[PATCH 17/25] drm/msm/dpu: remove RM HW block list iterator

2018-10-08 Thread Jeykumar Sankaran
Replacing with simpler linked list helper iterators. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 120 + 1 file changed, 46 insertions(+), 74 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm

[PATCH 14/25] drm/msm/dpu: remove enc_id tagging for hw blocks

2018-10-08 Thread Jeykumar Sankaran
RM was using encoder id's to tag HW block's to reserve and retrieve later for display pipeline. Now that all the reserved HW blocks for a display are maintained in its crtc state, no retrieval is needed. This patch cleans up RM of encoder id tagging. Signed-off-by: Jeykumar Sankaran --

[PATCH 24/25] drm/msm/dpu: remove mutex locking for RM interfaces

2018-10-08 Thread Jeykumar Sankaran
Since HW reservations are happening through atomic_check and all the display commits are catered by a single commit thread, it is not necessary to protect the interfaces by a separate mutex. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 24

[PATCH 23/25] drm/msm/dpu: remove max_width from RM

2018-10-08 Thread Jeykumar Sankaran
Unused variable in the driver. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 12 drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 2 -- 2 files changed, 14 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu/drm/msm/disp/dpu1

[PATCH 15/25] drm/msm/dpu: avoid redundant hw blk reference

2018-10-08 Thread Jeykumar Sankaran
Get rid of hw block pointer in RM iter as we can access the same through dpu_hw_blk. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c b/drivers/gpu

[PATCH 18/25] drm/msm/dpu: merge RM interface reservation helpers

2018-10-08 Thread Jeykumar Sankaran
we don't have enough reasons why the HW block looping's cannot happen in the same function. So merge them. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 63 ++ 1 file changed, 26 insertions(+), 37 deletions(-) diff --git

[PATCH 19/25] drm/msm/dpu: remove msm_display_topology

2018-10-08 Thread Jeykumar Sankaran
assigned HW blocks for providing the info, we can conveniently get rid of this structure. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 29 -- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 82 - drivers/gpu/drm/msm/disp/dpu1

[PATCH 20/25] drm/msm/dpu: refine layer mixer reservations

2018-10-08 Thread Jeykumar Sankaran
Validate layer mixer pairs for compatibility before retrieving the connected pingpong blocks. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 61 ++ 1 file changed, 17 insertions(+), 44 deletions(-) diff --git a/drivers/gpu/drm/msm

[PATCH 25/25] drm/msm/dpu: maintain RM init check internally

2018-10-08 Thread Jeykumar Sankaran
Move and maintain RM initialization flag checks from KMS to RM. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 6 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 1 - drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 12 drivers/gpu/drm/msm/disp/dpu1

Re: [PATCH v3] drm/msm: validate display and event threads

2018-10-09 Thread Jeykumar Sankaran
On 2018-10-09 07:24, Sean Paul wrote: On Mon, Oct 08, 2018 at 04:55:45PM -0700, Jeykumar Sankaran wrote: While creating display and event threads per crtc, validate them before setting their priorities. changes in v2: - use dev_warn (Abhinav Kumar) changes in v3: - fix

Re: [PATCH 18/25] drm/msm/dpu: merge RM interface reservation helpers

2018-10-09 Thread Jeykumar Sankaran
On 2018-10-09 09:50, Jordan Crouse wrote: On Mon, Oct 08, 2018 at 09:27:35PM -0700, Jeykumar Sankaran wrote: we don't have enough reasons why the HW block looping's cannot happen in the same function. So merge them. looping's -> looping. So there are reasons one might brea

Re: [Freedreno] [PATCH 01/25] drm/msm/dpu: fix hw ctl retrieval for mixer muxing

2018-10-09 Thread Jeykumar Sankaran
On 2018-10-09 11:07, Sean Paul wrote: On Mon, Oct 08, 2018 at 09:27:18PM -0700, Jeykumar Sankaran wrote: Layer mixer/pingpong block counts and hw ctl block counts will not be same for all the topologies (e.g. layer mixer muxing to single interface) Use the encoder's split_role info to ret

Re: [Freedreno] [PATCH 24/25] drm/msm/dpu: remove mutex locking for RM interfaces

2018-10-09 Thread Jeykumar Sankaran
On 2018-10-09 12:57, Sean Paul wrote: On Mon, Oct 08, 2018 at 09:27:41PM -0700, Jeykumar Sankaran wrote: Since HW reservations are happening through atomic_check and all the display commits are catered by a single commit thread, it is not necessary to protect the interfaces by a separate mutex

Re: [Freedreno] [PATCH 22/25] drm/msm/dpu: make crtc and encoder specific HW reservation

2018-10-09 Thread Jeykumar Sankaran
On 2018-10-09 13:41, Sean Paul wrote: On Mon, Oct 08, 2018 at 09:27:39PM -0700, Jeykumar Sankaran wrote: Instead of letting encoder make a centralized reservation for all of its display DRM components, this path splits the responsibility between CRTC and Encoder, each requesting RM for the HW

  1   2   3   4   >