Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1340775

Re: [PATCH v2 2/2] drm/panel: Support for LG lp120up1 panel with eDP input

Path csiph.com!goblin1!goblin.stu.neva.ru!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Thierry Reding <thierry.reding@gmail.com>
Newsgroups linux.kernel
Subject Re: [PATCH v2 2/2] drm/panel: Support for LG lp120up1 panel with eDP input
Date Tue, 23 Feb 2016 16:20:03 +0100
Message-ID <r5mUP-7eb-55@gated-at.bofh.it> (permalink)
References <r4Wxk-4RK-35@gated-at.bofh.it> <r4Wxk-4RK-33@gated-at.bofh.it> <r4Xa2-5ds-11@gated-at.bofh.it> <r4Xa2-5ds-9@gated-at.bofh.it> <r5mUP-7eb-57@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=Pn7WILUW7y0IvUO7Yq5FE0A2go/ayDh1k8STeJdaV+w=; b=qpjCJ5HOFHm6Y6aiqKcAw3CobvBfroOB4AeJate4vYt0eS2A0UtkYCQsOJwCoQTxbw FP0/+wtVqYePhAOocrdcct73/C0WLeaJfksw84KpAYnpS6P4qJ9F/tXrDoT8NsGlskCs ftOo10z/7ExwNugc0ehI0Er0fjC6FTUzT48McMkfXt+aYjSDqktMVPDrxhf9xbW1w81w DWen2ZRg4p+BkMbknl6Vb7ds/LBqvoxyhYHhbvgvmda8kcmmJ/ckF3OQ+UGVnJIAD+Jt oDZdnEqDmyroTSrYbLfII9k8rUJIGu/6/pdEI9z/K5apkOSgjb+9JWaW2Jr6UtIP+qkG Bxqg==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=Pn7WILUW7y0IvUO7Yq5FE0A2go/ayDh1k8STeJdaV+w=; b=M8bGWUiZtJwzHN6NQ7ABsCkOcOkOsc9mDpOOqps8eu4+bvjOMMJpj9n6yAastdPh3w z5ht0OGGpzmosXVXlr+QKOTvzSn5VJ6d44xClYMMkTeFQ3aSvmJGHLATZW4nFqF4Q6fA OygQZ3cn7E33rYrBLbtUUN9ZHf9P7tWc/UZwkfHQEeDVKD1wFck4VdA2a4nVb4Uxx3vh lyPq2zH0KRwOmnMrA8Gk5EaYNS3+jyIbwbgxqo0Ehi/SqhV+vFkVQDtd3fvwsSYHVgsK 10Tc5nUYMYbU0gwLXAHBvN1hnEbafvH/JNCbEQ6iGjDWxJ845EBKLVOoQ7pTjblabSgx LsUg==
X-Gm-Message-State AG10YORp0M1ubWOjrjrCynrc4B8gfMsSPGa38ZZnn+sl2wJiLMm+ehiPv+oT6rC4jdLfrA==
X-Received by 10.28.101.7 with SMTP id z7mr17980471wmb.92.1456240363138; Tue, 23 Feb 2016 07:12:43 -0800 (PST)
MIME-Version 1.0
Content-Type multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="hOcCNbCCxyk/YU74"
Content-Disposition inline
User-Agent Mutt/1.5.24 (2015-08-30)
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 169
Organization linux.* mail to news gateway
X-Original-Cc Jitao Shi <jitao.shi@mediatek.com>, Mark Rutland <mark.rutland@arm.com>, David Airlie <airlied@linux.ie>, stonea168@163.com, "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>, Ajay Kumar <ajaykumar.rs@samsung.com>, Vincent Palatin <vpalatin@chromium.org>, cawa cheng <cawa.cheng@mediatek.com>, bibby.hsieh@mediatek.com, CK HU <ck.hu@mediatek.com>, Russell King <rmk+kernel@arm.linux.org.uk>, Thierry Reding <treding@nvidia.com>, Sean Paul <seanpaul@chromium.org>, devicetree@vger.kernel.org, Sascha Hauer <kernel@pengutronix.de>, Pawel Moll <pawel.moll@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, Inki Dae <inki.dae@samsung.com>, Rob Herring <robh+dt@kernel.org>, linux-mediatek@lists.infradead.org, yingjoe.chen@mediatek.com, Matthias Brugger <matthias.bgg@gmail.com>, eddie.huang@mediatek.com, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, Rahul Sharma <rahul.sharma@samsung.com>, srv_heupstream@mediatek.com, linux-kernel <linux-kernel@vger.kernel.org>, Philipp Zabel <p.zabel@pengutronix.de>, Kumar Gala <galak@codeaurora.org>, Andy Yan <andy.yan@rock-chips.com>
X-Original-Date Tue, 23 Feb 2016 16:12:41 +0100
X-Original-Message-ID <20160223151241.GC27656@ulmo>
X-Original-References <1456138904-15258-1-git-send-email-jitao.shi@mediatek.com> <1456138904-15258-2-git-send-email-jitao.shi@mediatek.com> <CAGUYZuSsrneg8zQ0Ro8z5C469A2D-TOKpONECxWdoM6T+xNAeg@mail.gmail.com> <20160222114308.GA22505@ulmo> <CAGUYZuSVghfC75eWihA82WxC8pF67mWKQMJ-95F2ezqMssyxfQ@mail.gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1340775

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

On Tue, Feb 23, 2016 at 10:45:01AM +0530, sanjeev sharma wrote:
> Hello Thierry,
> 
> I am not agree here and how it would be redundant ?

The panel being a separate device means that it needs a compatible
value and the compatible value implies a specific video timing. It
would be redundant, therefore, to repeat the video timing in the
panel's device tree node that already has the compatible string.

> please see lvds interface, where panel timing parameter is defined in the
> Device Tree. If there are multiple display panel then we can create a
> separate dtsi file and include in main Board dts file. I believe that, It
> is simpler way to support multiple panel.

Two things: you can define a separate .dtsi file with the panel
definition with the current approach, too. But it would be a waste to do
so because really the only thing you need to change is the compatible
string.

The approach chosen in the DTS that you link to below might seem like a
simpler way, but it completely ignores aspects other than timings. What
if the panel requires a GPIO and or regulator to turn on. How are you
going to represent the power up sequence for that in DT? This was
attempted a long time ago and deemed too complicated to do in DT, hence
why we ended up with what we have now.

There are also panels on more complicated busses, such as DSI. These
panels often require additional register programming, so in addition to
the above you'd need some sort of register programming table in DT for
these to work.

> http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/arch/arm/boot/dts/imx6q-sabrelite.dts?h=imx_3.14.38_6qp_beta#n225

That's not an upstream tree, so it isn't relevant to this discussion.
The decision to make the panel a separate device and put the video
timings into the driver was made a couple of years ago and we're not
going to change that. It's fine if you want to disagree, but I'm afraid
it won't change things.

Thierry

> On Mon, Feb 22, 2016 at 5:13 PM, Thierry Reding <thierry.reding@gmail.com>
> wrote:
> 
> > On Mon, Feb 22, 2016 at 04:42:54PM +0530, sanjeev sharma wrote:
> > > Hello Jitao,
> > >
> > > Can't we add this panel information in device tree file instead inside
> > the
> > > device driver ?
> >
> > We could, but that would be redundant. Panels need to be represented by
> > a specific compatible string anyway, and that compatible string implies
> > the video timings, bits-per-color, width and height.
> >
> > Also there's more to panels than just the timings or dimensions. Power
> > up and power down sequences are also implied by the compatible stirng.
> > Describing all of that in the device tree was at some point attempted,
> > but in the end it turned out too complicated and we ended up with what
> > we have now.
> >
> > Thierry
> >
> > > On Mon, Feb 22, 2016 at 4:31 PM, Jitao Shi <jitao.shi@mediatek.com>
> > wrote:
> > >
> > > > The LG lp120up1 TFT LCD panel with eDP interface is a 12.0" 1920x1280
> > > > panel, which can be supported by the simple panel driver
> > > >
> > > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
> > > > ---
> > > > Changes since v1:
> > > >  - Add eDP panel type in comment msg
> > > >  - Fixed comment msg with 72 characters width
> > > > ---
> > > >  drivers/gpu/drm/panel/panel-simple.c |   26 ++++++++++++++++++++++++++
> > > >  1 file changed, 26 insertions(+)
> > > >
> > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c
> > > > b/drivers/gpu/drm/panel/panel-simple.c
> > > > index f88a631..2030c37 100644
> > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > @@ -982,6 +982,29 @@ static const struct panel_desc lg_lb070wv8 = {
> > > >         .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> > > >  };
> > > >
> > > > +static const struct drm_display_mode lg_lp120up1_mode = {
> > > > +       .clock = 162300,
> > > > +       .hdisplay = 1920,
> > > > +       .hsync_start = 1920 + 40,
> > > > +       .hsync_end = 1920 + 40 + 40,
> > > > +       .htotal = 1920 + 40 + 40+ 80,
> > > > +       .vdisplay = 1280,
> > > > +       .vsync_start = 1280 + 4,
> > > > +       .vsync_end = 1280 + 4 + 4,
> > > > +       .vtotal = 1280 + 4 + 4 + 12,
> > > > +       .vrefresh = 60,
> > > > +};
> > > > +
> > > > +static const struct panel_desc lg_lp120up1 = {
> > > > +       .modes = &lg_lp120up1_mode,
> > > > +       .num_modes = 1,
> > > > +       .bpc = 8,
> > > > +       .size = {
> > > > +               .width = 267,
> > > > +               .height = 183,
> > > > +       },
> > > > +};
> > > > +
> > > >  static const struct drm_display_mode lg_lp129qe_mode = {
> > > >         .clock = 285250,
> > > >         .hdisplay = 2560,
> > > > @@ -1256,6 +1279,9 @@ static const struct of_device_id
> > platform_of_match[]
> > > > = {
> > > >                 .compatible = "lg,lb070wv8",
> > > >                 .data = &lg_lb070wv8,
> > > >         }, {
> > > > +               .compatible = "lg,lp120up1",
> > > > +               .data = &lg_lp120up1,
> > > > +       }, {
> > > >                 .compatible = "lg,lp129qe",
> > > >                 .data = &lg_lp129qe,
> > > >         }, {
> > > > --
> > > > 1.7.9.5
> > > >
> > > >
> > > > _______________________________________________
> > > > linux-arm-kernel mailing list
> > > > linux-arm-kernel@lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> > > >
> >

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCH v2 2/2] drm/panel: Support for LG lp120up1 panel with eDP  input Thierry Reding <thierry.reding@gmail.com> - 2016-02-23 16:20 +0100

csiph-web