History log of /drivers/media/video/mx2_camera.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
750a6dff6e81fac5ef95d054a6a907debcef9fde 28-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media: i.MX27 camera: Add resizing support

If the attached video sensor cannot provide the
requested image size, try to use resizing engine
included in the eMMa-PrP IP.

This patch supports both averaging and bilinear
algorithms.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
e9de6167fb5e4017b4296426f021f23e2b685a2d 15-Feb-2012 Fabio Estevam <festevam@gmail.com> [media] media: video: mx2_camera.c: Remove unneeded dev_dbg

csi clock frequency is already shown by:

dev_info(&pdev->dev, "MX2 Camera (CSI) driver probed, clock frequency: %ld\n",
clk_get_rate(pcdev->clk_csi));

,so no need to have the dev_dbg call to present the same information.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
d867be1cc4fe32a19b4fa54f3ae4357d2ad9a57c 15-Feb-2012 Fabio Estevam <festevam@gmail.com> [media] media: video: mx2_camera.c: Provide error message if clk_get fails

Provide error message if clk_get fails.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
560fab62fa0f4bc332e1a84fb2dfdb5ae5dc7581 22-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media: i.MX27 camera: more efficient discard buffer handling

Some elements of 'mx2_buffer' are grouped together in another
auxiliary structure. This way we don't need to have unused
'vb2_buffer' structures for both discard buffers.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
8886a881e2379565808eacbadd129120967e3539 13-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media: i.MX27 camera: fix compilation warning

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
665ad8af8f93ed9b54e99f37e24def6f623698c6 13-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media: i.MX27 camera: return IRQ_NONE if no IRQ status bit is set

If active_bufs() list is empty and no IRQ status bit is set
we are probably dealing with a share IRQ. Return IRQ_NONE in
this case.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
8636ead8b2d738b5b1b9a0c2e6070e3458a47d14 13-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media: i.MX27 camera: Use spin_lock() inside the IRQ handler

We don't need to use spin_lock_irqsave() since there are not
any other IRQs that can race with this ISR.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
a654ba16fdbad8ffb5a6c0dd5098c6651bde08b5 22-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media: i.MX27 camera: Use list_first_entry() whenever possible

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
[g.liakhovetski@gmx.de: fix one list_first_entry() instance]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
d84279e6d7266e11bef19de4f624849daa70bc48 22-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media i.MX27 camera: handle overflows properly

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
cdc9d6f191d81aa1b1b34db9d3a33f779f5c5ec7 07-Feb-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media i.MX27 camera: improve discard buffer handling

The way discard buffer was previously handled lead
to possible races that made a buffer that was not
yet ready to be overwritten by new video data. This
is easily detected at 25fps just adding "#define DEBUG"
to enable the "memset" check and seeing how the image
is corrupted.

A new "discard" queue and two discard buffers have
been added to make them flow trough the pipeline
of queues and thus provide suitable event ordering.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
fb51cbdd3ec868b903bd706aa7db065c8c36bcd4 30-Jan-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media i.MX27 camera: add start_stream and stop_stream callbacks

Add "start_stream" and "stop_stream" callback in order to enable
and disable the eMMa-PrP properly and save CPU usage avoiding
IRQs when the device is not streaming. This also makes the driver
return 0 as the sequence number of the first frame.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
[g.liakhovetski@gmx.de: remove the mx27_camera_emma() macro]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
c6a41e3271c61f6f5aec1a91b4458330d4266e5f 30-Jan-2012 Javier Martin <javier.martin@vista-silicon.com> [media] media i.MX27 camera: migrate driver to videobuf2

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
2c9ba37d7a4e889d51cba320cbfa4ce53880b2b0 20-Feb-2012 Sascha Hauer <s.hauer@pengutronix.de> [media] V4L: mx2_camera: remove unsupported i.MX27 DMA mode, make EMMA mandatory

The i.MX27 DMA support was introduced with the initial commit of this
driver and originally created by me. However, I never got this stable
due to the racy DMA engine and used the EMMA engine instead. As the DMA
support is most probably unused and broken in its current state, remove
it. EMMA becomes the only supported mode on i.MX27.

This also helps us get rid of another user of the legacy i.MX DMA
support and remove the dependency on ARCH_MX* macros as these are
scheduled for removal.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
[g.liakhovetski@gmx.de: remove unused goto]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
ccd1a499c1675fef5d2a138617507add63cb81db 22-Dec-2011 Javier Martin <javier.martin@vista-silicon.com> [media] media i.MX27 camera: Fix field_count handling

To properly detect frame loss the driver must keep
track of a frame_count.

Furthermore, field_count use was erroneous because
in progressive format this must be incremented twice.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
f410991dcf1fc3ad1d3311b79b4f1b917224ebed 14-Dec-2011 Javier Martin <javier.martin@vista-silicon.com> [media] i.MX27 camera: add support for YUV420 format

This patch uses channel 2 of the eMMa-PrP to convert
format provided by the sensor to YUV420.

This format is very useful since it is used by the
internal H.264 encoder.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
8843d119eaf1a7a87a2cf8c3eadbd1937b16bc27 21-Sep-2011 Guennadi Liakhovetski <g.liakhovetski@gmx.de> [media] soc-camera: remove redundant parameter from .set_bus_param()

The "pixfmt" parameter of the struct soc_camera_host_ops::set_bus_param()
method is redundant, because at the time, when this method is called,
pixfmt is guaranteed to be equal to icd->current_fmt->host_fmt->fourcc.
Remove this parameter and update all drivers accordingly.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
db592a24656ec1028728eb4eccc450b925bea268 27-Jul-2011 Guennadi Liakhovetski <g.liakhovetski@gmx.de> [media] V4L: mx2_camera: convert to the new mbus-config subdev operations

Switch from soc-camera specific .{query,set}_bus_param() to V4L2
subdevice .[gs]_mbus_config() operations.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
7dfff95366f48bf66f77c17cdc9ebd8be696ac5d 16-Jul-2011 Guennadi Liakhovetski <g.liakhovetski@gmx.de> [media] V4L: soc-camera: remove soc-camera bus and devices on it

Now that v4l2 subdevices have got their own device objects, having
one more device in soc-camera clients became redundant and confusing.
This patch removes those devices and the soc-camera bus, they used to
reside on.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
28281a71eb3bc08a0fb9514886e7d6e868f71b3f 04-Jun-2011 Guennadi Liakhovetski <g.liakhovetski@gmx.de> [media] V4L: mx2_camera: .try_fmt shouldn't fail

If the user is requesting too large a frame, instead of failing
select an acceptable geometry, preserving the requested aspect ratio.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
64dc3c1a906467d90c24913b0b38dd13d9378f4f 25-Jun-2011 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Stop using linux/version.h on the remaining video drivers

Standardize the remaining video drivers to return the API version
for the VIDIOC_QUERYCAP version, instead of a per-driver version.

Those drivers had the version updated more recently or are SoC
drivers. Even so, it doesn't sound a good idea to keep a per-driver
version control, so, let's use the per-subsystem version control
instead.

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
b6a633c18ba83c0c8e96759a31d356bfb77e2b5f 25-Dec-2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de> [media] v4l: soc-camera: switch to .unlocked_ioctl

Use the V4L mutex infrastructure in soc-camera core and drivers and switch to
.unlocked_ioctl.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
42cc37fe20cc680fb58fe12ae5ba718d683b8ca2 27-Oct-2010 Baruch Siach <baruch@tkos.co.il> [media] mx2_camera: fix pixel clock polarity configuration

When SOCAM_PCLK_SAMPLE_FALLING, just leave CSICR1_REDGE unset, otherwise we get
the inverted behaviour.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
6b101926f98b54549128db4d34f4a73b5f03fecc 08-Nov-2010 Sascha Hauer <s.hauer@pengutronix.de> [media] soc-camera: Compile fixes for mx2-camera

mx2-camera got broken during the last merge window. This patch
fixes this and removes some unused variables.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
e3cfd447d01cf723ccda0ad6bfa2e85b73d3d747 30-Sep-2010 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB: videobuf: add ext_lock argument to the queue init functions (part 2)

Missed a few init functions on non-Intel platforms the first time :-(

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
45f4d4e8799ff1d7ef72747203935f1f2533743d 27-Aug-2010 Michael Grzeschik <m.grzeschik@pengutronix.de> V4L/DVB: mx2_camera: add informative camera clock frequency printout

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
7c6b73197062180d51e9871982b083a651838992 27-Jul-2010 Baruch Siach <baruch@tkos.co.il> V4L/DVB: mx2_camera: implement forced termination of active buffer for mx25

This allows userspace to terminate a capture without waiting for the current
frame to complete.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
88bfd0bd7f8343c3c2ff65fe4d3fc3aff6ecca7c 27-Jul-2010 Baruch Siach <baruch@tkos.co.il> V4L/DVB: mx2_camera: fix comment typo

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
7c3a2066aa99b9e6c725803fd153ee8895219dba 09-Aug-2010 Michael Grzeschik <m.grzeschik@pengutronix.de> V4L/DVB: mx2_camera: remove emma limitation for RGB565

In the current source status the emma has no limitation for any PIXFMT
since the data is parsed raw and unprocessed into the memory.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
0e0809a58869e3e422985f868ad5e0da1fc0ba85 26-Sep-2010 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB: videobuf: add queue argument to videobuf_waiton()

videobuf_waiton() must unlock and relock ext_lock if it has to wait.
For that to happen it needs the videobuf_queue pointer.

Don't attempt to unlock/relock q->ext_lock unless it was locked in the
first place.

vb->state has to be protected by a spinlock to be safe.

This patch is based on code from Mauro Carvalho Chehab <mchehab@redhat.com>.

[mchehab@redhat.com: add extra argument to a few missing places]
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
5384a12b23160e11ff949a94172051476d308b66 27-Jul-2010 Baruch Siach <baruch@tkos.co.il> V4L/DVB: mx2_camera: fix a race causing NULL dereference

The mx25_camera_irq irq handler may get called after the camera has been
deactivated (from mx2_camera_deactivate). Detect this situation, and bail out.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
d86097e19cef2f13a29fc37db0dad17b99b6d5f8 03-Aug-2010 Michael Grzeschik <m.grzeschik@pengutronix.de> V4L/DVB: mx2_camera: add rising edge for pixclock

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
cd9ebdbc0541b4e8ee145c81642d68332f79b932 03-Aug-2010 Michael Grzeschik <m.grzeschik@pengutronix.de> V4L/DVB: mx2_camera: fix for list bufnum in frame_done_emma

The emma uses bufnum 1 and 0. This patch tells the bufqueue to change
the next buffer to the next one and not the current one.
Otherwise the BUG_ON above will trigger everytime.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/mx2_camera.c
79d3c2c2395a89a70d25f0c77c11afc87efab89b 27-Jul-2010 Baruch Siach <baruch@tkos.co.il> mx2_camera: fix type of dma buffer virtual address pointer

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
/drivers/media/video/mx2_camera.c
2066930de6296ef7470de11eaa9b8bc9129721e8 04-Jul-2010 Baruch Siach <baruch@tkos.co.il> mx2_camera: Add soc_camera support for i.MX25/i.MX27

This is the soc_camera support developed by Sascha Hauer for the i.MX27. Alan
Carvalho de Assis modified the original driver to get it working on more recent
kernels. I modified it further to add support for i.MX25. This driver has been
tested on i.MX25 and i.MX27 based platforms.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
/drivers/media/video/mx2_camera.c