linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maxime Ripard <mripard@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@collabora.com>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	"open list:DRM DRIVER FOR MSM ADRENO GPU" 
	<dri-devel@lists.freedesktop.org>,
	Caleb Connolly <caleb@connolly.tech>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	AngeloGioacchino Del Regno 
	<angelogioacchino.delregno@somainline.org>,
	Marijn Suijten <marijn.suijten@somainline.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	Kuogee Hsieh <quic_khsieh@quicinc.com>,
	Andy Gross <agross@kernel.org>,
	Jessica Zhang <quic_jesszhan@quicinc.com>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>, Conor Dooley <conor+dt@kernel.org>,
	"open list:DRM DRIVER FOR MSM ADRENO GPU" 
	<linux-arm-msm@vger.kernel.org>,
	Abhinav Kumar <quic_abhinavk@quicinc.com>,
	Rob Herring <robh+dt@kernel.org>,
	Martin Botka <martin.botka@somainline.org>,
	~postmarketos/upstreaming@lists.sr.ht,
	Jami Kettunen <jami.kettunen@somainline.org>,
	Bjorn Andersson <andersson@kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	freedreno <freedreno@lists.freedesktop.org>
Subject: Re: RFC: DSI host capabilities (was: [PATCH RFC 03/10] drm/panel: Add LGD panel driver for Sony Xperia XZ3)
Date: Wed, 5 Jul 2023 14:04:00 +0200	[thread overview]
Message-ID: <epds77sccy4cc5cdpoc4ir7sfz5sz3biwep6rbks2nuyqncidu@77gb4t2wy6vn> (raw)
In-Reply-To: <e927cfcd-bf34-5daf-0e24-4dd828106968@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 3901 bytes --]

Hi,

On Tue, May 30, 2023 at 03:36:04PM +0300, Dmitry Baryshkov wrote:
> On 30/05/2023 15:15, AngeloGioacchino Del Regno wrote:
> > Il 30/05/23 13:44, Dmitry Baryshkov ha scritto:
> > > On Tue, 30 May 2023 at 10:24, Neil Armstrong
> > > <neil.armstrong@linaro.org> wrote:
> > > > 
> > > > Hi Marijn, Dmitry, Caleb, Jessica,
> > > > 
> > > > On 29/05/2023 23:11, Marijn Suijten wrote:
> > > > > On 2023-05-22 04:16:20, Dmitry Baryshkov wrote:
> > > > > <snip>
> > > > > > > +   if (ctx->dsi->dsc) {
> > > > > > 
> > > > > > dsi->dsc is always set, thus this condition can be dropped.
> > > > > 
> > > > > I want to leave room for possibly running the panel without DSC (at a
> > > > > lower resolution/refresh rate, or at higher power consumption if there
> > > > > is enough BW) by not assigning the pointer, if we get access to panel
> > > > > documentation: probably one of the magic commands sent in this driver
> > > > > controls it but we don't know which.
> > > > 
> > > > I'd like to investigate if DSC should perhaps only be enabled if we
> > > > run non certain platforms/socs ?
> > > > 
> > > > I mean, we don't know if the controller supports DSC and those
> > > > particular
> > > > DSC parameters so we should probably start adding something like :
> > > > 
> > > > static drm_dsc_config dsc_params_qcom = {}
> > > > 
> > > > static const struct of_device_id panel_of_dsc_params[] = {
> > > >          { .compatible = "qcom,sm8150", , .data = &dsc_params_qcom },
> > > >          { .compatible = "qcom,sm8250", , .data = &dsc_params_qcom },
> > > >          { .compatible = "qcom,sm8350", , .data = &dsc_params_qcom },
> > > >          { .compatible = "qcom,sm8450", , .data = &dsc_params_qcom },
> > > > };
> > > 
> > > I think this would damage the reusability of the drivers. The panel
> > > driver does not actually care if the SoC is SM8350, sunxi-something or
> > > RCar.
> > > Instead it cares about host capabilities.
> > > 
> > > I think instead we should extend mipi_dsi_host:
> > > 
> > > #define MIPI_DSI_HOST_MODE_VIDEO BIT(0)
> > > #define MIPI_DSI_HOST_MODE_CMD  BIT(1)
> > > #define MIPI_DSI_HOST_VIDEO_SUPPORTS_COMMANDS BIT(2)
> > > // FIXME: do we need to provide additional caps here ?
> > > 
> > > #define MIPI_DSI_DSC_1_1 BIT(0)
> > > #define MIPI_DSI_DSC_1_2 BIT(1)
> > > #define MIPI_DSI_DSC_NATIVE_422 BIT(2)
> > > #define MIPI_DSI_DSC_NATIVE_420 BIT(3)
> > > #define MIPI_DSI_DSC_FRAC_BPP BIT(4)
> > > // etc.
> > > 
> > > struct mipi_dsi_host {
> > >   // new fields only
> > >    unsigned long mode_flags;
> > >    unsigned long dsc_flags;
> > > };
> > > 
> > > Then the panel driver can adapt itself to the host capabilities and
> > > (possibly) select one of the internally supported DSC profiles.
> > > 
> > 
> > I completely agree about extending mipi_dsi_host, other SoCs could reuse
> > that and
> > support for DSC panels would become a lot cleaner.
> 
> Sounds good. I will wait for one or two more days (to get the possible
> feedback on fields/flags/etc) and post an RFC patch to dri-devel.

I just came across that discussion, and couldn't find those patches, did
you ever send them?

Either way, I'm not really sure it's a good idea to multiply the
capabilities flags of the DSI host, and we should just stick to the
spec. If the spec says that we have to support DSC while video is
output, then that's what the panels should expect.

If a host isn't able to provide that, it's a bug and we should fix the
controller driver instead of creating a workaround in the core for
broken drivers.

Another concern I have is that, those broken drivers are usually the
undocumented ones that already have trouble supporting the most trivial
setup. Creating more combinations both at the controller and panel level
will just make it harder for those drivers.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  parent reply	other threads:[~2023-07-05 12:04 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-21 21:23 [PATCH RFC 00/10] drm/panel: Drivers for four Sony CMD-mode (and DSC) panels Marijn Suijten
2023-05-21 21:23 ` [PATCH RFC 01/10] drm/panel: Clean up SOFEF00 config dependencies Marijn Suijten
2023-05-22  9:01   ` Neil Armstrong
2023-05-28 22:00   ` Caleb Connolly
2023-05-21 21:23 ` [PATCH RFC 02/10] dt-bindings: display: panel: Describe Sony Xperia XZ3's LGD panel Marijn Suijten
2023-05-22  0:10   ` Dmitry Baryshkov
2023-05-21 21:23 ` [PATCH RFC 03/10] drm/panel: Add LGD panel driver for Sony Xperia XZ3 Marijn Suijten
2023-05-22  1:16   ` Dmitry Baryshkov
2023-05-22  9:04     ` Neil Armstrong
2023-05-22 12:58       ` Dmitry Baryshkov
2023-05-29 21:07         ` Marijn Suijten
2023-05-29 22:18           ` Dmitry Baryshkov
2023-05-29 22:37             ` Marijn Suijten
2023-05-29 22:39               ` Dmitry Baryshkov
2023-05-30  8:27                 ` Marijn Suijten
2023-05-30 11:11                   ` Dmitry Baryshkov
2023-05-30 18:19                     ` Marijn Suijten
2023-05-30 17:54             ` Abhinav Kumar
2023-05-30 18:13               ` Marijn Suijten
2023-05-30 23:16                 ` Dmitry Baryshkov
2023-05-29 21:11     ` Marijn Suijten
2023-05-29 22:17       ` Dmitry Baryshkov
2023-05-29 22:36       ` Dmitry Baryshkov
2023-05-30  7:24       ` Neil Armstrong
2023-05-30  8:41         ` Marijn Suijten
2023-05-30  9:29           ` Konrad Dybcio
2023-05-30 11:44         ` RFC: DSI host capabilities (was: [PATCH RFC 03/10] drm/panel: Add LGD panel driver for Sony Xperia XZ3) Dmitry Baryshkov
2023-05-30 12:15           ` AngeloGioacchino Del Regno
2023-05-30 12:36             ` Dmitry Baryshkov
2023-05-30 15:44               ` Neil Armstrong
2023-05-31  8:02                 ` AngeloGioacchino Del Regno
2023-07-05 12:04               ` Maxime Ripard [this message]
2023-07-05 13:05                 ` Neil Armstrong
2023-07-05 13:29                   ` Maxime Ripard
2023-07-05 13:37                     ` Dmitry Baryshkov
2023-07-05 14:24                       ` Maxime Ripard
2023-07-05 15:20                         ` Dmitry Baryshkov
2023-07-05 16:53                           ` Maxime Ripard
2023-07-05 20:09                             ` Dmitry Baryshkov
2023-07-06  7:24                               ` Maxime Ripard
2023-07-06  7:33                                 ` Neil Armstrong
2023-07-06  7:59                                   ` Maxime Ripard
2023-07-06  8:03                                     ` Neil Armstrong
2023-07-05 15:58                         ` Neil Armstrong
2023-05-21 21:23 ` [PATCH RFC 04/10] arm64: dts: qcom: sdm845-akatsuki: Configure OLED panel Marijn Suijten
2023-05-21 21:23 ` [PATCH RFC 05/10] dt-bindings: display: panel: Describe Samsung SOFEF01-M Display-IC Marijn Suijten
2023-05-21 22:23   ` Rob Herring
2023-05-21 21:23 ` [PATCH RFC 06/10] drm/panel/samsung-sofef01: Add panel driver for Sony Xperia 5 / 10 II Marijn Suijten
2023-05-22  1:19   ` Dmitry Baryshkov
2023-05-22 16:30     ` Konrad Dybcio
2023-05-22 22:38       ` Marijn Suijten
2023-05-22 22:32     ` Marijn Suijten
2023-05-22 22:56       ` Dmitry Baryshkov
2023-05-29 20:58         ` Marijn Suijten
2023-05-29 22:20           ` Dmitry Baryshkov
2023-05-29 22:35             ` Marijn Suijten
2023-05-21 21:23 ` [PATCH RFC 07/10] dt-bindings: display: panel: Describe Samsung SOFEF03-M Display-IC Marijn Suijten
2023-06-08 19:43   ` Rob Herring
2023-05-21 21:23 ` [PATCH RFC 08/10] drm/panel/samsung-sofef03: Add panel driver for Sony Xperia 5 II Marijn Suijten
2023-05-22  1:23   ` Dmitry Baryshkov
2023-05-22  9:08     ` Neil Armstrong
2023-05-22 12:57       ` Dmitry Baryshkov
2023-05-29 21:21       ` Marijn Suijten
2023-05-29 21:29         ` Konrad Dybcio
2023-05-29 22:22           ` Dmitry Baryshkov
2023-05-29 22:33             ` Marijn Suijten
2023-05-22 16:31     ` Konrad Dybcio
2023-05-21 21:23 ` [PATCH RFC 09/10] dt-bindings: display: panel: Describe Sony Xperia 1 display Marijn Suijten
2023-05-21 22:23   ` Rob Herring
2023-05-21 21:23 ` [PATCH RFC 10/10] drm/panel/sony-griffin-samsung: Add panel driver for Sony Xperia 1 Marijn Suijten
2023-06-28  9:22   ` Linus Walleij
2023-06-28 14:20     ` Marijn Suijten
2023-06-28 19:18       ` Linus Walleij

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=epds77sccy4cc5cdpoc4ir7sfz5sz3biwep6rbks2nuyqncidu@77gb4t2wy6vn \
    --to=mripard@kernel.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=angelogioacchino.delregno@somainline.org \
    --cc=caleb@connolly.tech \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jami.kettunen@somainline.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marijn.suijten@somainline.org \
    --cc=martin.botka@somainline.org \
    --cc=neil.armstrong@linaro.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=quic_jesszhan@quicinc.com \
    --cc=quic_khsieh@quicinc.com \
    --cc=robh+dt@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=~postmarketos/upstreaming@lists.sr.ht \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).