From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> To: Rob Clark <robdclark@gmail.com>, Abhinav Kumar <quic_abhinavk@quicinc.com>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Sean Paul <sean@poorly.run>, Marijn Suijten <marijn.suijten@somainline.org>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch> Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Stephen Boyd <swboyd@chromium.org>, Konrad Dybcio <konrad.dybcio@somainline.org> Subject: [PATCH v3 0/4] drm/msm: provide migration path from MDP5 to DPU driver Date: Sat, 06 Jan 2024 01:34:14 +0200 [thread overview] Message-ID: <20240106-fd-migrate-mdp5-v3-0-3d2750378063@linaro.org> (raw) Over the last several years the DPU driver has been actively developed, while the MDP5 is mostly in the maintenance mode. This results in some features being available only in the DPU driver. For example, bandwidth scaling, writeback support, properly supported bonded DSI aka dual DSI support, DSC (display stream compression). All the pre-SDM845 platforms were originally supported by the MDP5 driver only. However it is possible and easy to support some of the older SoCs in the DPU driver. For example in the v5.18 it got support for MSM8998. This can not be considered as a proper migration, since there msm8998.dtsi didn't describe the display hardware beforehand. Instead new bindings were added, making MSM8998 just another display hardware to be supported by the DPU driver. This series provides a way to gradually migrate support for several existing and well-supported SoCs from the MDP5 to the DPU driver without changing the DT. From the user experience point of view this is facilitated by the `msm.prefer_mdp5' kernel param. If the parameter is set to `true' (current default), all `shared' platforms will be handled by the MDP5 driver. If the switch is flipped to `false' (or if the MDP5 driver is disabled), these platforms will be handled by the DPU driver. Handling this by the modparam (rather than solely by kernel config) allows one to easly switch between the drivers, simplifying testing. This series implements support for two DPU 3.n platforms, SDM660 and SDM630. The MSM8996 support was a part of the previous iterations of this patchset, but it was removed in v3. It requires additional development and testing. In theory after additional testing we can drop most of migration code and some parts of MDP5 driver. The proposed boundary is to move all platforms supporting cursor planes to the DPU driver, while limiting MDP5 to support only the older platforms which implement cursor as a part of the LM hardware block (MSM8974, APQ8084, MSM8x26, MSM8x16 and MSM8x39). Changes since v2: - Rebased on top of linux-next - After additional consideration dropped MSM8996 patch. It will be reiterated later, once the generic migration framework is accepted (and after we implement scalers support for that platform). Changes since v1: - Dropped accepted patches - Rebased on top of updated [1] - Added defines for MDSS hw revisions (Stephen) - Changed msm_mdss_generate_mdp5_mdss_data() to return const struct pointer (Stephen) - Fixed error handling in msm_ioremap_mdss() (Stephen) [1] https://patchwork.freedesktop.org/series/119804/ --- Dmitry Baryshkov (4): drm/msm/mdss: generate MDSS data for MDP5 platforms drm/msm/dpu: support binding to the mdp5 devices drm/msm: add a kernel param to select between MDP5 and DPU drivers drm/msm/dpu: add support for SDM660 and SDM630 platforms .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_2_sdm660.h | 291 +++++++++++++++++++++ .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_3_sdm630.h | 225 ++++++++++++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 2 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 2 + drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 103 ++++++-- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 3 + drivers/gpu/drm/msm/msm_drv.c | 33 +++ drivers/gpu/drm/msm/msm_drv.h | 4 + drivers/gpu/drm/msm/msm_io_utils.c | 13 + drivers/gpu/drm/msm/msm_mdss.c | 51 ++++ 10 files changed, 706 insertions(+), 21 deletions(-) --- base-commit: 39676dfe52331dba909c617f213fdb21015c8d10 change-id: 20240105-fd-migrate-mdp5-6a2aa51bc83b Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> To: Rob Clark <robdclark@gmail.com>, Abhinav Kumar <quic_abhinavk@quicinc.com>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Sean Paul <sean@poorly.run>, Marijn Suijten <marijn.suijten@somainline.org>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch> Cc: linux-arm-msm@vger.kernel.org, Konrad Dybcio <konrad.dybcio@somainline.org>, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Stephen Boyd <swboyd@chromium.org>, freedreno@lists.freedesktop.org Subject: [PATCH v3 0/4] drm/msm: provide migration path from MDP5 to DPU driver Date: Sat, 06 Jan 2024 01:34:14 +0200 [thread overview] Message-ID: <20240106-fd-migrate-mdp5-v3-0-3d2750378063@linaro.org> (raw) Over the last several years the DPU driver has been actively developed, while the MDP5 is mostly in the maintenance mode. This results in some features being available only in the DPU driver. For example, bandwidth scaling, writeback support, properly supported bonded DSI aka dual DSI support, DSC (display stream compression). All the pre-SDM845 platforms were originally supported by the MDP5 driver only. However it is possible and easy to support some of the older SoCs in the DPU driver. For example in the v5.18 it got support for MSM8998. This can not be considered as a proper migration, since there msm8998.dtsi didn't describe the display hardware beforehand. Instead new bindings were added, making MSM8998 just another display hardware to be supported by the DPU driver. This series provides a way to gradually migrate support for several existing and well-supported SoCs from the MDP5 to the DPU driver without changing the DT. From the user experience point of view this is facilitated by the `msm.prefer_mdp5' kernel param. If the parameter is set to `true' (current default), all `shared' platforms will be handled by the MDP5 driver. If the switch is flipped to `false' (or if the MDP5 driver is disabled), these platforms will be handled by the DPU driver. Handling this by the modparam (rather than solely by kernel config) allows one to easly switch between the drivers, simplifying testing. This series implements support for two DPU 3.n platforms, SDM660 and SDM630. The MSM8996 support was a part of the previous iterations of this patchset, but it was removed in v3. It requires additional development and testing. In theory after additional testing we can drop most of migration code and some parts of MDP5 driver. The proposed boundary is to move all platforms supporting cursor planes to the DPU driver, while limiting MDP5 to support only the older platforms which implement cursor as a part of the LM hardware block (MSM8974, APQ8084, MSM8x26, MSM8x16 and MSM8x39). Changes since v2: - Rebased on top of linux-next - After additional consideration dropped MSM8996 patch. It will be reiterated later, once the generic migration framework is accepted (and after we implement scalers support for that platform). Changes since v1: - Dropped accepted patches - Rebased on top of updated [1] - Added defines for MDSS hw revisions (Stephen) - Changed msm_mdss_generate_mdp5_mdss_data() to return const struct pointer (Stephen) - Fixed error handling in msm_ioremap_mdss() (Stephen) [1] https://patchwork.freedesktop.org/series/119804/ --- Dmitry Baryshkov (4): drm/msm/mdss: generate MDSS data for MDP5 platforms drm/msm/dpu: support binding to the mdp5 devices drm/msm: add a kernel param to select between MDP5 and DPU drivers drm/msm/dpu: add support for SDM660 and SDM630 platforms .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_2_sdm660.h | 291 +++++++++++++++++++++ .../gpu/drm/msm/disp/dpu1/catalog/dpu_3_3_sdm630.h | 225 ++++++++++++++++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 2 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 2 + drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 103 ++++++-- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 3 + drivers/gpu/drm/msm/msm_drv.c | 33 +++ drivers/gpu/drm/msm/msm_drv.h | 4 + drivers/gpu/drm/msm/msm_io_utils.c | 13 + drivers/gpu/drm/msm/msm_mdss.c | 51 ++++ 10 files changed, 706 insertions(+), 21 deletions(-) --- base-commit: 39676dfe52331dba909c617f213fdb21015c8d10 change-id: 20240105-fd-migrate-mdp5-6a2aa51bc83b Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
next reply other threads:[~2024-01-05 23:34 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-01-05 23:34 Dmitry Baryshkov [this message] 2024-01-05 23:34 ` [PATCH v3 0/4] drm/msm: provide migration path from MDP5 to DPU driver Dmitry Baryshkov 2024-01-05 23:34 ` [PATCH v3 1/4] drm/msm/mdss: generate MDSS data for MDP5 platforms Dmitry Baryshkov 2024-01-05 23:34 ` Dmitry Baryshkov 2024-02-07 18:25 ` Abhinav Kumar 2024-02-07 19:59 ` Dmitry Baryshkov 2024-01-05 23:34 ` [PATCH v3 2/4] drm/msm/dpu: support binding to the mdp5 devices Dmitry Baryshkov 2024-01-05 23:34 ` Dmitry Baryshkov 2024-02-07 18:47 ` Abhinav Kumar 2024-02-07 19:56 ` Dmitry Baryshkov 2024-02-07 20:05 ` Abhinav Kumar 2024-01-05 23:34 ` [PATCH v3 3/4] drm/msm: add a kernel param to select between MDP5 and DPU drivers Dmitry Baryshkov 2024-01-05 23:34 ` Dmitry Baryshkov 2024-01-06 0:04 ` Carl Vanderlip 2024-01-06 0:04 ` Carl Vanderlip 2024-01-06 0:38 ` Dmitry Baryshkov 2024-01-06 0:38 ` Dmitry Baryshkov 2024-01-08 17:57 ` Carl Vanderlip 2024-01-08 17:57 ` Carl Vanderlip 2024-01-08 19:07 ` Dmitry Baryshkov 2024-01-08 19:07 ` Dmitry Baryshkov 2024-01-09 19:32 ` Carl Vanderlip 2024-01-09 19:32 ` Carl Vanderlip 2024-02-07 19:19 ` Abhinav Kumar 2024-01-05 23:34 ` [PATCH v3 4/4] drm/msm/dpu: add support for SDM660 and SDM630 platforms Dmitry Baryshkov 2024-01-05 23:34 ` Dmitry Baryshkov 2024-02-07 19:50 ` Abhinav Kumar
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=20240106-fd-migrate-mdp5-v3-0-3d2750378063@linaro.org \ --to=dmitry.baryshkov@linaro.org \ --cc=airlied@gmail.com \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=freedreno@lists.freedesktop.org \ --cc=konrad.dybcio@somainline.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marijn.suijten@somainline.org \ --cc=quic_abhinavk@quicinc.com \ --cc=robdclark@gmail.com \ --cc=sean@poorly.run \ --cc=swboyd@chromium.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.