All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marijn Suijten <marijn.suijten@somainline.org>
To: 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>,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	Abhinav Kumar <abhinavk@codeaurora.org>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	freedreno@lists.freedesktop.org
Subject: Re: [REPOST PATCH v4 10/13] drm/msm/disp/dpu1: Add support for DSC in topology
Date: Thu, 17 Feb 2022 22:44:17 +0100	[thread overview]
Message-ID: <20220217214417.hb6sdx53cs36us6j@SoMainline.org> (raw)
In-Reply-To: <20220210103423.271016-11-vkoul@kernel.org>

On 2022-02-10 16:04:20, Vinod Koul wrote:
> For DSC to work we typically need a 2,2,1 configuration. This should
> suffice for resolutions up to 4k. For more resolutions like 8k this won't
> work.
> 
> Also, it is better to use 2 LMs and DSC instances as half width results
> in lesser power consumption as compared to single LM, DSC at full width.
> 
> The panel has been tested only with 2,2,1 configuration, so for
> now we blindly create 2,2,1 topology when DSC is enabled
> 
> Co-developed-by: Abhinav Kumar <abhinavk@codeaurora.org>
> Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 13 +++++++++++++
>  drivers/gpu/drm/msm/msm_drv.h               |  2 ++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 95a7bf362e81..13ccb7b3cce5 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -574,8 +574,21 @@ static struct msm_display_topology dpu_encoder_get_topology(
>  	topology.num_enc = 0;
>  	topology.num_intf = intf_count;
>  
> +	if (dpu_enc->dsc) {
> +		/* In case of Display Stream Compression DSC, we would use
> +		 * 2 encoders, 2 line mixers and 1 interface

LM is a layer mixer, not a line mixer, right?

- Marijn

> +		 * this is power optimal and can drive up to (including) 4k
> +		 * screens
> +		 */
> +		topology.num_enc = 2;
> +		topology.num_dsc = 2;
> +		topology.num_intf = 1;
> +		topology.num_lm = 2;
> +	}
> +
>  	return topology;
>  }
> +
>  static int dpu_encoder_virt_atomic_check(
>  		struct drm_encoder *drm_enc,
>  		struct drm_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
> index 6425a42e997c..994d895d1a47 100644
> --- a/drivers/gpu/drm/msm/msm_drv.h
> +++ b/drivers/gpu/drm/msm/msm_drv.h
> @@ -103,12 +103,14 @@ enum msm_event_wait {
>   * @num_enc:      number of compression encoder blocks used
>   * @num_intf:     number of interfaces the panel is mounted on
>   * @num_dspp:     number of dspp blocks used
> + * @num_dsc:      number of Display Stream Compression (DSC) blocks used
>   */
>  struct msm_display_topology {
>  	u32 num_lm;
>  	u32 num_enc;
>  	u32 num_intf;
>  	u32 num_dspp;
> +	u32 num_dsc;
>  };
>  
>  /**
> -- 
> 2.31.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: Marijn Suijten <marijn.suijten@somainline.org>
To: 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,
	Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
	freedreno@lists.freedesktop.org
Subject: Re: [REPOST PATCH v4 10/13] drm/msm/disp/dpu1: Add support for DSC in topology
Date: Thu, 17 Feb 2022 22:44:17 +0100	[thread overview]
Message-ID: <20220217214417.hb6sdx53cs36us6j@SoMainline.org> (raw)
In-Reply-To: <20220210103423.271016-11-vkoul@kernel.org>

On 2022-02-10 16:04:20, Vinod Koul wrote:
> For DSC to work we typically need a 2,2,1 configuration. This should
> suffice for resolutions up to 4k. For more resolutions like 8k this won't
> work.
> 
> Also, it is better to use 2 LMs and DSC instances as half width results
> in lesser power consumption as compared to single LM, DSC at full width.
> 
> The panel has been tested only with 2,2,1 configuration, so for
> now we blindly create 2,2,1 topology when DSC is enabled
> 
> Co-developed-by: Abhinav Kumar <abhinavk@codeaurora.org>
> Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
>  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 13 +++++++++++++
>  drivers/gpu/drm/msm/msm_drv.h               |  2 ++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> index 95a7bf362e81..13ccb7b3cce5 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> @@ -574,8 +574,21 @@ static struct msm_display_topology dpu_encoder_get_topology(
>  	topology.num_enc = 0;
>  	topology.num_intf = intf_count;
>  
> +	if (dpu_enc->dsc) {
> +		/* In case of Display Stream Compression DSC, we would use
> +		 * 2 encoders, 2 line mixers and 1 interface

LM is a layer mixer, not a line mixer, right?

- Marijn

> +		 * this is power optimal and can drive up to (including) 4k
> +		 * screens
> +		 */
> +		topology.num_enc = 2;
> +		topology.num_dsc = 2;
> +		topology.num_intf = 1;
> +		topology.num_lm = 2;
> +	}
> +
>  	return topology;
>  }
> +
>  static int dpu_encoder_virt_atomic_check(
>  		struct drm_encoder *drm_enc,
>  		struct drm_crtc_state *crtc_state,
> diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h
> index 6425a42e997c..994d895d1a47 100644
> --- a/drivers/gpu/drm/msm/msm_drv.h
> +++ b/drivers/gpu/drm/msm/msm_drv.h
> @@ -103,12 +103,14 @@ enum msm_event_wait {
>   * @num_enc:      number of compression encoder blocks used
>   * @num_intf:     number of interfaces the panel is mounted on
>   * @num_dspp:     number of dspp blocks used
> + * @num_dsc:      number of Display Stream Compression (DSC) blocks used
>   */
>  struct msm_display_topology {
>  	u32 num_lm;
>  	u32 num_enc;
>  	u32 num_intf;
>  	u32 num_dspp;
> +	u32 num_dsc;
>  };
>  
>  /**
> -- 
> 2.31.1
> 

  parent reply	other threads:[~2022-02-17 21:44 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
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 [this message]
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=20220217214417.hb6sdx53cs36us6j@SoMainline.org \
    --to=marijn.suijten@somainline.org \
    --cc=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=linux-kernel@vger.kernel.org \
    --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: 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.