RE: [PATCH v2 0/6] davinci vpbe: display driver for DM644X

2010-11-28 Thread Nori, Sekhar
Hi Murali,

On Sat, Nov 27, 2010 at 20:14:46, Muralidharan Karicheri wrote:
> Manjunath,
>
> Could you re-send the patch 1/6? I can't find it either at my inbox or
> mailing list.

I received the 1/6 in my inbox and also see it on patchwork and gmane.

https://patchwork.kernel.org/patch/353081/

http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/25692

Can you please check your spam folder just in case...

Thanks,
Sekhar

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


Re: [PATCH v2 0/6] davinci vpbe: display driver for DM644X

2010-11-27 Thread Muralidharan Karicheri
Manjunath,

Could you re-send the patch 1/6? I can't find it either at my inbox or
mailing list.

On Wed, Nov 24, 2010 at 9:08 AM, Manjunath Hadli  wrote:
> This driver is written for Texas Instruments's DM644X VPBE IP.
> This SoC supports 2 video planes and 2 OSD planes as part of its
> OSD (On Screen Display) block.
>
> At present, the patches conatin the basic support of DM644X V4L2
> driver, and subsequent patch sets would add support for external
> encoders,other DMXXX family SoC and fbdev support.
>
>               VPBE V4L2 driver design
> ==
>
> File partitioning
> -
> V4L2 display device driver
>        drivers/media/video/davinci/vpbe_display.c
>        drivers/media/video/davinci/vpbe_display.h
>
> VPBE display controller
>        drivers/media/video/davinci/vpbe.c
>        drivers/media/video/davinci/vpbe.h
>
> VPBE venc sub device driver
>        drivers/media/video/davinci/vpbe_venc.c
>        drivers/media/video/davinci/vpbe_venc.h
>        drivers/media/video/davinci/vpbe_venc_regs.h
>
> VPBE osd driver
>        drivers/media/video/davinci/vpbe_osd.c
>        drivers/media/video/davinci/vpbe_osd.h
>        drivers/media/video/davinci/vpbe_osd_regs.h
>
> Functional partitioning
> ---
>
> Consists of following (in the same order as the list under file
> partitioning):-
>
> 1. V4L2 display driver
>   Implements video2 and video3 device nodes and
>   provides v4l2 device interface to manage VID0 and VID1 layers.
>
> 2. Display controller
>   Loads up venc, osd and external encoders such as ths8200. It provides
>   a set of API calls to V4L2 drivers to set the output/standards
>   in the venc or external sub devices. It also provides
>   a device object to access the services from osd sub device
>   using sub device ops. The connection of external encoders to venc LCD
>   controller port is done at init time based on default output and standard
>   selection or at run time when application change the output through
>   V4L2 IOCTLs.
>
>   When connetected to an external encoder, vpbe controller is also responsible
>   for setting up the interface between venc and external encoders based on
>   board specific settings (specified in board-xxx-evm.c). This allowes
>   interfacing external encoders such as ths8200. The setup_if_config()
>   is implemented for this as well as configure_venc() (part of the next patch)
>   API to set timings in venc for a specific display resolution.As of this
>   patch series, the interconnection and enabling ans setting of the external
>   encoders is not present, and would be a part of the next patch series.
>
> 3. Venc sub device
>   Responsible for setting outputs provides through internal dacs and also
>   setting timings at LCD controller port when external encoders are connected
>   at the port or LCD panel timings required. When external encoder/LCD panel
>   is connected, the timings for a specific standard/preset is retrieved from
>   the board specific table and the values are used to set the timings in
>   venc using non-standard timing mode.
>
>   Support LCD Panel displays using the venc. For example to support a Logic
>   PD display, it requires setting up the LCD controller port with a set of
>   timings for the resolution supported and setting the dot clock. So we could
>   add the available outputs as a board specific entry ( i.e add the "LogicPD"
>   output name to board-xxx-evm.c). A table of timings for various LCDs
>   supported cab be maintained in the board specific setup file to support
>   various LCD displays.
>
> 4. osd sub device
>   Osd sub device implements all osd layer management and hardware specific
>   features. In the legacy drivers (LSPxxx), the hardware specific features
>   are configured through proprietary IOCTLs at the fb device interface. Since
>   sub devices are going to support device nodes, application will be able
>   to configure the hardware feayture directly by opening the osd sub device
>   node and by calling the related IOCTL. So these proprietary IOCTLs are
>   to be removed from the FB Device driver when doing up port of these drivers 
> to
>   mainline kernel. The V4L2 and FB device nodes supports only IOCTLS as per
>   the associated spec. The rest of the IOCTLs are to be moved to osd and
>   venc sub devices.
>
> Current status:-
>
> A build tested version of vpbe controller is available.
>
> Following are TBDs.
>
> vpbe display controller
>   - review and modify the handling of external encoders.
>   - add support for selecting external encoder as default at probe time.
>
> vpbe venc sub device
>   - add timings for supporting ths8200
>   - add support for LogicPD LCD.
>
> v4l2 driver
>   - A version is already developed which is to be cleaned up and unit tested
>
> FB drivers
>   - Add support for fbdev drivers.- Ready and part of subsequent patches.
>
> Manjunath Hadli (6):
>  davinci vpbe: V4L2 display d

Re: [PATCH v2 0/6] davinci vpbe: display driver for DM644X

2010-11-26 Thread Hans Verkuil
Hi Manju,

On Wednesday, November 24, 2010 15:08:17 Manjunath Hadli wrote:
> This driver is written for Texas Instruments's DM644X VPBE IP.
> This SoC supports 2 video planes and 2 OSD planes as part of its
> OSD (On Screen Display) block.
> 
> At present, the patches conatin the basic support of DM644X V4L2 
> driver, and subsequent patch sets would add support for external 
> encoders,other DMXXX family SoC and fbdev support.

As you can see, I have only comments on the first patch. The others seem fine
to me.

I do think that the drivers would benefit from some all round tightening of
the code. Often functions have quite a lot of indentation levels, the use
of more temporary variables will help, and the driver has a lot of error
and debug messages, possibly more than is necessary.

Regards,

Hans

> 
>VPBE V4L2 driver design
> ==
> 
> File partitioning
> -
> V4L2 display device driver
> drivers/media/video/davinci/vpbe_display.c
> drivers/media/video/davinci/vpbe_display.h
> 
> VPBE display controller
> drivers/media/video/davinci/vpbe.c
> drivers/media/video/davinci/vpbe.h
> 
> VPBE venc sub device driver
> drivers/media/video/davinci/vpbe_venc.c
> drivers/media/video/davinci/vpbe_venc.h
> drivers/media/video/davinci/vpbe_venc_regs.h
> 
> VPBE osd driver
> drivers/media/video/davinci/vpbe_osd.c
> drivers/media/video/davinci/vpbe_osd.h
> drivers/media/video/davinci/vpbe_osd_regs.h
> 
> Functional partitioning
> ---
> 
> Consists of following (in the same order as the list under file
> partitioning):-
> 
> 1. V4L2 display driver
>Implements video2 and video3 device nodes and
>provides v4l2 device interface to manage VID0 and VID1 layers.
> 
> 2. Display controller
>Loads up venc, osd and external encoders such as ths8200. It provides
>a set of API calls to V4L2 drivers to set the output/standards
>in the venc or external sub devices. It also provides
>a device object to access the services from osd sub device
>using sub device ops. The connection of external encoders to venc LCD
>controller port is done at init time based on default output and standard
>selection or at run time when application change the output through
>V4L2 IOCTLs.
> 
>When connetected to an external encoder, vpbe controller is also 
> responsible
>for setting up the interface between venc and external encoders based on
>board specific settings (specified in board-xxx-evm.c). This allowes
>interfacing external encoders such as ths8200. The setup_if_config()
>is implemented for this as well as configure_venc() (part of the next 
> patch)
>API to set timings in venc for a specific display resolution.As of this
>patch series, the interconnection and enabling ans setting of the external
>encoders is not present, and would be a part of the next patch series.
> 
> 3. Venc sub device
>Responsible for setting outputs provides through internal dacs and also
>setting timings at LCD controller port when external encoders are connected
>at the port or LCD panel timings required. When external encoder/LCD panel
>is connected, the timings for a specific standard/preset is retrieved from
>the board specific table and the values are used to set the timings in
>venc using non-standard timing mode.
> 
>Support LCD Panel displays using the venc. For example to support a Logic
>PD display, it requires setting up the LCD controller port with a set of
>timings for the resolution supported and setting the dot clock. So we could
>add the available outputs as a board specific entry ( i.e add the "LogicPD"
>output name to board-xxx-evm.c). A table of timings for various LCDs
>supported cab be maintained in the board specific setup file to support
>various LCD displays.
> 
> 4. osd sub device
>Osd sub device implements all osd layer management and hardware specific
>features. In the legacy drivers (LSPxxx), the hardware specific features
>are configured through proprietary IOCTLs at the fb device interface. Since
>sub devices are going to support device nodes, application will be able
>to configure the hardware feayture directly by opening the osd sub device
>node and by calling the related IOCTL. So these proprietary IOCTLs are
>to be removed from the FB Device driver when doing up port of these 
> drivers to
>mainline kernel. The V4L2 and FB device nodes supports only IOCTLS as per
>the associated spec. The rest of the IOCTLs are to be moved to osd and
>venc sub devices.
> 
> Current status:-
> 
> A build tested version of vpbe controller is available.
> 
> Following are TBDs.
> 
> vpbe display controller
>- review and modify the handling of external encoders.
>- add support for selectin