summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx18
AgeCommit message (Collapse)Author
2009-02-28cx18: Include cx18-audio.h in cx18-audio.c to eliminate s-parse warningAndy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-28cx18: Fix a video scaling check problem introduced by sliced VBI changesAndy Walls
From: Andy Walls <awalls@radix.net> Fix a scaling check that was failing, due to a magic number I missed fixing during previous slice VBI changes. Now $ v4l2-ctl -v width=480,height=480,pixelformat=MPEG yields proper visual results again. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-28cx18: Use strlcpy() instead of strncpy() for temp eeprom i2c_client setupAndy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-27cx18 and saa7110: remove the fake v4l2_ctrl_query_fill calls for the proper onesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> During the patch merge, I've added a temporary fix for v4l2_ctrl_query_fill(), just to avoid the tree breakage. Replace those for the proper values. kernel-sync: Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-26cx18: Fix compilation and remove the obsoleted v4l2_ctrl_query_fill_std() callMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-26merge: http://linuxtv.org/hg/~awalls/cx18Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-21cx18: Disable AC3 controls as the firmware doesn't support AC3Andy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-21cx18: Increment version number due to significant changes for v4l2_subdevsAndy Walls
From: Andy Walls <awalls@radix.net> Driver is now at version 1.1.0. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-21cx18: Get rid of unused variables related to video outputAndy Walls
From: Andy Walls <awalls@radix.net> Remove variables that were holdovers from ivtv for supporting the CX23415 MPEG decoder output. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-21cx18: Change log lines for internal subdevs and fix tveeprom readsAndy Walls
From: Andy Walls <awalls@radix.net> Give messages originating from internal subdevs a header using the subdev's name. Fixed an uninitialized variable problem with reading the EEPROM, noticed from log output. Got rid of the unused cx18_av_exit() function. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-21cx18: Fix a memory leak of buffers used for sliced VBI insertionAndy Walls
From: Andy Walls <awalls@radix.net> We leaked buffers every time a device was removed, if the user had enabled sliced VBI insertion into the MPEG stream. MythTV uses that. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-21v4l2-common: remove v4l2_ctrl_query_fill_stdHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The v4l2_ctrl_query_fill_std() function wasn't one the best idea I ever had. It doesn't add anything valuable that cannot be expressed equally well with v4l2_ctrl_query_fill and only adds overhead. Replace it with v4l2_ctrl_query_fill() everywhere it is used and remove it from v4l2_common.c. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-02-21cx18: Convert GPIO connected functions to act as v4l2_subdevicesAndy Walls
From: Andy Walls <awalls@radix.net> Convert GPIO line functions, such a audio routing and device resets, to v4l2_subdevices. This essentially completes the conversion of cx18 to the v4l2_device/v4l2_subdevice framework. No regression testing has taken place as of yet. Also an ivtv legacy bug with GPIO mux routing and going to/from radio mode was commented, but not fixed. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-20cx18: Convert I2C devices to v4l2_subdevicesAndy Walls
From: Andy Walls <awalls@radix.net> This is a major perturbation to cx18 I2C device handling to convert it to the v4l2_device/subdeivce framework. This change breaks GPIO audio multiplexer control for the time being. It will be fixed in a coming change. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-16cx18, v4l2-chip-ident: Finish conversion of AV decoder core to v4l2_subdevAndy Walls
From: Andy Walls <awalls@radix.net> Added a new chip identifer to v4l2-chip-ident for the integrated A/V broadcast decoder core internal to the CX23418. Completed separation and encapsulation of the A/V decoder core interface as a v4l2_subdevice. The cx18 driver now compiles and links again. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-14cx18: Slim down instance handling, build names from v4l2_device.nameAndy Walls
From: Andy Walls <awalls@radix.net> Convert card instance handling to a lighter weight mechanism like ivtv. Also convert name strings and debug messages to use v4l2_device.name. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-14cx18: Convert the integrated A/V decoder core interface to a v4l2_subdevAndy Walls
From: Andy Walls <awalls@radix.net> This is the next step in converting the cx18 driver to use the v4l2_device/ v4l2_subdevice framework. This is a straightforward conversion of the cx18_av_*[ch] files. It compiles, but leaves the driver in an unlinkable state at the moment. Note, the cx18 integrated A/V digitizer will now make a host match at address 1, as far as v4l2-dbg is concerned. That means it identifies itself as a separate "chip", and acts as an alias to the integrated A/V decoder registers that are also available with the host match at address 0. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-13v4l2-common: add comments warning that about the sort orderHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Control arrays as are used with v4l2_ctrl_next must be sorted from low to high. Add a comment at the top of all such arrays to warn about this. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-02-06ivtv/cx18: fix g_fmt and try_fmt for raw videoMauro Carvalho Chehab
From: Hans Verkuil <hverkuil@xs4all.nl> The raw video device didn't report the image size correctly. When setting a new image the image height has to be a multiple of 32 lines. Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-09merge: http://linuxtv.org/hg/~awalls/cx18-sliced-vbiMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-09merge: http://linuxtv.org/hg/~awalls/cx18Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-02-08cx18: Finally get sliced VBI working - for 525 line 60 Hz systems at leastAndy Walls
From: Andy Walls <awalls@radix.net> Sliced VBI, in the manner that ivtv implements it as a separate data stream, now works for 525 line 60 Hz systems like NTSC-M. It may work for 625 line 50 Hz systems, but I have more engineering work to do, to verify it is operating properly. Sliced data insertion into the MPEG PS should be working, but is untested. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-07cx18: Process Raw VBI on a whole frame basis; fix VBI buffer sizeAndy Walls
From: Andy Walls <awalls@radix.net> The cx23418 appears to send Raw VBI buffers with a PTS on a per frame basis, not per field, so process Raw VBI on a whole frame basis and reduce some complexity. Fix VBI buffer size computation to handle a whole frame of Raw VBI for a 625 line system, which is the worst case and will work for 525 lines systems as well. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-06cx18: Fix sliced VBI PTS and fix artifacts in last raw line of fieldAndy Walls
From: Andy Walls <awalls@radix.net> Fixed an endianess problem with the collection of the PTS from the VBI buffer given to us by the encoder. Also extrapolated the last 12 bytes of the last line of each field, to remove artifacts created by removing the first 12 bytes of each field for raw VBI. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-06cx18: Use correct line counts per field in firmware API callAndy Walls
From: Andy Walls <awalls@radix.net> The driver was incorrectly setting 0 line counts in a firmware API call to set the maximum amount of lines per field. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-06cx18: Fixes for enforcing when Encoder Raw VBI params can be setAndy Walls
From: Andy Walls <awalls@radix.net> The Encoder will only allow the Raw VBI parameters, along with a number of other API parameters, to take effect when no analog captures are in progress. These parameters must be set before the first analog capture starts, be it MPEG, VBI, YUV, etc., and cannot be changed until the last one stops. It is not obvious to me what capture channel API parameters are shared and which ones must be set per capture channel, so set them all for every analog capture channel start up. This fixes the driver so that VBI capture can be started up after the MPEG capture is going. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-05cx18: Fix VBI ioctl() handling and Raw/Sliced VBI state managementAndy Walls
From: Andy Walls <awalls@radix.net> More sliced VBI fixes to bring the cx18 driver closer to full V4L2 spec compliance for VBI and to get sliced VBI working better. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-01cx18: Remove an unused spinlockAndy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-01cx18: Fix presentation timestamp (PTS) for VBI buffersAndy Walls
From: Andy Walls <awalls@radix.net> The old code from ivtv used a CX23415/6 PTS, which was simply left at 0 in the cx18 driver. Since the CX23418 gives us what I think is a PTS (or some other 90 kHz clock count) with each VBI buffer, this change has the cx18 driver use that as a PTS. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-02-01cx18: Fix coding style of a switch statement per checkpatch.plAndy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-30cx18: Clean-up and enable sliced VBI handlingAndy Walls
From: Andy Walls <awalls@radix.net> Removed legacy ivtv state variables, added comments, and cleaned up sliced VBI related code. Enabled sliced VBI. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-30cx18: Normalize APU after second APU firmware loadAndy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-30cx18: Smarter verification of CX18_AUDIO_ENABLE register writesAndy Walls
From: Andy Walls <awalls@radix.net> The CX18_AUDIO_ENABLE register usually never reads back what was just written under normal circumstances. Perform better checking that a write went to the register as expected with a specification of what bits to verify. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-30cx18: Defer A/V core initialization until a valid cx18_av_cmd arrivesAndy Walls
From: Andy Walls <awalls@radix.net> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-29v4l2: fix incorrect hue range checkHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> A hue of -128 was rejected due to an incorrect range check, which was faithfully copy-and-pasted into four drivers... Priority: normal Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2009-01-19cx18: Add initial entry for a Leadtek DVR3100 H hybrid cardAndy Walls
From: Andy Walls <awalls@radix.net> Card report provided by Patryk on the ivtv-devel list: http://ivtvdriver.org/pipermail/ivtv-devel/2009-January/005922.html Reported-by: Pat <tatyrza@mm.pl> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-17cx18: Call request_module() with proper argument types.Andy Walls
From: Andy Walls <awalls@radix.net> request_module() needs to be called with a string literal for a format string or with 1 or more variable arguments to avoid compiler warnings and possible exploits, if someone could cause us to get a format string with a '%' code in the format string when we make the call. Reported-by: Brandon Jenkins <bcjenkins@tvwhere.com> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-11cx18: Conversion to new V4L2 framework: use v4l2_device objectAndy Walls
From: Andy Walls <awalls@radix.net> First step in conversion to the new V4L2 framework. Added per cx18 device instance of the v4l2_device and its registration. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
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>
2009-01-04cx18: Fix bad audio in first analog capture.Andy Walls
From: Andy Walls <awalls@radix.net> Normalize the APU state before the second firmware load so that audio for the first analog capture is correct. Many thanks to Conexant for supporting me in finding a solution for this problem. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-03cx18, cx2341x: Fix bugs in cx18 AC3 control and comply with V4L2 specAndy Walls
From: Andy Walls <awalls@radix.net> Fix bugs in the cx18 AC3 control implementation that would have affected ivtv and other drivers via the cx2341x module. Bring AC3 controls behavior into comliance with V4L2 specification. Thanks to Hans Verkuil for reviewing the previous patch and pointing out the problems. Reported-by: Hans Verkuil <hverkuil@xs4all.nl> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-01cx18, cx2341x, ivtv: Add AC-3 audio encoding control to cx18Andy Walls
From: Andy Walls <awalls@radix.net> Initial addition of controls to set AC-3 audio encoding for the CX23418 - it does not work yet due to firmware or cx18 driver issues. This change affects the common cx2341x and ivtv modules due to shared structures and common functions. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-01cx18: Additional debug to display outgoing mailbox parametersAndy Walls
From: Andy Walls <awalls@radix.net> Added debug display of outgoing mailbox arguments. Fixed a minor problem with display of stale incoming mailbox contents, when user was not looking for debug warnings. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2009-01-01cx18: Fix a PLL divisor update for the I2S master clockAndy Walls
From: Andy Walls <awalls@radix.net> A redundant PLL divisior update for the I2S master clock after AV core firmware load was missed in earlier PLL parameter changes. This one really doesn't matter because it's redundant and gets overwritten, but the driver should be self consistent in the values used. 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-20cx18: Use a consistent crystal value for computing all PLL parametersAndy Walls
From: Andy Walls <awalls@radix.net> Use a consistent crystal value of 28.636360 MHz for computing all PLL parameters so clocks don't have relative error due to assumed crystal value mismatches. Also aimed to have all PLLs run their VOCs at close to 400 MHz to minimze the error of these PLLs as frequency synthesizers. Also set the VDCLK and AIMCLK PLLs to sane values before the APU and CPU firmware are loaded. Also fixed I2S Master clock dividers. Many thanks to Mike Bradley and Jeff Campbell for reporting this problem and suggesting the solution, researching and experimenting, and performing extensive testing to support their suggested solution. Reported-by: Jeff Campbell <jac1dlists@gmail.com> Reported-by: Mike Bradley <mike.bradley@incanetworks.com> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>
2008-12-20cx18: Disable locking of Video and Audio PLL for analog capturesAndy Walls
From: Andy Walls <awalls@radix.net> Disable AV_LOCK, locking of audio PLL to video PLL in the cx18-av-core for analog captures. It seems to have adverse effects on captures from SVideo and CVBS sources with current clock & crystal settings in the driver. Many thanks to Jeff Campbell and Mike Bradley for reporting this problem, and suggesting the solution and performing extensive testing to support their suggestion. Reported-by: Jeff Campbell <jac1dlists@gmail.com> Reported-by: Mike Bradley <mike.bradley@incanetworks.com> Priority: normal Signed-off-by: Andy Walls <awalls@radix.net>