All of lore.kernel.org
 help / color / mirror / Atom feed
From: abhinavk@codeaurora.org
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>,
	Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
	Jonathan Marek <jonathan@marek.ca>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	freedreno@lists.freedesktop.org
Subject: Re: [Freedreno] [PATCH v2 00/22] drm/msm/dpu: switch dpu_plane to be virtual
Date: Wed, 29 Sep 2021 19:19:05 -0700	[thread overview]
Message-ID: <c7caa55f5244ba4b7341a1b912835d91@codeaurora.org> (raw)
In-Reply-To: <20210705012115.4179824-1-dmitry.baryshkov@linaro.org>

Hi Dmitry

On 2021-07-04 18:20, Dmitry Baryshkov wrote:
> As discussed on IRC, change dpu_plane implementation to be virtual:
> register unified planes and select backing SSPP block at runtime.
> 
> Use msm.dpu_use_virtual_planes=1 to enable usage of virtual planes
> rather than statically allocated SSPPs at the plane registration.
> 
> Patches 1-9 move state variables from struct dpu_plane onto the stack
> allocation. State should not be a part of struct dpu_plane anyway.
> 
> Patches 10-18 make additional changes to plane code, reworking check,
> debugfs, dropping old multirec support, which results in patch 19 
> adding
> support for virtual planes per se.
> 
> Patches 20-22 demonstrate my main goal behind reworking dpu_plane
> support. They change dpu_plane to automatically use one of SSPP block
> features - multirec, an ability to display two unscaled RGB rectangles
> using single SSPP block. This allows us to double the amount of created
> planes. If the user tries to enable more planes than actually supported
> by the underlying SSPP blocks, atomic_check code would return an error.
> 
> As you can see, this patchset is not atomic, so different patches can 
> go
> separately.

I am half way through this series and have finished checking patches 
1-12
I am okay with patches 1-4, 6-12. Its a reasonable cleanup to make the 
dpu_plane struct lighter.
I need a little more time with the rest as I am comparing the downstream 
solution against yours.

As you mentioned, this patchset is not atomic, hence can you break it up 
like
-> cleanup of dpu_plane struct in one series
-> removal of current multirect and current src split which will include 
patch 5 as well

So that the first series can go through and it gives us a little more 
time to check the second
series.

Thanks

Abhinav

> 
> Changes since v1:
>  - Add multirec implementation
>  - Added msm.dpu_use_virtual_planes kernel parameter instead of using
>    compile time switch
>  - Changed code to always reallocate SSPPs in the CRTC atomic check to
>    let the kernel pick up the best multirec config. This can be
>    optimized later.
>  - Rework RM SSPP API to always receive plane id
>  - Removed scaler_cfg, pixel_ext and cdp_cfg from struct 
> dpu_plane_state
>  - Made _dpu_scaler_setup() call sspp's setup_scaler and setup_pe
>  - Removed dpu_csc_cfg from dpu_plane
> 
> The following changes since commit 
> e88bbc91849b2bf57683119c339e52916d34433f:
> 
>   Revert "drm/msm/mdp5: provide dynamic bandwidth management"
> (2021-06-23 14:06:20 -0700)
> 
> are available in the Git repository at:
> 
>   https://git.linaro.org/people/dmitry.baryshkov/kernel.git 
> dpu-multirec-2
> 
> for you to fetch changes up to 
> 19f6afd40097d4c826e56b8f4a8cbd807f7b61f6:
> 
>   drm/msm/dpu: add multirect support (2021-07-05 04:04:50 +0300)
> 
> ----------------------------------------------------------------
> Dmitry Baryshkov (22):
>       drm/msm/dpu: move LUT levels out of QOS config
>       drm/msm/dpu: remove pipe_qos_cfg from struct dpu_plane
>       drm/msm/dpu: drop pipe_name from struct dpu_plane
>       drm/msm/dpu: remove stage_cfg from struct dpu_crtc
>       drm/msm/dpu: rip out master planes support
>       drm/msm/dpu: move dpu_hw_pipe_cfg out of struct dpu_plane
>       drm/msm/dpu: drop scaler config from plane state
>       drm/msm/dpu: drop dpu_csc_cfg from dpu_plane
>       drm/msm/dpu: remove dpu_hw_pipe_cdp_cfg from dpu_plane
>       drm/msm/dpu: don't cache pipe->cap->features in dpu_plane
>       drm/msm/dpu: don't cache pipe->cap->sblk in dpu_plane
>       drm/msm/dpu: rip out debugfs support from dpu_plane
>       drm/msm/dpu: drop src_split and multirect check from 
> dpu_crtc_atomic_check
>       drm/msm/dpu: add list of supported formats to the DPU caps
>       drm/msm/dpu: simplify DPU_SSPP features checks
>       drm/msm/dpu: do not limit the zpos property
>       drm/msm/dpu: add support for SSPP allocation to RM
>       drm/msm/dpu: move pipe_hw to dpu_plane_state
>       drm/msm/dpu: add support for virtualized planes
>       drm/msm/dpu: fix smart dma support
>       drm/msm/dpu: fix CDP setup to account for multirect index
>       drm/msm/dpu: add multirect support
> 
>  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c       | 261 +++-----
>  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h       |   2 -
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c |  20 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |  20 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c    |  41 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h    |  52 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.c    |   2 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_hw_util.h    |   2 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c        | 234 ++++---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h        |  70 +-
>  drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c      | 851 
> +++++++++++--------------
>  drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h      |  75 +--
>  drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c         |  81 +++
>  drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h         |   6 +
>  14 files changed, 793 insertions(+), 924 deletions(-)
> 
> _______________________________________________
> Freedreno mailing list
> Freedreno@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/freedreno

  parent reply	other threads:[~2021-09-30  2:19 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-05  1:20 [PATCH v2 00/22] drm/msm/dpu: switch dpu_plane to be virtual Dmitry Baryshkov
2021-07-05  1:20 ` Dmitry Baryshkov
2021-07-05  1:20 ` [PATCH v2 01/22] drm/msm/dpu: move LUT levels out of QOS config Dmitry Baryshkov
2021-07-05  1:20   ` Dmitry Baryshkov
2021-07-05  1:20 ` [PATCH v2 02/22] drm/msm/dpu: remove pipe_qos_cfg from struct dpu_plane Dmitry Baryshkov
2021-07-05  1:20   ` Dmitry Baryshkov
2021-07-05  1:20 ` [PATCH v2 03/22] drm/msm/dpu: drop pipe_name " Dmitry Baryshkov
2021-07-05  1:20   ` Dmitry Baryshkov
2021-07-05  1:20 ` [PATCH v2 04/22] drm/msm/dpu: remove stage_cfg from struct dpu_crtc Dmitry Baryshkov
2021-07-05  1:20   ` Dmitry Baryshkov
2021-07-05  1:20 ` [PATCH v2 05/22] drm/msm/dpu: rip out master planes support Dmitry Baryshkov
2021-07-05  1:20   ` Dmitry Baryshkov
2021-07-05  1:20 ` [PATCH v2 06/22] drm/msm/dpu: move dpu_hw_pipe_cfg out of struct dpu_plane Dmitry Baryshkov
2021-07-05  1:20   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 07/22] drm/msm/dpu: drop scaler config from plane state Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 08/22] drm/msm/dpu: drop dpu_csc_cfg from dpu_plane Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 09/22] drm/msm/dpu: remove dpu_hw_pipe_cdp_cfg " Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 10/22] drm/msm/dpu: don't cache pipe->cap->features in dpu_plane Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 11/22] drm/msm/dpu: don't cache pipe->cap->sblk " Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 12/22] drm/msm/dpu: rip out debugfs support from dpu_plane Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 13/22] drm/msm/dpu: drop src_split and multirect check from dpu_crtc_atomic_check Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 14/22] drm/msm/dpu: add list of supported formats to the DPU caps Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-09 20:05   ` [Freedreno] " abhinavk
2021-11-09 20:05     ` abhinavk
2021-07-05  1:21 ` [PATCH v2 15/22] drm/msm/dpu: simplify DPU_SSPP features checks Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-09 20:06   ` [Freedreno] " abhinavk
2021-11-09 20:06     ` abhinavk
2021-07-05  1:21 ` [PATCH v2 16/22] drm/msm/dpu: do not limit the zpos property Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-09 20:15   ` [Freedreno] " abhinavk
2021-11-09 20:15     ` abhinavk
2021-11-09 20:21     ` Dmitry Baryshkov
2021-11-09 20:21       ` Dmitry Baryshkov
2021-11-10  1:35       ` abhinavk
2021-11-10  1:35         ` abhinavk
2021-11-10  1:58         ` Dmitry Baryshkov
2021-11-10  1:58           ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 17/22] drm/msm/dpu: add support for SSPP allocation to RM Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-10  0:30   ` [Freedreno] " abhinavk
2021-11-10  0:30     ` abhinavk
2021-07-05  1:21 ` [PATCH v2 18/22] drm/msm/dpu: move pipe_hw to dpu_plane_state Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 19/22] drm/msm/dpu: add support for virtualized planes Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-07-05  1:21 ` [PATCH v2 20/22] drm/msm/dpu: fix smart dma support Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-10  2:06   ` [Freedreno] " abhinavk
2021-11-10  2:06     ` abhinavk
2021-07-05  1:21 ` [PATCH v2 21/22] drm/msm/dpu: fix CDP setup to account for multirect index Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-10  2:12   ` [Freedreno] " abhinavk
2021-11-10  2:12     ` abhinavk
2021-07-05  1:21 ` [PATCH v2 22/22] drm/msm/dpu: add multirect support Dmitry Baryshkov
2021-07-05  1:21   ` Dmitry Baryshkov
2021-11-10  2:22   ` [Freedreno] " abhinavk
2021-11-10  2:22     ` abhinavk
2021-09-30  2:19 ` abhinavk [this message]
2021-09-30 10:56   ` [Freedreno] [PATCH v2 00/22] drm/msm/dpu: switch dpu_plane to be virtual Dmitry Baryshkov
2021-09-30 10:56     ` Dmitry Baryshkov

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=c7caa55f5244ba4b7341a1b912835d91@codeaurora.org \
    --to=abhinavk@codeaurora.org \
    --cc=airlied@linux.ie \
    --cc=bjorn.andersson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jonathan@marek.ca \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=robdclark@gmail.com \
    --cc=sboyd@kernel.org \
    --cc=sean@poorly.run \
    /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: link
Be 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.