- 19 9月, 2009 4 次提交
-
-
由 Guennadi Liakhovetski 提交于
Remove set_crop soc-camera device method and switch to s_crop from v4l2-subdev video operations. Also extend non-i2c drivers to also hold a pointer to their v4l2-subdev instance in control device driver-data, i.e., in dev_get_drvdata((struct device *)to_soc_camera_control(icd)) Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Switch to using struct v4l2_rect in struct soc_camera_device for uniformity and simplicity. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Convert the soc-camera framework to use the v4l2-(sub)dev API. Start using v4l2-subdev operations. Only a part of the interface between the soc_camera core, soc_camera host drivers on one side and soc_camera device drivers on the other side is replaced so far. The rest of the interface will be replaced in incremental steps, and will require extensions and, possibly, modifications to the v4l2-subdev code. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Convert soc-camera core and all drivers to platform device API. We already converted platforms to register a platform device for each soc-camera client, now we remove the compatibility code and switch completely to the new scheme. This is a preparatory step for the v4l2-subdev conversion. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 14 8月, 2009 2 次提交
-
-
由 Guennadi Liakhovetski 提交于
The .buf_queue() V4L2 driver method is called under spinlock_irqsave(q->irqlock,...), don't take the lock again inside the function. Reported-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Antonio Ospite 提交于
mclk_get_divisor uses pcdev->soc_host.dev, make sure it is initialized. Signed-off-by: NAntonio Ospite <ospite@studenti.unina.it> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 23 6月, 2009 1 次提交
-
-
由 Trent Piepho 提交于
The v4l function has a better algorithm for aligning image size. For instance the old code would change 159x243 into 156x240 to meet the alignment requirements. The new function will use 160x243, which is a lot closer to what was asked for originally. Cc: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 17 6月, 2009 3 次提交
-
-
由 Jean Delvare 提交于
Add missing __devexit_p() to several drivers. Also add a few missing __init, __devinit and __exit markers. These errors could result in build failures depending on the kernel configuration. Signed-off-by: NJean Delvare <khali@linux-fr.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Make camera devices direct children of host platform devices, move the inheritance management into the soc_camera.c core driver. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Embed struct soc_camera_host in platform-specific per host instance objects instead of allocating them statically in drivers, use platform_[gs]et_drvdata consistently, use resource_size(). Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 07 4月, 2009 5 次提交
-
-
由 Guennadi Liakhovetski 提交于
pxa_dma_update_sg_tail() is called only once, runs exactly the same loop as the caller and has to recalculate the last element in an sg-list, that the caller has already calculated. Eliminate redundancy by merging the two loops and re-using the calculated pointer. This also saves a bit of performance which is always good during video-capture. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Jarzmik 提交于
The last buffer queued will often overrun, as the DMA chain is finished, and the time the dma irq handler is activated, the QCI fifos are filled by the sensor. The fix is to ignore the overrun condition on the last queued buffer, and restart the capture only on intermediate buffers of the chain. Moreover, a fix was added to the very unlikely condition where in YUV422P mode, one channel overruns while another completes at the very same time. The capture is restarted after the overrun as before, but the other channel completion is now ignored. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Jarzmik 提交于
The DMA transfers in pxa_camera showed some weaknesses in multiple queued buffers context : - poll/select problem The bug shows up with capture_example tool from v4l2 hg tree. The process just "stalls" on a "select timeout". - multiple buffers DMA starting When multiple buffers were queued, the DMA channels were always started right away. This is not optimal, as a special case appears when the first EOF was not yet reached, and the DMA channels were prematurely started. - Maintainability DMA code was a bit obfuscated. Rationalize the code to be easily maintainable by anyone. - DMA hot chaining DMA is not stopped anymore to queue a buffer, the buffer is queued with DMA running. As a tribute, a corner case exists where chaining happens while DMA finishes the chain, and the capture is restarted to deal with the missed link buffer. This patch attemps to address these issues / improvements. create mode 100644 Documentation/video4linux/pxa_camera.txt Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Jarzmik 提交于
All planes were PAGE aligned (ie. 4096 bytes aligned). This is not consistent with YUV422 format, which requires Y, U and V planes glued together. The new implementation forces the alignement on 8 bytes (DMA requirement), which is almost always the case (granted by width x height being a multiple of 8). The test cases include tests in both YUV422 and RGB565 : - a picture of size 111 x 111 (cross RAM pages example) - a picture of size 1023 x 4 in (under 1 RAM page) - a picture of size 1024 x 4 in (exactly 1 RAM page) - a picture of size 1025 x 4 in (over 1 RAM page) - a picture of size 1280 x 1024 (many RAM pages) Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Jarzmik 提交于
Due to DMA constraints, the DMA chain always transfers bytes from the QCI fifos to memory in 8 bytes units. In planar formats, that could mean 0 padding between Y and U plane (and between U and V plane), which is against YUV422P standard. Therefore, a frame size is required to be a multiple of 16 (so U plane size is a multiple of 8). It is enforced in try_fmt() and set_fmt() primitives, be aligning height then width on 4 multiples as need be, to reach a 16 multiple. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 30 3月, 2009 2 次提交
-
-
由 Guennadi Liakhovetski 提交于
As host and camera drivers become more complex, differences between S_FMT and S_CROP functionality grow, this patch separates them. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
All soc-camera camera and host drivers must specify supported data signal polarity, after all drivers are fixed, we'll add a suitable test to soc_camera_bus_param_compatible(). Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 09 3月, 2009 1 次提交
-
-
由 Eric Miao 提交于
1. Driver code where pxa_request_dma() is called will most likely reference DMA registers as well, and it is really unnecessary to include pxa-regs.h just for this. Move the definitions into <mach/dma.h> and make relevant drivers include it instead of <mach/pxa-regs.h>. 2. Introduce DMAC_REGS_VIRT as the virtual address base for these DMA registers. This allows later processors to re-use the same IP while registers may start at different I/O address. Signed-off-by: NEric Miao <eric.miao@marvell.com>
-
- 27 2月, 2009 1 次提交
-
-
由 Guennadi Liakhovetski 提交于
Recent format-negotiation patches caused S_CROP breakage in pxa_camera.c and sh_mobile_ceu_camera.c drivers, fix it. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 08 1月, 2009 1 次提交
-
-
由 Eric Miao 提交于
1. now pxa_camera.c uses ioremap() for register access, pxa_camera.h is totally useless. Remove it. 2. <asm/dma.h> does no longer include <mach/dma.h>, include the latter file explicitly delete mode 100644 drivers/media/video/pxa_camera.h Signed-off-by: NEric Miao <eric.miao@marvell.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 30 12月, 2008 10 次提交
-
-
由 Guennadi Liakhovetski 提交于
sh_mobile_ceu_camera.c is already prepared to support interlaced format, this patch moves the choice of a field type down to host and / or camera drivers. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Move mutex from host drivers to camera device object, take into account videobuf locking. Signed-off-by: NGuennadi Liakhovetski <lg@denx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
With the introduction of the format conversion support in soc-camera, we now also have to take care to pass the correct pixel format to the camera driver when calling its try_fmt() method. Signed-off-by: NGuennadi Liakhovetski <lg@denx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Simplify multiple drivers by replacing f->fmt.pix.* with a single pointer dereference, merge some needlessly broken lines, verify host and camera operations pointers on registration. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Using PXA270's FIFO inactivity time-out register (CITOR) reduces FIFO overruns. The time-out is calculated in CICLK / LCDCLK ticks and has to be longer than one pixel time. For this we have to know the pixel clock frequency, which usually is provided by the camera. We use the struct soc_camera_sense to request PCLK frequency from the camera driver upon each data format change. Tested-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Eric Miao 提交于
Signed-off-by: NEric Miao <eric.miao@marvell.com> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Jarzmik 提交于
Use the new format-negotiation infrastructure, support all four YUV422 packed and the planar formats. The new translation structure enables to build the format list with buswidth, depth, host format and camera format checked, so that it's not done anymore on try_fmt nor set_fmt. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
We anyway don't follow the s_fmt_vid_cap / g_fmt_vid_cap / try_fmt_vid_cap naming, and soc-camera is so far only about video capture, let's simplify operation names a bit further. set_fmt_cap / try_fmt_cap wasn't a very good choice too. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
Pixel format requested by the user is not necessarily the same, as what a sensor driver provides. There are situations, when a camera host driver provides the required format, but requires a different format from the sensor. Further, the list of formats, supported by sensors is pretty static and can be pretty good described with a constant list of structures. Whereas decisions, made by camera host drivers to support requested formats can be quite complex, therefore it is better to let the host driver do the work. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
.try_bus_param() method from struct soc_camera_host_ops is only called at one location immediately before .try_fmt_cap(), there is no value in keeping these two methods separate, merge them. Signed-off-by: NGuennadi Liakhovetski <lg@denx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 02 12月, 2008 1 次提交
-
-
由 Eric Miao 提交于
Signed-off-by: NEric Miao <eric.miao@marvell.com> Acked-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
-
- 27 11月, 2008 1 次提交
-
-
由 Russell King 提交于
Where devices only have one consumer, passing a consumer clock ID has no real benefit. Remove it. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 12 10月, 2008 2 次提交
-
-
由 roel kluin 提交于
Unsigned dma_chans[] cannot be negative Also the third time dma_chans[0] < 0 was tested instead of dma_chans[2] Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Stefan Herbrechtsmeier 提交于
Make .power and .reset callbacks per camera instead of per host, also move their invocation to camera drivers. .arch/arm/mach-pxa/include/mach/camera.h | 2 - Signed-off-by: NStefan Herbrechtsmeier <hbmeier@hni.uni-paderborn.de> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 08 10月, 2008 1 次提交
-
-
由 Eric Miao 提交于
1. DRCMRxx is no longer recommended, use DRCMR(xx) instead, and pass DRCMR index by "struct resource" if possible 2. DCSRxx, DDADRxx, DSADRxx, DTADRxx, DCMDxx is never used, use DCSR(), DDADR(), DSADR(), DTADR(), DCMD() instead Signed-off-by: NEric Miao <eric.miao@marvell.com> Acked-by: NNicolas Pitre <nico@cam.org> Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 07 8月, 2008 1 次提交
-
-
由 Russell King 提交于
This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
-
- 06 8月, 2008 2 次提交
-
-
由 Robert Jarzmik 提交于
PXA suspend switches off DMA core, which loses all context of previously assigned descriptors. As pxa_camera driver relies on DMA transfers, setup the lost descriptors on resume and retrigger frame acquisition if needed. Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Paul Mundt 提交于
So, platform_driver_unregister() doesn't actually have a return value, nor do any of the void __exit routines. It's reassuring to know that people copy and paste blindly. This completely blew up my compiler. Signed-off-by: NPaul Mundt <lethal@linux-sh.org> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
- 20 7月, 2008 2 次提交
-
-
由 Magnus Damm 提交于
This patch moves the spinlock handling from soc_camera.c to the actual camera host driver. The spinlock_alloc/free callbacks are replaced with code in init_videobuf(). So far all camera host drivers implement their own spinlock_alloc/free methods anyway, and videobuf_queue_core_init() BUGs on a NULL spinlock argument, so, new camera host drivers will not forget to provide a spinlock when initialising their videobuf queues. Signed-off-by: NMagnus Damm <damm@igel.co.jp> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-
由 Paulius Zaleckas 提交于
Makes SoC camera videobuf independent. Includes all necessary changes for PXA camera driver (currently the only driver using soc_camera in the mainline). These changes are important for the future soc_camera based drivers. Signed-off-by: NPaulius Zaleckas <paulius.zaleckas@teltonika.lt> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@pengutronix.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
-