History log of /drivers/media/common/saa7146_video.c
Revision Date Author Comments
7a707b89202f905bd9f9fbde326933c59a81214c 03-Jul-2011 Paul Gortmaker <paul.gortmaker@windriver.com> drivers/media: Add module.h to all files using it implicitly

A pending cleanup will mean that module.h won't be implicitly
everywhere anymore. Make sure the modular drivers in clocksource
are actually calling out for <module.h> explicitly in advance.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
7b4668efc4a8f75d12337cf8013307a7ec437878 25-Aug-2011 Hans Verkuil <hans.verkuil@cisco.com> [media] saa7146: fix compiler warning

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
44d0b80e5ff741d502a6ccc8685a18bda1ac9da4 22-Aug-2011 Joe Perches <joe@perches.com> [media] saa7146: Use current logging styles

Standardize the mechanisms to emit logging messages.

A few other modules used an #include from saa7146,
convert those at the same time.

Add pr_fmt.
Convert printks to pr_<level>
Convert printks without KERN_<level> to appropriate pr_<level>.
Convert logging macros requiring multiple parentheses to normal style.
Removed embedded prefixes when pr_fmt was added.
Whitespace cleanups when around other conversions.
Use printf extension %pM to print mac address.
Coalesce format strings.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Michael Hunold <michael@mihu.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
9af39713feb53da96ba23fa94a73ffd0de50a815 18-Dec-2010 Hans Verkuil <hverkuil@xs4all.nl> [media] saa7146: Convert from .ioctl to .unlocked_ioctl

Convert saa7146 to use core-assisted locking.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
08af245de0cf6ab5f4ed008ee2bb99273774fce0 24-Dec-2010 Hans Verkuil <hverkuil@xs4all.nl> [media] V4L: remove V4L1 compatibility mode

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
a757ee2216211278680dd8ac869aabe7b4a9970d 02-Dec-2010 Mauro Carvalho Chehab <mchehab@redhat.com> [media] Don't export format_by_forcc on two different drivers

Drivers should append their name on exported symbols, to avoid
conflicts with allyesconfig:

drivers/staging/built-in.o: In function `format_by_fourcc':
/home/v4l/work_trees/linus/drivers/staging/cx25821/cx25821-video.c:96: multiple definition of `format_by_fourcc'
drivers/media/built-in.o:/home/v4l/work_trees/linus/drivers/media/common/saa7146_video.c:88: first defined here

Let's rename both occurences with a small shellscript:

for i in drivers/staging/cx25821/*.[ch]; do sed s,format_by_fourcc,cx25821_format_by_fourcc,g <$i >a && mv a $i; done
for i in drivers/media/common/saa7146*.[ch]; do sed s,format_by_fourcc,saa7146_format_by_fourcc,g <$i >a && mv a $i; done
for i in include/media/saa7146*.[ch]; do sed s,format_by_fourcc,saa7146_format_by_fourcc,g <$i >a && mv a $i; done

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
08bff03ed697a583612b62a6ac566bd5bce98012 20-Sep-2010 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB: videobuf: add ext_lock argument to the queue init functions

Add an ext_lock argument to the videobuf init functions. This allows
drivers to pass the vdev->lock pointer (or any other externally held lock)
to videobuf. For now all drivers just pass NULL.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
abf84383ecadc8ada1963f9976e887c6f0b1bad9 12-Jul-2010 Joe Perches <joe@perches.com> V4L/DVB: drivers/media: Remove unnecessary casts of private_data

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Jarod Wilson <jarod@redhat.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
84a1d9c83e3e13991b958c897b6e9d6a5e4ce76d 13-Mar-2010 Michael Hunold <michael@mihu.de> V4L/DVB: saa7146: fix up bytesperline if it is an impossible value

xawtv using DGA on a Radeon graphics card provides bogus
values to S_FBUF, which will then screw up overlay video:

https://bugs.launchpad.net/ubuntu/+source/xawtv/+bug/499734

This fixes the bytesperline value if it is off completely.

Signed-off-by: Michael Hunold <michael@mihu.de>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ba9e9f3c08a5b58c1ffacf0cc6fb703ab0fa55ff 02-Feb-2010 Mauro Carvalho Chehab <mchehab@redhat.com> saa7146: stop DMA before de-allocating DMA scatter/gather page buffers

Thanks-to: Hartmut <e9hack@googlemail.com> for pointing me the problem
and testing the fix.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
311c70e1f906b7411b30f526ef15deb62cb37e7a 07-Oct-2009 Johann Friedrichs <johann.friedrichs@web.de> V4L/DVB (13239): saa7146: fix memory leakage in pagetable-handling

In buffer_release() the previously allocated pagetables are not
freed, which might result in a memory leak in certain application
use-cases, where the frame format is changed from planar format to
non-planar format. The fix explicitely frees the page tables when a
format change is done and when buffer_release() is called.

Signed-off-by: Johann Friedrichs <johann.friedrichs@web.de>
Signed-off-by: Michael Hunold <hunold@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f911eab66d892b7cf9c3e59de7716b89827a42c1 29-Mar-2009 Trent Piepho <xyzzy@speakeasy.org> V4L/DVB (11261): saa7146: Remove buffer type check from vidioc_g_parm

The v4l2-ioctl core now only allows buffer types for which the
corresponding ->vidioc_try_fmt_xxx() methods are defined to be used with
vidioc_(g|s)_parm.

The driver was only allowing VIDEO_CAPTURE buffers for g_parm, but since
the driver defines ->vidioc_try_fmt_vid_overlay() it will now allow
VIDEO_OVERLAY buffers as well. This should be fine as the fields the
driver fills in, readbuffers and frame rate, aren't wrong for VIDEO_OVERLAY
buffers.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
717167e8ae13a61649a1faf867279440fee70b56 04-Mar-2009 Trent Piepho <xyzzy@speakeasy.org> V4L/DVB (10814): saa7146: some small fixes

vidioc_enum_fmt_vid_overlay() did nothing but call
vidioc_enum_fmt_vid_cap(), so just make
saa7146_video_ioctl_ops.vidioc_enum_fmt_vid_overlay point to
vidioc_enum_fmt_vid_cap() and get ride of vidioc_enum_fmt_vid_overlay().

Have gparm use v4l2_video_std_frame_period to fill in the frame period
instead of just assuming PAL.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
eae4d69b6a337d29060dcad3a4e19e3e8ace3e70 08-Feb-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10501): saa7146: prevent unnecessary loading of v4l2-common.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
5a5b9647af504a326c02ecbc58ca4224fb408511 07-Feb-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10500): saa7146: setting control while capturing should return EBUSY, not EINVAL.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
1b8dac150a01e2312d8e3fedd6462a0ec34c96d0 07-Feb-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10499): saa7146: convert saa7146 and mxb in particular to v4l2_subdev.

Modified mxb to load the i2c modules through v4l2_subdev. So no more probing.
Modified tea6415c and tea6420 to use the standard routing ops to do the
routing, rather than using private commands. Dropped the private commands
from tda9840 (they were never used except during initialization of the
module).

Added saa7146 support for VIDIOC_DBG_G_CHIP_IDENT.

Converted saa5246a and saa5249 to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
b960074fec573fb1b226d9e2686ce51be807cdf1 18-Jan-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10271): saa7146: convert to video_ioctl2.

The conversion to video_ioctl2 is the first phase to converting this driver
to the latest v4l2 framework.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ba3ed4c57fde2df1a8a5b0c445ae5d685334e5f9 18-Jan-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10270): saa7146: fix unbalanced mutex_lock/unlock

The default case of the switch didn't unlock the mutex.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
069b747931f13eda289c1d59a09ecc8162281a76 30-Dec-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (10138): v4l2-ioctl: change to long return type to match unlocked_ioctl.

Since internal to v4l2 the ioctl prototype is the same regardless of it
being called through .ioctl or .unlocked_ioctl, we need to convert it all
to the long return type of unlocked_ioctl.

Thanks to Jean-Francois Moine for posting an initial patch for this and
thus bringing it to our attention.

Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
f473bf76c71ca734a16f9331ce6b6e9603641888 01-Nov-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (9503): v4l: remove inode argument from video_usercopy

The inode argument was never used. Removing it from video_usercopy
brings the function pointer type of video_usercopy in line with similar
v4l2 functions, thus simplifying several drivers.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
b1f88407f3767f924cae1d521e815e568996a4ef 21-Oct-2008 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (9330): Get rid of inode parameter at v4l_compat_translate_ioctl()

The inode parameter at v4l_compat_translate_ioctl() were just passed over several
places just to keep compatible with fops.ioctl. However, it weren't used anywere.

This patch gets hid of this unused parameter.

Cc: Laurent Pinchart <laurent.pinchart@skynet.be>
Cc: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
c6eb8eafdba4ad18b4520a0d28a38bc9e61883ea 03-Sep-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings

Fixed a lot of sparse warnings: mostly warnings about shadowed variables
and signed/unsigned mismatches.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
429e90893c9ad2c266d541c94d6ca69a34a7701d 27-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8546): saa7146: fix read from uninitialized memory

The offset field of the scatterlist entry *after* the last valid scatterlist
entry was used instead of the first scatterlist entry (as was the intention
of this code).

This worked fine until the kzalloc of the sglist was replaced with kmalloc
and sg_init_table only zeroed the exact needed length. Apparently kzalloc
zeroes a bit more than is strictly necessary so the offset field was
always 0 in the past.

But now the offset field was suddenly random and this led to broken captures.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
f796804f01429b832e1e734c54f0f535b322c665 26-Jul-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (8526): saa7146: fix VIDIOC_ENUM_FMT

VIDIOC_ENUM_FMT should keep the index and type fields. Instead,
type was zeroed.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
a36ef6b1e09d06d4f1ac769eee4bd7e6cf3e0fae 22-Jun-2008 Al Viro <viro@ftp.linux.org.uk> V4L/DVB (8128): saa7146: ->cpu_addr and friends are little-endian

Annotations + stop saa7146_i2c from playing fast and loose with
reuse of ->cpu_addr for host-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
0705135e59f8503e4dade4b3580fed77b1743b7c 22-Apr-2008 Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> V4L/DVB (7237): Convert videobuf-dma-sg to generic DMA API

videobuf-dma-sg does not need to depend on PCI. Switch it to using generic
DMA API, convert all affected drivers, relax Kconfig restriction, improve
compile-time type checking, fix some Coding Style violations while at it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
ce3a35d3c00918296e552af5ecc7b771af766436 31-Jan-2008 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (7120): videobuf lock is already initialized at videobuf-core.c

Removes the duplicated mutex_init code.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
0fc0686e64d21a6abded96af2b1a895dfa8b2530 07-Nov-2007 Brandon Philips <brandon@ifup.org> V4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_

s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g
s/STATE_PREPARED/VIDEOBUF_PREPARED/g
s/STATE_QUEUED/VIDEOBUF_QUEUED/g
s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g
s/STATE_DONE/VIDEOBUF_DONE/g
s/STATE_ERROR/VIDEOBUF_ERROR/g
s/STATE_IDLE/VIDEOBUF_IDLE/g

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
820eacd84cff23b76693f4be1e28feb672f4488f 19-Nov-2007 Brandon Philips <brandon@ifup.org> V4L/DVB (6615): V4L: Fix VIDIOCGMBUF locking in saa7146

Fallout from videobuf_mmap_setup() locking fixes.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
19bc5133dae9562e8824ef101464061f9854c1d8 14-Nov-2007 Brandon Philips <brandon@ifup.org> V4L/DVB (6601): V4L: videobuf-core locking fixes and comments

- Add comments to functions that require that caller hold q->lock
- Add __videobuf_mmap_free that doesn't hold q->lock for use within videobuf
- Add locking to videobuf_mmap_free
- Fix linux/drivers/media/common/saa7146_video.c which was holding lock around
videobuf_read_stop
- Add locking to functions that operate on a queue
- Add videobuf_stop to take care of stopping in both the read and stream case

TODO: bttv still has an unsafe call to videobuf_queue_is_busy

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
49ee718ef51f4d938f80f67207e1bfa2a38897a4 05-Oct-2007 Brandon Philips <bphilips@suse.de> V4L/DVB (6305): V4L: videobuf-core.c avoid NULL dereferences in videobuf-core

The return value of videobuf_alloc() is unchecked but this function will
return NULL on an error. Check for NULL and make videobuf_reqbufs()
return the number of successfully allocated buffers.

Also, fix saa7146_video.c and bttv-driver.c to use this returned
buffer count.

Tested against the vivi driver. Not tested against saa7146 or bt8xx
devices.

Signed-off-by: Brandon Philips <bphilips@suse.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
c1accaa21bdef38ec0f36eaaf7ce3384fff9d0c5 23-Aug-2007 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (6252): Adapt drivers to use the newer videobuf modules

PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo.

Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct.
So, to access it, a subroutine call is needed.

This patch renames all occurences of those function calls to be
consistent with the video-buf split.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981
Reviewed-by: Ricardo Cerqueira <v4l@cerqueira.org>
804b4458943f14bf144d3c3ba50097ced9b27b29 13-Jul-2007 Oliver Endriss <o.endriss@gmx.de> V4L/DVB (5835): saa7146/dvb-ttpci: Fix signedness warnings (gcc 4.1.1, kernel 2.6.22)

Fix signedness warnings (gcc 4.1.1, kernel 2.6.22).

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2970c49270be2a62b1115f73bbfc0b8d3b3f48ba 22-Apr-2007 Hartmut Birr <e9hack@gmail.com> V4L/DVB (5545): Saa7146: Release capture buffers on device close

If the video device (saa7146 on a FF card) was open for capturing,
the close call didn't release the capture buffers.

Signed-off-by: Hartmut Birr <e9hack@gmail.com>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
c3ab204ccbe42d9eb60270e41110f2c5c9214952 10-Sep-2006 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (4494a): Fix compilation when V4L1 support is not present

VIDIOCGMBUF should be compiled only when V4L1 support is selected, since
this ioctl is from the obsoleted API.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
5d7dc8c4f667070dbc9a65e93b0e88ba9d19f22a 11-Apr-2006 Adrian Bunk <bunk@stusta.de> V4L/DVB (3770): Kill drivers/media/common/saa7146_vv_ksyms.c

This patch moves the EXPORT_SYMBOL's from
drivers/media/common/saa7146_vv_ksyms.c to the files with the actual
functions.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
c7b0ac0546985fc6361a8d92cf808d46da797677 10-Mar-2006 Mauro Carvalho Chehab <mchehab@infradead.org> V4L/DVB (3516): Make video_buf more generic

Video_buf were concerned to allow PCI devices to be used as
video capture devices. This patch extends video_buf features
by virtualizing pci-dependent functions and allowing other
type of devices to use it.
It is still DMA centric, although it may be used also by
devices that emulates scatter/gather behavior or a DMA device

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
3593cab5d62c4c7abced1076710f9bc2d8847433 07-Feb-2006 Ingo Molnar <mingo@elte.hu> V4L/DVB (3318b): sem2mutex: drivers/media/, #2

Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
50c25fff5385c6baf3114f7c369b0f75a29ac1e8 09-Jan-2006 Michael Krufky <mkrufky@m1k.net> V4L/DVB (3218): Whitespace cleanups


- minor whitespace cleanups

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
afd1a0c9ac281eed3b22b293ccd92af7b0d60889 12-Dec-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 3

Clean up whitespaces at v4l/dvb files

Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!