summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/saa7115.c
AgeCommit message (Collapse)Author
2007-02-03Fix CC handling in VIDIOC_INT_G_VBI_DATAHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When capturing a 60 Hz input the internal field ID is inverted. The VIDIOC_INT_G_VBI_DATA didn't take that into account and so returned XDS instead of CC and vice versa. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-01-30Add checks for CAP_SYS_ADMIN to VIDIOC_DBG_G_REGISTERTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> Before, root privileges were only needed to set hardware registers, not to read them. On some hardware, reading from the wrong place at the wrong time can hang the machine. So, to be consistent, root privileges are required to read registers on all hardware. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-23Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal onlyTrent Piepho
From: Trent Piepho <xyzzy@speakeasy.org> The direct register access ioctls were defined as kernel internal only, but they are very useful for debugging hardware from userspace and are used as such. Officially export them. VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER Definition of ioctl and struct v4l2_register is moved from v4l2-common.h to videodev2.h. Types used in struct v4l2_register are changed to the userspace exportable versions (u32 -> __u32, etc). Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move the check into the video_ioctl2() dispatcher so it doesn't need to be duplicated in each driver's call-back function. CAP_SYS_ADMIN check is added to pvrusb2 (which doesn't use video_ioctl2). Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-01-21Adds video output routingMauro Carvalho Chehab
From: Marco Schluessler <marco@lordzodiac.de> Nexus CA needs to use a different routing on saa7115 module. Signed-off-by: Marco Schluessler <marco@lordzodiac.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-11-25Minor coding style improvementsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Remove coding style inconsistencies. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-11-25Improve saa711x checkHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The old code would accept any device on the same i2c address as the saa711x chips as an saa711x. However, this fails with saa717x chips, which use that same address and so are misdetected as a saa7111. Now check whether the chip is really a saa711x model. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-10-09From: Pádraig Brady <P@draigBrady.com>Mauro Carvalho Chehab
Subject: SECAM support for saa7113 into saa7115 Date: Mon, 09 Oct 2006 12:02:17 +0100 Without the attached trivial patch, the saa7113 is set up for PAL when SECAM is selected and hence will see only show black and white for SECAM signals. Tested the patch against the saa7115 module in linux-2.6.17 with a Pinnacle 50e USB tuner (em28xx). Signed-off-by: Pádraig Brady <P@draigBrady.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-12On saa7111/7113, LUMA_CTRL need a different valueMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Also sends the proper saa71111 init table. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-03Fix a typo: VRES, instead o HRESMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-02Fix saa7115 miscalculation that breaks NTSCMike Isely
From: Mike Isely <isely@pobox.com> This repairs a problem introduced by a commit earlier today from Mauro. Hans Verkuil gets the credit for solving this. I'm committing it now because (a) nobody else has and (b) I'm stuck without it. Thanks-to: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mike Isely <isely@pobox.com>
2006-09-02Fixes some troubles on saa7115Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Scaling were not working fine; Some reserved registers were wrong; On some situations, saa7115 were not properly being initializated. Removed some duplicated code. Thanks-to: Hans Verkuil <hverkuil@xs4all.nl> for co-working on this patch. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-01Code were preventing saa7111 and saa7118 to workMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-01Fix: There were some missing breaks at register check routineMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Without the breaks, saa7115 were not initializing PLL2. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-09-01saa7115 seems to need initializing some reserved registersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Also fixed a scaling trouble Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-30Fix scaling calculusMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Thanks-to: Hans Verkuil <hverkuil@xs4all.nl> for testing it on ivtv. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-30Fix: standard need to be setted, before adjusting audioMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-30Last patch wrongly applied. Reverting it...Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-30Fix encoder normMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Encoder API is still V4L1. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-30Cleanup: removed hardcoded tablesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> saa7115 module is capable of calculating the proper FIR tables. However, there were 4 hardcoded tables for the standard resolution. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-29Renamed several common structs/functions to saa711x instead of saa7115Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-29Add support for saa7111 and partial support for saa7118Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-29Renames registers to be easier to work with theyMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> On SAA711x datasheets, registers are referenced by its numbers. So, it is better to keep the number at register name. This way, it is easier to seek that register at datasheet. Also, the alias helps to identify what the meaning for each register. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-28Added register aliases for saa711x registers, instead of using reg numbersMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-08-28Make saa7115 to report the complete chipset nameMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-06-18Use control helpers for saa7115, cx25840, msp3400.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Replace hardcoded control description by the standard ones supplied by v4l2-common. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-04-02Fix video input setting of em28xx, use _INT_S_VIDEO_ROUTING in tvp5150Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - Use new routing input defines in em28xx-cards.c - Fix S-Video settings for tvp5150-based cards (input was copied from saa7115 based cards and worked only because S-Video was selected in the default: case) - Replace VIDIOC_S_INPUT by VIDIOC_INT_S_VIDEO_ROUTING in em28xx-video.c - Remove the now obsolete VIDIOC_S_INPUT handler in saa7115.c - Add VIDIOC_INT_G/S_VIDEO_ROUTING in tvp5150.c - Add new media/tvp5150.h with the routing defines. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-04-02Add support for VIDIOC_INT_S_CRYSTAL_FREQ internal command.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Some saa7115-based cards use a different crystal frequency and a different audio clock generation. Add a new VIDIOC_INT_S_CRYSTAL_FREQ command to be able to set these values. Also change the default APLL setting to 0. It makes no sense to have the audio clock independent from the video clock, this can lead to audio/video synchronization problems. Setting this to 0 is also consistent with the old saa7114.c source and the way the Hauppauge Windows driver sets it. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-03-29Reverted sliced VBI API changes made in videodev2.h.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The sliced VBI defines added in videodev2.h are removed. One define changed the meaning of a old define, thus breaking existing apps, another used more than 16 bits (the max size is u16), and many types were added that were untested and whose payload was undocumented. New types should be shown to exist 'in the wild' and the payload format must be documented in the V4L2 API spec. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-03-25Implement routing command for saa7115.cHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-03-25Minor layout changes to make it consistentHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-03-19Cleanup audio input handlingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Cleanup audio input handling in bttv and tvaudio: - inputs were specified that were never used - mute was handled as a special input which led to confusing code - confusing naming made it difficult to see if the setting was for i2c or gpio. The old audiochip.h input names moved to tvaudio.h. Currently this is used both by tvaudio and msp3400 until the msp3400 implements the new msp3400-specific inputs. Detect in bttv the tvaudio and msp3400 i2c clients and use these client pointers to set the inputs directly instead of broadcasting the command. Removed AUDC_SET_INPUT. Now replaced by VIDIOC_S_AUDIO. This will be replaced again later by the new ROUTING commands. Removed VIDIOC_G_AUDIO implementations in i2c drivers: this command is a user level command and not to be used internally. It wasn't called at all anyway. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-03-16Fixed a typo iif instead of ifMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-16Fixed a trouble with other PAL standardsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> V4L2_STD_PAL define is not correct. It specifies only 50Hz PAL standards. This patch fixes saa7113 color config for other PAL video standards. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-14SAA7113 doesn't have auto std chroma detection modeMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> This patch makes chroma standard selection based at possible values, according with datasheet. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-03-13Remove saa711x driverMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Now, em28xx uses saa7115 instead of saa711x. saa7115 driver is capable of handling saa 7113, 7114 and 7115. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-02-16Fix maximum for the saturation and contrast controls.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-01-19Included new sliced VBI types to videodev2.h and tvp5150Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> - Added other sliced VBI types to videodev2.h - tvp5150 now uses standard V4L2 API codes from videodev2.h - Implemented VIDIOC_G_SLICED_VBI_CAP for tvp5150. This is dynamically filled based on defined VDP C-RAM values filled by the driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-11From: Panagiotis Issaris <takis@issaris.org>Mauro Carvalho Chehab
Conversions from kmalloc+memset to k(z|c)alloc Conversions from kmalloc+memset to k(z|c)alloc. kernel-sync Signed-off-by: Panagiotis Issaris <takis@issaris.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2006-01-11Fixes some bad global variablesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@brturbo.com.br> - debug global var is already used inside kernel. - v4l_dbg now expects the debug var - global vars inside msp34xx renamed to msp_* Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-07Some cleanups at I2C modulesMauro Carvalho Chehab
- Latest patch reverted, since __stringfy seems to be needed for kernel < 2.6.15 - Applied kernel I2C cleanups from Jean Delaware. - driver names simplified to allow usage of newer printk macros at v4l2-common.h Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2006-01-02Added VIDIOC_QUERYCTRL to saa7115Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2006-01-02convert diagnostics over to the new v4l2-common.h macros.Hans Verkuil
- convert diagnostics over to the new v4l2-common.h macros. - deprecated tuner_debug option, the new option is debug. - renamed cx25840_debug to debug. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-12-29Add missing audiochip.h include.Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-12-29When in radio mode ignore VIDIOC_G_TUNERHans Verkuil
- Detect when AUDC_SET_RADIO is called. - When in radio mode ignore VIDIOC_G_TUNER. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-12-29Don't reprogram the video standard if it is unchanged.Hans Verkuil
Don't reprogram the video standard if the new standard equals the old standard. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-12-28Add selected input to saa7115 VIDIOC_LOG_STATUS output.Hans Verkuil
- Add selected input to VIDIOC_LOG_STATUS output. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-12-25replace <media/i2c-compat.h> with "i2c-compat.h"Michael Krufky
-#include <media/i2c-compat.h> +#include "i2c-compat.h" Signed-off-by: Michael Krufky <mkrufky@m1k.net>
2005-12-22Calculate the saa7115 AMCLK regs instead of using fixed valuesHans Verkuil
- Calculate the audio master clock registers from the actual frequencies. This simplifies the code and it also prepares for adding CGC2 support. - VIDIOC_INT_AUDIO_CLOCK_FREQ now receives an u32 instead of an enum. It is more generic and actually easier to implement. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2005-12-10make tree to compile against kernel 2.5.31Mauro Carvalho Chehab
kernel-sync Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
2005-12-07kernel-sync patches.Mauro Carvalho Chehab
kernel-sync Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>