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 and > > the according helper functions to convert cmdmode_display_timing > > to a generic cmdmode. > > > > Signed-off-by: YoungJun Cho > > Acked-by: Inki Dae > > Acked-by: Kyungmin Park > > --- > > > > 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 > > | 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 > > Cc'ing Heiko Stübner on this. Heiko, you seem to have done some work on > i80 in the past[0] and I'm wondering if you could share any insights you > may have here. > > 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. > > 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 the > signal. OMG ... your digging in my ancient history :-D I always got the impression, i80 is somehow related to the MIPI-DBI protocol [1]. Also the display I was working on (AUO-K190x epaper controller) used the command mode to also transfer the display region to update and had a completely dfferent command set [2]. In the end, I temporarily settled in adding a glue driver, driving the s3c2416 i80 controller [3]. But someday I'd like to integrate this into a real solution, as the s3c2416 lcd-controller can do the i80 also in hardware, maybe speeding things up a little. So I guess the transfer method itself is generic, but the commands used seem to differ. But I of course don't know if "regular" MIPI-DBI/i80 displays use a command set of commands for their timings. Heiko [1] https://www.mail-archive.com/linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg29100.html [2] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/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 > > > > config VIDEOMODE_HELPERS > > > > bool > > > > +config CMDMODE_HELPERS > > + bool > > + > > > > config HDMI > > > > bool > > > > 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 += backlight/ > > > > obj-y += fbdev/ > > > > obj-$(CONFIG_VIDEOMODE_HELPERS) += display_timing.o videomode.o > > > > +obj-$(CONFIG_CMDMODE_HELPERS) += cmdmode_display_timing.o cmdmode.o > > > > ifeq ($(CONFIG_OF),y) > > obj-$(CONFIG_VIDEOMODE_HELPERS) += of_display_timing.o of_videomode.o > > > > +obj-$(CONFIG_CMDMODE_HELPERS) += of_cmdmode_display_timing.o of_cmdmode.o > > > > endif > > > > 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 modify > > + * it under the terms of the GNU General Public License version 2 as > > + * published by the Free Software Foundation. > > + */ > > + > > +#include > > +#include > > +#include