summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx18/cx18-ioctl.c
AgeCommit message (Collapse)Author
2009-01-10cx18: Rename structure members: dev to pci_dev and v4l2dev to video_devAndy Walls
From: Andy Walls <awalls@radix.net> Renamed structure member name to be more specific to type in anticipation of updating to the v4l2_device/v4l2_subdev framework. Too many objects named "dev" and /v4l2_\{0,1\}dev/ would be to confusing. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-10cx18: Print driver version number when logging statusAndy Walls
From: Andy Walls <awalls@radix.net> Make sure v4l2-ctl --log-status outputs the driver version. Reported-by: David Dombroski <davedom@optonline.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-12-30v4l2: debugging API changed to match against driver name instead of ID.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Since the i2c driver ID will be removed in the near future we have to modify the v4l2 debugging API to use the driver name instead of driver ID. Note that this API is not used in applications other than v4l2-dbg.cpp as it is for debugging and testing only. Should anyone use the old VIDIOC_G_CHIP_IDENT, then this will be logged with a warning that it is deprecated and will be removed in 2.6.30. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-12-30v4l2-ioctl: change to long return type to match unlocked_ioctl.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> 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. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> CC: Jean-Francois Moine <moinejf@free.fr>
2008-12-30v4l2: introduce v4l2_file_operations.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Introduce a struct v4l2_file_operations for v4l2 drivers. Remove the unnecessary inode argument. Move compat32 handling (and llseek) into the v4l2-dev core: this is now handled in the v4l2 core and no longer in the drivers themselves. Note that this changeset reverts an earlier patch that changed the return type of__video_ioctl2 from int to long. This change will be reinstated later in a much improved version. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-12-12cx18: Port fix for raw/sliced VBI mixup from ivtv and cx25840Andy Walls
From: Andy Walls <awalls@radix.net> This is a port of the fixes Hans Verkuil made for ivtv/cx25840: The service_set field was used to determine whether raw or sliced VBI was desired. This is incorrect since it is perfectly valid to select sliced VBI with a service_set of 0. Instead the driver should check on VIDIOC_S_FMT whether the type field matches the raw or sliced VBI type. Updated the cx18 driver accordingly, including an additional check in cx18_start_v4l2_encode_stream() that didn't exist in ivtv. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-12-08cx18: Allow more than 63 capture buffers in rotation per streamAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Allow more than 63 capture buffers in rotation per stream. Implement q_busy to hold buffers the firmware has for use. q_free holds truly unused buffers in a pool. New buffers are given to the firmware as soon as the firmware returns one, if there are any to give to the firmware. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-11-21cx18: Copyright attribution update for files modified by awallsAndy Walls
From: Andy Walls <awalls@radix.net> Add copyright attribution for files modified by awalls in 2008 Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-11-21cx18: Adjust outgoing mailbox timeouts and remove statistics loggingAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Adjust outgoing mailbox timeouts and remove statistics logging. This saves some wasted storage in struct cx18 for each card. Cutting the outgoing mailbox timeouts in half from the previous value appears to be safe with MythTV. Got rid of interrupted case code path after a wait uninterruptable returns. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-09-08cx18/ivtv: add 'PCI:' prefix to bus_info.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Suggested by Martin Dauskardt. This is conform what the other drivers do. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-09-28cx18: Add default behavior of checking and retrying PCI MMIO accessesAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Add default behavior of checking and retrying PCI MMIO accesses. The concept of checking and retrying PCI MMIO accesses for better reliability in older motherboards was suggested by Steve Toth <stoth@linuxtv.org>. This change implements MMIO retries and the retry_mmio module parameter that is enabled by default. Limited experiments have shown this is more reliable than the mmio_ndelay parameter. mmio_ndelay has insignificant effect with retries enabled. Priority: high Signed-off-by: Andy Walls <awalls@radix.net>
2008-09-06cx18/ivtv: fix check of window boundaries for VIDIOC_S_FMTHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It was possible to set out-of-bounds windows sizes, this is now fixed. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-08-30cx18: Create cx18_ specific wrappers for all pci mmio accessesors.Andy Walls
From: Andy Walls <awalls@radix.net> cx18: Create cx18_ specific wrappers for all pci mmio accessesors. This is a first step in instrumenting all CX23418 PCI bus IO, to debug problems with accessing the CX23418's PCI memory mapped IO. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-08-23cx18: Fix cx18_find_handle() and add error checkingAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Fix cx18_find_handle() and add error checking. cx18_find_handle() did not find a good task handle and would use the invalid task handle under common conditions. Added a define for the invalid task handle and added error checking as well. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-08-22cx18: Convert cx18_queue buffers member to atomic_tAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Convert cx18_queue buffers member to atomic_t. This allows safe concurrent access to check if a queue has data without having to acquire the queue spinlock. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-07-21videodev: move all ioctl callbacks to a new v4l2_ioctl_ops structHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> All ioctl callbacks are now stored in a new v4l2_ioctl_ops struct. Drivers fill in a const struct v4l2_ioctl_ops and video_device just contains a const pointer to it. This ensures a clean separation between the const ops struct and the non-const video_device struct. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-13cx18: Suport external reset of the Z8F0811 IR controller on HVR-1600 for lircAndy Walls
From: Andy Walls <awalls@radix.net> cx18: added in cx18_ir_reset_gpio function for lirc_pvr150 like module. Also added the ability to reset the IR chip via ioctl like ivtv. This needs the mutex to protect gpio_dir and gpio_val in struct cx18 as gpio changes can come from a few different asynchronous sources now. Signed-off-by: Andy Walls <awalls@radix.net>
2008-07-13cx18: Add locking for struct cx18 GPIO state variablesAndy Walls
From: Andy Walls <awalls@radix.net> cx18: Add locking for struct cx18 GPIO state variables in anticpation of adding IR microcontroller reset support for use by external IR modules. Signed-off-by: Andy Walls <awalls@radix.net>
2008-06-25ivtv/cx18: remove s/g_ctrl, now all controls are handled through s/g_ext_ctrlHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> videodev converts old-style controls to an extended control so the ivtv and cx18 drivers no longer have to handle both. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-25ivtv/cx18: fix compile error when CONFIG_VIDEO_ADV_DEBUG is not defined.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Thanks to Randy Dunlap for reporting this. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-22cx18/ivtv: ioctl debugging improvementsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Completely rely on the video_ioctl2 debugging facilities rather than doing it ourselves. Fill in some missing fields in ivtv with VIDIOC_G_FBUF. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: show GPIO pins when VIDIOC_LOG_STATUS is called.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: make sure all v4l2_format fields are filled inHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv/cx18: fix video_temporal_filter handlingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> If the capture is scaled, then the video_temporal_filter is set to 0 by the cx2341x.c module since otherwise you would get ghosting. However, this was also done in the VIDIOC_S_FMT ioctl which meant that the video_temporal_filter control was reset to 0 or 8 each time S_FMT was called. This was old code that should have been removed a long time ago. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21ivtv/cx18: remove unnecessary memsets & KERNEL_VERSION testsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-06-21cx18: convert to video_ioctl2()Hans Verkuil
From: Andy Walls <awalls@radix.net> cx18: convert driver to use video_ioctl2(). Pushed down ioctl debug messages and priority checks as well. Still left serialization lock in place for now. #if 0'ed out sliced vbi ioctl code for now. Patch heavily based on similar changes made to ivtv by Hans Verkuil. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-05-25cx18: allow for simultaneous digital and analog captureHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The HVR-1600 can do both analog and digital capture at the same time. Due to a driver bug -EBUSY would be returned when attempting to setup an analog capture while a digital capture was already in progress. Separate the two internally. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-05-02backport commit aed6abd662c2903733bea7fcd3856c306e650680Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> kernel-sync: Author: Mauro Carvalho Chehab <mchehab@infradead.org> LD drivers/media/video/built-in.o drivers/media/video/cx18/built-in.o: In function `get_service_set': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:118: multiple definition of `get_service_set' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:119: first defined here drivers/media/video/cx18/built-in.o: In function `expand_service_set': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:92: multiple definition of `expand_service_set' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:92: first defined here drivers/media/video/cx18/built-in.o: In function `service2vbi': /home/v4l/tokernel/git/drivers/media/video/cx18/cx18-ioctl.c:44: multiple definition of `service2vbi' drivers/media/video/ivtv/built-in.o:/home/v4l/tokernel/git/drivers/media/video/ivtv/ivtv-ioctl.c:42: first defined here make[2]: ** [drivers/media/video/built-in.o] Erro 1 make[1]: ** [drivers/media/video] Erro 2 make: ** [drivers/media/] Erro 2 Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2008-04-28cx18: new driver for the Conexant CX23418 MPEG encoder chipHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Many thanks to Steve Toth from Hauppauge and Nattu Dakshinamurthy from Conexant for their support. I am in particular thankful to Hauppauge since without their help this driver would not exist. It should also be noted that Steve did the work to get the DVB part up and running. Thank you! Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: G. Andrew Walls <awalls@radix.net>