RE: [PREVIEW] New display subsystem for OMAP2/3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tomi,

Have you got a chance to review the DSS library and V4l2 driver which we have posted?


Thanks,
Vaibhav Hiremath
Senior Software Engg.
Platform Support Products
Texas Instruments Inc
Ph: +91-80-25099927

> -----Original Message-----
> From: Hiremath, Vaibhav
> Sent: Monday, September 15, 2008 9:51 PM
> To: 'Tomi Valkeinen'
> Cc: Shah, Hardik; linux-omap@xxxxxxxxxxxxxxx; video4linux-list@xxxxxxxxxx
> Subject: RE: [PREVIEW] New display subsystem for OMAP2/3
> 
> 
> 
> Thanks,
> Vaibhav Hiremath
> Senior Software Engg.
> Platform Support Products
> Texas Instruments Inc
> Ph: +91-80-25099927
> TI IP Ph: 509-9927
> http://dbdwss01.india.ti.com/pspproducts/
> 
> > -----Original Message-----
> > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Tomi
> > Valkeinen
> > Sent: Monday, September 15, 2008 8:08 PM
> > To: Hiremath, Vaibhav
> > Cc: Shah, Hardik; linux-omap@xxxxxxxxxxxxxxx; video4linux-list@xxxxxxxxxx
> > Subject: RE: [PREVIEW] New display subsystem for OMAP2/3
> >
> > On Mon, 2008-09-15 at 19:02 +0530, ext Hiremath, Vaibhav wrote:
> >
> > > We more concentrated on TV and LCD interface, out design doesn't support DSI as of now. As
> > mentioned earlier it is easily extendible to support DSI.
> > >
> > > If I understand your implementation correctly, right now there is no way you can switch the
> > outputs, I mean to say from LCD to DVI. The frame buffer driver gets the handle with API
> > omap_dss_get_display, which will return pointer to omap_display for panel-sdp3430. Henceforth all
> > your functions will use omap_display configuring for LCD panel. How are you planning to add support
> > for this? Through some ioctls or sysfs entry? How about switching between multiple overlay
> managers?
> >
> > You can switch the outputs in the DSS driver. You can enable/disable
> > displays individually, and configure the planes and or L4 pixel source
> > for the display.
> >
> > But yes, the fb driver does not support that currently.
> >
> > One idea I had was to present each display with one framebuffer, so
> > let's say we have 3 displays, we would have fb[0-2]. In addition to
> > that, we would have two framebuffers for the video overlays. Only one of
> > the displays can be updated with DISPC, so the overlays would appear
> > there.
> >
> > Then the display that is updated with DISPC could be changed on the fly
> > to another one, but the framebuffer arrangement would stay the same (so
> > fb0 would still be seen on display0, even if it's now updated with L4).
> >
> > There's still the question how to manage the video overlays, in this
> > scenario they would automatically move to other LCD's as the DISPC
> > target is changed. Also the TV-out is problematic.
> >
> > > This issue has been addresses with our design, you can change the output either to TV, LCD or to
> > DVI through sysfs entry. Switching between multiple overlay managers is very well supported in DSS
> > library. Currently SYSFS is the user interface layer to control the overlay managers. But in future
> > DSS library will easily be suitable to support media processor interface which is in concept phase
> > right now.  RFC for the media processor is at
> >
> > Does your design support displays that are not updated with DISPC?
> 
> Yes, it should. I don't see any reason why it should fail if the display is completely independent.
> 
> >
> > Your design has good points. I have to think about the overlay managers
> > a bit more. Especially if in some future hardware there were more
> > overlay managers instead of the current two.
> >
> 
> Let me take this opportunity, shortly I will post the DSS library and V4L2 driver. We can work
> together to add support for DSI, RFBI and SDI support to it.
> 
> > > http://lists-archives.org/video4linux/23652-rfc-add-support-to-query-and-change-connections-
> inside-
> > a-media-device.html
> > >
> > >
> > > > I also wanted to be able to change the configuration on the fly,
> > > > changing where DISPC output is going and which displays are updated with
> > > > CPU or sDMA.
> > > >
> > > > This is why I have the display-concept in my design.
> > > >
> > >
> > >
> > > Here we both are on same page, you have broken the displays and modes supported into multiple
> files
> > registering functions to the display.c file, there are many loopholes though.
> > >
> > > > I haven't made support for multiple users of the displays (like separate
> > > > fb and v4l drivers), but I don't immediately see why it couldn't be
> > > > done.
> > > >
> > >
> > > How are you going to handle the concurrency between these two?
> >
> > In the simple case of just an LCD and a TV-out, what are the concurrency
> > problems? Each plane is independent of each other. Sure you need to
> > check that the output is on if there's a plane enabled there and basic
> > things like that. Are there some other issues I'm not seeing?
> >
> 
> Yes some of the features of the DSS are tied to overlay managers and not the individual planes like
> global alpha, alpha blending enabling and timing parameters. So while programming of these parameters
> DSS library will have to maintain the data structures for the same and then any high level drivers
> can query those data structures.
> 
> > > > However, there are some questions regarding that, as the planes do not
> > > > represent displays, but just overlay planes. What happens when both fb
> > > > and v4l drivers want to change the resolution or timings of the display?
> > > >
> > > > Also I still don't quite know how to present displays to user space.
> > > > Currently my omapfb just uses the first display, and that's it. I think
> > > > in the end the user (be it X server, or perhaps some entity over it),
> > > > needs to have some understanding of what OMAP offers and how it can use
> > > > the displays. And there probably needs to be some product spesific
> > > > configuration regarding this in userspace.
> > > >
> > >
> > > Here are you saying application will have hardware specific support? Is this feasible?
> > >
> >
> > I don't see any other way. The displays are not independent of each
> > other.  For example the OMAP3 SDP has LCD and DVI outputs. They can't be
> > switched programmatically, but let's say it was possible. Only one of
> > those displays can be enabled at time. If an application wants to use
> > them both, it has to understand that they will not both work at the same
> > time.
> >
> > Or if there are two DSI displays, and one is updated with DISPC and the
> > other via L4. The application has to know that a video overlay can only
> > be used on the first display, or it has to exchange the DISPC/L4
> > updating order.
> >
> > Of course this is product specific software and configuration, not
> > something I'm planning to put in the driver. A normal application does
> > not have to know anything about it. I was just bringing it up to
> > demonstrate what must be possible.
> >
> >  Tomi
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux