From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko =?ISO-8859-1?Q?St=FCbner?= Subject: Re: [PATCH v2 04/18] video: add command mode and command mode display timing Date: Mon, 26 May 2014 13:10:07 +0200 Message-ID: <2222199.PrI77DIhQ9@phil> References: <1400647390-26590-1-git-send-email-yj44.cho@samsung.com> <1400647390-26590-5-git-send-email-yj44.cho@samsung.com> <20140526101441.GA24492@ulmo> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart6345095.1sPn3G9CG6"; micalg="pgp-sha256"; protocol="application/pgp-signature" Return-path: In-Reply-To: <20140526101441.GA24492@ulmo> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thierry Reding Cc: YoungJun Cho , airlied-cv59FeDIM0c@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, pawel.moll-5wv7dgnIgG8@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org, galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org, s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, jy0922.shim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, sw0312.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org List-Id: devicetree@vger.kernel.org --nextPart6345095.1sPn3G9CG6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Am Montag, 26. Mai 2014, 12:14:43 schrieb Thierry Reding: > On Wed, May 21, 2014 at 01:42:56PM +0900, YoungJun Cho wrote: > > This patch is based on videomode and display_timing relevant codes.= > > To support command mode panel, it does not need to guide its timing= > > information to the display controller like video mode panel, > > but it requires signal timings to transfer video data. > > So this patch adds cmdmode struct, cmdmode_display_timing struct an= d > > the according helper functions to convert cmdmode_display_timing > > to a generic cmdmode. > >=20 > > Signed-off-by: YoungJun Cho > > Acked-by: Inki Dae > > Acked-by: Kyungmin Park > > --- > >=20 > > drivers/video/Kconfig | 3 + > > drivers/video/Makefile | 2 + > > drivers/video/cmdmode.c | 42 ++++++ > > drivers/video/cmdmode_display_timing.c | 26 ++++ > > drivers/video/of_cmdmode.c | 55 ++++++++ > > drivers/video/of_cmdmode_display_timing.c | 212 > > +++++++++++++++++++++++++++++ include/video/cmdmode.h = =20 > > | 67 +++++++++ > > include/video/cmdmode_display_timing.h | 59 ++++++++ > > include/video/of_cmdmode.h | 19 +++ > > include/video/of_cmdmode_display_timing.h | 26 ++++ > > 10 files changed, 511 insertions(+) > > create mode 100644 drivers/video/cmdmode.c > > create mode 100644 drivers/video/cmdmode_display_timing.c > > create mode 100644 drivers/video/of_cmdmode.c > > create mode 100644 drivers/video/of_cmdmode_display_timing.c > > create mode 100644 include/video/cmdmode.h > > create mode 100644 include/video/cmdmode_display_timing.h > > create mode 100644 include/video/of_cmdmode.h > > create mode 100644 include/video/of_cmdmode_display_timing.h >=20 > Cc'ing Heiko St=FCbner on this. Heiko, you seem to have done some wor= k on > i80 in the past[0] and I'm wondering if you could share any insights = you > may have here. >=20 > In particular I'd like your take on the approach taken in this patch = to > describe i80 parameters to a generic command-mode display timings > structure. However it seems to me that these timings are really very = i80 > specific and don't apply in general to command-mode displays. >=20 > As such I'm beginning to think that this should rather be a property = of > the attached display/panel rather than the interface that generates t= he > signal. OMG ... your digging in my ancient history :-D I always got the impression, i80 is somehow related to the MIPI-DBI pro= tocol=20 [1]. Also the display I was working on (AUO-K190x epaper controller) used th= e=20 command mode to also transfer the display region to update and had a=20= completely dfferent command set [2]. In the end, I temporarily settled in adding a glue driver, driving the = s3c2416=20 i80 controller [3]. But someday I'd like to integrate this into a real=20= solution, as the s3c2416 lcd-controller can do the i80 also in hardware= , maybe=20 speeding things up a little. So I guess the transfer method itself is generic, but the commands used= seem=20 to differ. But I of course don't know if "regular" MIPI-DBI/i80 display= s use a=20 command set of commands for their timings. Heiko [1] https://www.mail-archive.com/linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg2= 9100.html [2]=20 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/dr= ivers/video/fbdev/auo_k190x.h [3] https://github.com/mmind/linux-es600/blob/topic/es600-devel/drivers= /video/es600-epd.c > > diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig > > index c7b4f0f..7090ee5 100644 > > --- a/drivers/video/Kconfig > > +++ b/drivers/video/Kconfig > > @@ -38,6 +38,9 @@ config VGASTATE > >=20 > > config VIDEOMODE_HELPERS > > =20 > > =09bool > >=20 > > +config CMDMODE_HELPERS > > +=09bool > > + > >=20 > > config HDMI > > =20 > > =09bool > >=20 > > diff --git a/drivers/video/Makefile b/drivers/video/Makefile > > index 9ad3c17..619dd99 100644 > > --- a/drivers/video/Makefile > > +++ b/drivers/video/Makefile > > @@ -8,6 +8,8 @@ obj-y=09=09=09=09 +=3D backlight/ > >=20 > > obj-y=09=09=09=09 +=3D fbdev/ > > =20 > > obj-$(CONFIG_VIDEOMODE_HELPERS) +=3D display_timing.o videomode.o > >=20 > > +obj-$(CONFIG_CMDMODE_HELPERS) +=3D cmdmode_display_timing.o cmdmod= e.o > >=20 > > ifeq ($(CONFIG_OF),y) > > obj-$(CONFIG_VIDEOMODE_HELPERS) +=3D of_display_timing.o of_videom= ode.o > >=20 > > +obj-$(CONFIG_CMDMODE_HELPERS) +=3D of_cmdmode_display_timing.o of_= cmdmode.o > >=20 > > endif > >=20 > > diff --git a/drivers/video/cmdmode.c b/drivers/video/cmdmode.c > > new file mode 100644 > > index 0000000..3d3eeb8 > > --- /dev/null > > +++ b/drivers/video/cmdmode.c > > @@ -0,0 +1,42 @@ > > +/* > > + * generic cmdmode display timing functions > > + * > > + * Copyright (c) 2014 YoungJun Cho > > + * > > + * This program is free software; you can redistribute it and/or m= odify > > + * it under the terms of the GNU General Public License version 2 = as > > + * published by the Free Software Foundation. > > + */ > > + > > +#include > > +#include > > +#include