From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> To: Abhinav Kumar <quic_abhinavk@quicinc.com>, Vinod Koul <vkoul@kernel.org> Cc: Rob Clark <robdclark@gmail.com>, linux-arm-msm@vger.kernel.org, Bjorn Andersson <bjorn.andersson@linaro.org>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, Jonathan Marek <jonathan@marek.ca>, Abhinav Kumar <abhinavk@codeaurora.org>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org Subject: Re: [REPOST PATCH v4 08/13] drm/msm/disp/dpu1: Don't use DSC with mode_3d Date: Thu, 17 Feb 2022 10:12:19 +0300 [thread overview] Message-ID: <acf0a2a2-f2e5-906a-3c51-525abd18ee6f@linaro.org> (raw) In-Reply-To: <4b89f5fe-0752-3c6a-3fb0-192f1f2e7b9e@quicinc.com> On 17/02/2022 09:33, Abhinav Kumar wrote: > > > On 2/16/2022 10:10 PM, Vinod Koul wrote: >> On 16-02-22, 19:11, Abhinav Kumar wrote: >>> >>> >>> On 2/10/2022 2:34 AM, Vinod Koul wrote: >>>> We cannot enable mode_3d when we are using the DSC. So pass >>>> configuration to detect DSC is enabled and not enable mode_3d >>>> when we are using DSC >>>> >>>> We add a helper dpu_encoder_helper_get_dsc() to detect dsc >>>> enabled and pass this to .setup_intf_cfg() >>>> >>>> Signed-off-by: Vinod Koul <vkoul@kernel.org> >>> >>> We should not use 3D mux only when we use DSC merge topology. >>> I agree that today we use only 2-2-1 topology for DSC which means its >>> using >>> DSC merge. >>> >>> But generalizing that 3D mux should not be used for DSC is not right. >>> >>> You can detect DSC merge by checking if there are two encoders and one >>> interface in the topology and if so, you can disable 3D mux. >> >> Right now with DSC we disable that as suggested by Dmitry last time. >> Whenever we introduce merge we should revisit this, for now this should >> suffice >> > > Sorry I didnt follow. > > The topology which you are supporting today IS DSC merge 2-2-1. I didnt > get what you mean by "whenever we introduce". > > I didnt follow Dmitry's comment either. > > "anybody adding support for SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC handle > this." > > 3D mux shouldnt be used when DSC merge is used. > > The topology Dmitry is referring to will not use DSC merge but you are > using it here and thats why you had to make this patch in the first > place. So I am not sure why would someone who uses 3D merge topology > worry about DSC merge. Your patch is the one which deals with the > topology in question. > > What I am suggesting is a small but necessary improvement to this patch. It seems that we can replace this patch by changing dpu_encoder_helper_get_3d_blend_mode() to contain the following condition (instead of the one present there). Does the following seem correct to you: static inline enum dpu_3d_blend_mode dpu_encoder_helper_get_3d_blend_mode( struct dpu_encoder_phys *phys_enc) { struct dpu_crtc_state *dpu_cstate; if (!phys_enc || phys_enc->enable_state == DPU_ENC_DISABLING) return BLEND_3D_NONE; dpu_cstate = to_dpu_crtc_state(phys_enc->parent->crtc->state); + /* Use merge_3d unless DSCMERGE topology is used */ if (phys_enc->split_role == ENC_ROLE_SOLO && + hweight(dpu_encoder_helper_get_dsc(phys_enc)) != 1 && dpu_cstate->num_mixers == CRTC_DUAL_MIXERS) return BLEND_3D_H_ROW_INT; return BLEND_3D_NONE; } > > All that you have to do is in query whether DSC merge is used from the > topology. You can do it in multiple ways: > > 1) Either query this from the encoder > 2) Store a bool "dsc_merge" in the intf_cfg > -- With best wishes Dmitry
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> To: Abhinav Kumar <quic_abhinavk@quicinc.com>, Vinod Koul <vkoul@kernel.org> Cc: Jonathan Marek <jonathan@marek.ca>, David Airlie <airlied@linux.ie>, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Abhinav Kumar <abhinavk@codeaurora.org>, Bjorn Andersson <bjorn.andersson@linaro.org>, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org Subject: Re: [REPOST PATCH v4 08/13] drm/msm/disp/dpu1: Don't use DSC with mode_3d Date: Thu, 17 Feb 2022 10:12:19 +0300 [thread overview] Message-ID: <acf0a2a2-f2e5-906a-3c51-525abd18ee6f@linaro.org> (raw) In-Reply-To: <4b89f5fe-0752-3c6a-3fb0-192f1f2e7b9e@quicinc.com> On 17/02/2022 09:33, Abhinav Kumar wrote: > > > On 2/16/2022 10:10 PM, Vinod Koul wrote: >> On 16-02-22, 19:11, Abhinav Kumar wrote: >>> >>> >>> On 2/10/2022 2:34 AM, Vinod Koul wrote: >>>> We cannot enable mode_3d when we are using the DSC. So pass >>>> configuration to detect DSC is enabled and not enable mode_3d >>>> when we are using DSC >>>> >>>> We add a helper dpu_encoder_helper_get_dsc() to detect dsc >>>> enabled and pass this to .setup_intf_cfg() >>>> >>>> Signed-off-by: Vinod Koul <vkoul@kernel.org> >>> >>> We should not use 3D mux only when we use DSC merge topology. >>> I agree that today we use only 2-2-1 topology for DSC which means its >>> using >>> DSC merge. >>> >>> But generalizing that 3D mux should not be used for DSC is not right. >>> >>> You can detect DSC merge by checking if there are two encoders and one >>> interface in the topology and if so, you can disable 3D mux. >> >> Right now with DSC we disable that as suggested by Dmitry last time. >> Whenever we introduce merge we should revisit this, for now this should >> suffice >> > > Sorry I didnt follow. > > The topology which you are supporting today IS DSC merge 2-2-1. I didnt > get what you mean by "whenever we introduce". > > I didnt follow Dmitry's comment either. > > "anybody adding support for SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC handle > this." > > 3D mux shouldnt be used when DSC merge is used. > > The topology Dmitry is referring to will not use DSC merge but you are > using it here and thats why you had to make this patch in the first > place. So I am not sure why would someone who uses 3D merge topology > worry about DSC merge. Your patch is the one which deals with the > topology in question. > > What I am suggesting is a small but necessary improvement to this patch. It seems that we can replace this patch by changing dpu_encoder_helper_get_3d_blend_mode() to contain the following condition (instead of the one present there). Does the following seem correct to you: static inline enum dpu_3d_blend_mode dpu_encoder_helper_get_3d_blend_mode( struct dpu_encoder_phys *phys_enc) { struct dpu_crtc_state *dpu_cstate; if (!phys_enc || phys_enc->enable_state == DPU_ENC_DISABLING) return BLEND_3D_NONE; dpu_cstate = to_dpu_crtc_state(phys_enc->parent->crtc->state); + /* Use merge_3d unless DSCMERGE topology is used */ if (phys_enc->split_role == ENC_ROLE_SOLO && + hweight(dpu_encoder_helper_get_dsc(phys_enc)) != 1 && dpu_cstate->num_mixers == CRTC_DUAL_MIXERS) return BLEND_3D_H_ROW_INT; return BLEND_3D_NONE; } > > All that you have to do is in query whether DSC merge is used from the > topology. You can do it in multiple ways: > > 1) Either query this from the encoder > 2) Store a bool "dsc_merge" in the intf_cfg > -- With best wishes Dmitry
next prev parent reply other threads:[~2022-02-17 7:12 UTC|newest] Thread overview: 127+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-02-10 10:34 [REPOST PATCH v4 00/13] drm/msm: Add Display Stream Compression Support Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 10:34 ` [REPOST PATCH v4 01/13] drm/msm/dsi: add support for dsc data Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 11:07 ` Dmitry Baryshkov 2022-02-10 11:07 ` Dmitry Baryshkov 2022-02-17 20:06 ` Abhinav Kumar 2022-02-17 20:06 ` Abhinav Kumar 2022-02-21 2:17 ` Dmitry Baryshkov 2022-02-21 2:17 ` Dmitry Baryshkov 2022-02-10 10:34 ` [REPOST PATCH v4 02/13] drm/msm/dsi: Pass DSC params to drm_panel Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 10:43 ` Dmitry Baryshkov 2022-02-10 10:43 ` Dmitry Baryshkov 2022-02-17 0:27 ` Abhinav Kumar 2022-02-17 0:27 ` Abhinav Kumar 2022-02-21 12:37 ` Dmitry Baryshkov 2022-02-21 12:37 ` Dmitry Baryshkov 2022-03-03 19:08 ` Abhinav Kumar 2022-03-03 19:08 ` Abhinav Kumar 2022-02-10 10:34 ` [REPOST PATCH v4 03/13] drm/msm/disp/dpu1: Add support for DSC Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-16 18:57 ` Abhinav Kumar 2022-02-16 18:57 ` Abhinav Kumar 2022-02-16 19:46 ` Dmitry Baryshkov 2022-02-17 4:20 ` Vinod Koul 2022-02-17 4:20 ` Vinod Koul 2022-02-10 10:34 ` [REPOST PATCH v4 04/13] drm/msm/disp/dpu1: Add support for DSC in pingpong block Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-16 19:49 ` Abhinav Kumar 2022-02-16 19:49 ` Abhinav Kumar 2022-02-17 4:21 ` Vinod Koul 2022-02-17 4:21 ` Vinod Koul 2022-02-10 10:34 ` [REPOST PATCH v4 05/13] drm/msm/disp/dpu1: Add DSC for SDM845 to hw_catalog Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-16 19:42 ` [Freedreno] " Abhinav Kumar 2022-02-16 19:42 ` Abhinav Kumar 2022-02-10 10:34 ` [REPOST PATCH v4 06/13] drm/msm/disp/dpu1: Add DSC support in hw_ctl Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-16 19:52 ` [Freedreno] " Abhinav Kumar 2022-02-16 19:52 ` Abhinav Kumar 2022-02-17 22:20 ` Marijn Suijten 2022-02-17 22:20 ` Marijn Suijten 2022-03-24 16:24 ` Vinod Koul 2022-03-24 16:24 ` Vinod Koul 2022-02-10 10:34 ` [REPOST PATCH v4 07/13] drm/msm/disp/dpu1: Add support for DSC in encoder Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 11:13 ` Dmitry Baryshkov 2022-02-10 11:13 ` Dmitry Baryshkov 2022-02-16 19:54 ` [Freedreno] " Abhinav Kumar 2022-02-16 19:54 ` Abhinav Kumar 2022-02-17 6:08 ` Vinod Koul 2022-02-17 6:08 ` Vinod Koul 2022-02-17 22:32 ` Marijn Suijten 2022-02-17 22:32 ` Marijn Suijten 2022-03-23 14:40 ` Vinod Koul 2022-03-23 14:40 ` Vinod Koul 2022-03-24 15:41 ` Vinod Koul 2022-03-24 15:41 ` Vinod Koul 2022-02-21 1:41 ` Dmitry Baryshkov 2022-02-21 1:41 ` Dmitry Baryshkov 2022-02-10 10:34 ` [REPOST PATCH v4 08/13] drm/msm/disp/dpu1: Don't use DSC with mode_3d Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 10:55 ` Dmitry Baryshkov 2022-02-10 10:55 ` Dmitry Baryshkov 2022-02-17 3:11 ` Abhinav Kumar 2022-02-17 3:11 ` Abhinav Kumar 2022-02-17 6:10 ` Vinod Koul 2022-02-17 6:10 ` Vinod Koul 2022-02-17 6:33 ` Abhinav Kumar 2022-02-17 6:33 ` Abhinav Kumar 2022-02-17 7:12 ` Dmitry Baryshkov [this message] 2022-02-17 7:12 ` Dmitry Baryshkov 2022-02-18 20:46 ` Abhinav Kumar 2022-02-18 20:46 ` Abhinav Kumar 2022-02-18 21:21 ` Dmitry Baryshkov 2022-02-18 21:21 ` Dmitry Baryshkov 2022-02-18 21:29 ` [Freedreno] " Abhinav Kumar 2022-02-18 21:29 ` Abhinav Kumar 2022-02-18 21:36 ` Dmitry Baryshkov 2022-02-18 21:36 ` Dmitry Baryshkov 2022-02-10 10:34 ` [REPOST PATCH v4 09/13] drm/msm: Add missing structure documentation Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 10:39 ` Dmitry Baryshkov 2022-02-10 10:39 ` Dmitry Baryshkov 2022-02-17 3:12 ` Abhinav Kumar 2022-02-17 3:12 ` Abhinav Kumar 2022-02-17 22:34 ` Marijn Suijten 2022-02-17 22:34 ` Marijn Suijten 2022-02-10 10:34 ` [REPOST PATCH v4 10/13] drm/msm/disp/dpu1: Add support for DSC in topology Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-10 10:47 ` Dmitry Baryshkov 2022-02-10 10:47 ` Dmitry Baryshkov 2022-02-17 21:44 ` Marijn Suijten 2022-02-17 21:44 ` Marijn Suijten 2022-03-23 11:38 ` [Freedreno] " Vinod Koul 2022-03-23 11:38 ` Vinod Koul 2022-02-17 22:37 ` Marijn Suijten 2022-02-17 22:37 ` Marijn Suijten 2022-03-23 11:39 ` Vinod Koul 2022-03-23 11:39 ` Vinod Koul 2022-02-10 10:34 ` [REPOST PATCH v4 11/13] drm/msm/disp/dpu1: Add DSC support in RM Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-17 3:14 ` Abhinav Kumar 2022-02-17 3:14 ` Abhinav Kumar 2022-02-17 3:21 ` Abhinav Kumar 2022-02-17 3:21 ` Abhinav Kumar 2022-02-10 10:34 ` [REPOST PATCH v4 12/13] drm/msm/dsi: add mode valid callback for dsi_mgr Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-17 3:17 ` Abhinav Kumar 2022-02-17 3:17 ` Abhinav Kumar 2022-02-10 10:34 ` [REPOST PATCH v4 13/13] drm/msm/dsi: Add support for DSC configuration Vinod Koul 2022-02-10 10:34 ` Vinod Koul 2022-02-17 3:44 ` [Freedreno] " Abhinav Kumar 2022-02-17 3:44 ` Abhinav Kumar 2022-02-17 6:19 ` Vinod Koul 2022-02-17 6:19 ` Vinod Koul 2022-02-17 9:27 ` Marijn Suijten 2022-02-17 9:27 ` Marijn Suijten 2022-02-17 10:51 ` [Freedreno] " Vinod Koul 2022-02-17 10:51 ` Vinod Koul 2022-02-17 14:38 ` Marijn Suijten 2022-02-17 14:38 ` Marijn Suijten 2022-02-21 2:11 ` Dmitry Baryshkov 2022-02-21 2:11 ` Dmitry Baryshkov 2022-03-24 15:45 ` Vinod Koul 2022-03-24 15:45 ` Vinod Koul
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=acf0a2a2-f2e5-906a-3c51-525abd18ee6f@linaro.org \ --to=dmitry.baryshkov@linaro.org \ --cc=abhinavk@codeaurora.org \ --cc=airlied@linux.ie \ --cc=bjorn.andersson@linaro.org \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=freedreno@lists.freedesktop.org \ --cc=jonathan@marek.ca \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=quic_abhinavk@quicinc.com \ --cc=robdclark@gmail.com \ --cc=vkoul@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.