From: Tony Lindgren <tony@atomide.com>
To: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Cc: "ext Hiremath, Vaibhav" <hvaibhav@ti.com>,
"hverkuil@xs4all.nl" <hverkuil@xs4all.nl>,
"Shah, Hardik" <hardik.shah@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"video4linux-list@redhat.com" <video4linux-list@redhat.com>
Subject: Re: [PREVIEW] New display subsystem for OMAP2/3
Date: Fri, 3 Oct 2008 16:34:01 +0300 [thread overview]
Message-ID: <20081003133400.GA6251@atomide.com> (raw)
In-Reply-To: <1223040344.6118.23.camel@tubuntu>
* Tomi Valkeinen <tomi.valkeinen@nokia.com> [081003 16:26]:
> Hi,
>
> > > -----Original Message-----
> > > From: Tomi Valkeinen [mailto:tomi.valkeinen@nokia.com]
> > > Sent: Thursday, October 02, 2008 1:55 PM
> > > To: Hiremath, Vaibhav
> > > Cc: Shah, Hardik; linux-omap@vger.kernel.org; video4linux-list@redhat.com
> > > Subject: RE: [PREVIEW] New display subsystem for OMAP2/3
> > >
> > > Hi Vaibhav,
> > >
> > > On Wed, 2008-10-01 at 16:21 +0530, ext Hiremath, Vaibhav wrote:
> > > > Tomi,
> > > >
> > > > Have you got a chance to review the DSS library and V4l2 driver which we have posted?
> > >
> > > Unfortunately not very much. I've been glancing the DSS side of the
> > > driver, but not the v4l side as I don't know much about it.
> > >
> > > There seems to be awfully lot ifdefs for board/cpu types in the code.
> >
> > As far as ifdefs are concerned, they are added to take care of OMAP2/3 variants. Especially you will find many instances of CONFIG_ARCH_OMAP3410 and the reason is obvious, OMAP3410 doesn't have VENC. As I have mentioned before, DSS library is designed to support both LCD, TV, and many more.
>
> They make the code unclear. I have divided the functionality to separate
> files, that can easily be left out. So for OMAP3410 I would just disable
> the VENC config option. And then I can test for CONFIG_DSS_VENC, instead
> of OMAP3410 || OMAP2410 || OMAPwhatnot. Of course you can't do this for
> all things, but at least VENC is not one of these.
>
> And all board specific code should, in my opinion, be in board files. I
> don't have any board specific definitions in the DSS driver or the
> LCD/controller drivers. (well, ok, there is something in the DSI driver,
> it's still quite raw).
Yeah we should be able to compile in any combination of omap boards with
whatever configuration from board-*.c files as platform_data.
So ifdefs will totally break this.
> > > My biased and superficial view of the differences between my DSS and
> > > yours is that:
> >
> > Tomi, here I differ from you. There should not be biased opinion. What we are looking here is a good design which will fulfill all our requirements/use case, like LCD, DVI, HDMI and TV for us and DSI, RFBI for you.
>
> Agreed. I was just pointing out that I haven't used enough time to study
> your DSS to really comment on it, and that a coder tends to like his own
> code =).
>
> > > - My implementation is cleaner, better organized and more generic
> >
> > Again, here both of us will be having biased comments to support our own design, so I would prefer not to comment on this. Lets people on the community decide whose design is better.
> >
> > > - My implementation has support for DSI, SDI, RFBI, L4 updates
> >
> > DSI, SDI and RFBI are the modes, which we can add anytime to the system depending as per our requirement.
> > It is again driven by use case; you have use cases for DSI, SDI and RFBI. We have for TV, DVI, HDMI and LCD, so we strongly concentrated on these.
> >
> > We can very well add these supports to DSS Library with minimal effort.
>
> SDI is quite easy, but I wouldn't say adding RFBI and DSI is minimal
> effort. DSI is quite complex in itself, and the manual update mode
> changes how the DSS has to handle things.
>
> > > - Your implementation has better support for "extra" things like VRFB,
> > > color conversions, alpha etc.
> > > - Your implementation most likely has better power management support.
> > > - And of course what is most visible to the user, my version uses only
> > > framebuffers, and yours uses also v4l2 devices.
> > >
> >
> > You really can't deny the V4L2 framework advantages over framebuffer, especially for streaming kind of applications. Looking towards the hardware features OMAP supports; we would really require to have such support/capabilities. Community is also in agreement for the V4L2 interface on OMAP-DSS.
>
> Well, I'm not the best one to comment on V4L2 as I don't know much about
> it. But I remember seeing quite negative comments about V4L2 a while ago
> in this or related mail thread, so I'm not yet ready to change to V4L2
> camp.
>
> The best option would be, of course, to have both =).
>
> > Tony/Hans,
> > Your comments would be helpful here.
I'd rather not get too involved in the fb or v4l stuff, I already have
enough things to look at. But I can certainly comment on stuff that will
break booting multiple omaps the same time once the patches are posted.
> > > As for the future, I have no choice but to keep using my DSS as we need
> > > the features it has. I feel it would be quite a big job to get those in
> > > to your driver. And even if I had a choice, I (unsurprisingly =) think
> > > that my version is better and would stick to it.
> > >
> >
> > It's your personal choice to stick to whichever code base you want, I don't want to comment on that. But what I believe is, with your design we are limiting ourselves from supporting most of the features which hardware provides.
>
> Is the limiting factor here the missing V4L2 interface? Or something in
> the core DSS driver? To my knowledge you can have all the HW features
> supported with framebuffers, even though V4L2 device can perhaps make
> the use easier for some applications.
>
> Well, one thing comes to my mind, and it's sharing the framebuffer
> memory between, for example, display and camera drivers. I believe you
> can do that with V4L2. Something else?
>
> > We can work together to add more support to DSS library.
>
> Sure, I don't really care which version is accepted, as long as we get
> all the features =). So if you see something usable in my code, just
> take it and add to your version.
Regards,
Tony
next prev parent reply other threads:[~2008-10-03 13:31 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-01 10:51 [PREVIEW] New display subsystem for OMAP2/3 Hiremath, Vaibhav
2008-10-02 8:24 ` Tomi Valkeinen
2008-10-03 12:47 ` Hiremath, Vaibhav
2008-10-03 13:25 ` Tomi Valkeinen
2008-10-03 13:34 ` Tony Lindgren [this message]
2008-10-03 14:16 ` Hiremath, Vaibhav
2008-10-24 9:50 ` Shah, Hardik
2008-10-03 14:03 ` Hans Verkuil
2008-10-03 14:19 ` Tomi Valkeinen
-- strict thread matches above, loose matches on Subject: below --
2008-09-11 14:55 Tomi Valkeinen
2008-09-12 14:29 ` Shah, Hardik
2008-09-12 15:29 ` Daniel Stone
2008-09-13 20:27 ` Koen Kooi
2008-09-13 21:47 ` Måns Rullgård
2008-09-15 8:40 ` Shah, Hardik
2008-09-15 12:05 ` Tomi Valkeinen
2008-09-15 19:27 ` Måns Rullgård
2008-09-17 7:32 ` Tomi Valkeinen
2008-09-17 8:47 ` Måns Rullgård
2008-09-15 11:07 ` Tomi Valkeinen
2008-09-15 11:52 ` Shah, Hardik
2008-09-15 12:36 ` Tomi Valkeinen
2008-09-15 12:04 ` Daniel Stone
2008-09-15 13:32 ` Hiremath, Vaibhav
2008-09-15 14:38 ` Tomi Valkeinen
2008-09-15 16:20 ` Hiremath, Vaibhav
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=20081003133400.GA6251@atomide.com \
--to=tony@atomide.com \
--cc=hardik.shah@ti.com \
--cc=hvaibhav@ti.com \
--cc=hverkuil@xs4all.nl \
--cc=linux-omap@vger.kernel.org \
--cc=tomi.valkeinen@nokia.com \
--cc=video4linux-list@redhat.com \
/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