History log of /drivers/media/video/cx25840/cx25840-audio.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4c3764d15050f91a76cede6f24402cd2701e73ef 04-Jan-2012 Steven Toth <stoth@kernellabs.com> [media] cx25840 / cx23885: Fixing audio/volume regression

Since the conversion to subdev in Oct 2010 the audio controls have
not functioned correctly in the cx23885 driver. Passing values of
0-3f did not translate into meaningfull register writes. I've
converted the cx23885 driver to match the cx25840 volume control
definition and now audio is working reliably again.

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
2ccdd9a59b3a1ff3bd1be6390c4b1989a008e61c 10-Oct-2011 Steven Toth <stoth@kernellabs.com> [media] cx25840: Enable support for non-tuner LR1/LR2 audio inputs

The change effects cx23885 boards only and preserves support for existing
boards. Essentially, if we're using baseband audio into the cx23885 AV
core then we have to patch registers. The cx23885 driver will call
with either CX25840_AUDIO8 to signify tuner audio or AUDIO7 to
signify baseband audio. If/When we become more comfortable with this change
across a series of products then we may decide to relax the cx23885 only
restriction.

[liplianin@netup.ru: fix missing state declaration]

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Igor M. Liplianin <liplianin@netup.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
5af79f86db6a29a158510b5dc255d8844d95c4e9 10-Jul-2010 Sven Barth <pascaldragon@googlemail.com> [media] Add support for AUX_PLL on cx2583x chips

This adds support for the AUX_PLL in cx2583x chips which is available in
those although the audio part of the chip is not.
The AUX_PLL is used at least by Terratec in their Grabster AV400 device.

Signed-off-by: Sven Barth <pascaldragon@googlemail.com>
Acked-by: Mike Isely <isely@pobox.com>
Reviewed-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
e34e658b5a42fb1a12fda2112f0b556cf5d1f1c4 06-Aug-2010 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB: cx25840: convert to the new control framework

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
9eef550a9a98c1e3d15aaf490812949fdeb01c7c 27-Sep-2009 Andy Walls <awalls@radix.net> V4L/DVB (13089): cx25840: Separate set_audclk_freq functionality for the different chips

Separate out the set_audclk_freq() function into separate functions for the
four families of cores. These cores all use slightly different sample clock
schemes and may be assuming slightly (+/- 3 Hz) different reference frequencies.
The code resuse was not worth the maintenance and testing headache of have all
chips use the same function peppered with conditional logic.

Added comments on how PLL and SRC parameters values are computed. Fixed a few
bugs related to the shared code having a large number of conditional statements.
Noted inconsistencies with FIXME in the comments.

This is done in preparation for getting the CX2388[578] PLL/clock setting logic
cleaned up for CX23888 analog video and IR (which need the VID PLL set right).

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
2a03f03471d3232037e656570ccaf3ff2ffd01e8 27-Sep-2009 Andy Walls <awalls@radix.net> V4L/DVB (13088): cx25840: Convert chip/core family checks to static inline functions

Change logic to check for various chip or core families to inline functions.
Checks for specific chips should be made against the state->id field now. This
is in preparation for chip/core specific code for setting up PLLs for the
CX2388[578] family of cores, that all run with different crystal frequencies.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
95b14fb23b543e0a9213b4ba3cc4fc640d9e453f 03-Mar-2009 Mauro Carvalho Chehab <mchehab@redhat.com> V4L/DVB (10953): cx25840: Fix CodingStyle errors introduced by the last patch

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
149783b58170da0b7ebe9e86995f8cb350f33b6d 03-Mar-2009 Sri Deevi <Srinivasa.Deevi@conexant.com> V4L/DVB (10952): cx25840: prepare it to be used by cx231xx module

cx231xx has a cx25840 inside the chip. However, some different
initializations are used for this variant.

Signed-off-by: Srinivasa Deevi <srinivasa.deevi@conexant.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
df1d5ed8a81565b78d45fbdffb6561c75c75ec0d 30-Mar-2009 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step

The audio and vbi functions where still called through an ioctl-like
interface, even though this is no longer needed with v4l2-subdev. Just
change each 'case' into a proper function and call that directly.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
9357b31c6cbd3d1c279fb161b3bf179c53062365 29-Nov-2008 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (9823): cx25840: convert to v4l2_subdev.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
/drivers/media/video/cx25840/cx25840-audio.c
f234081bc564c69eb0e2cd4e957ad1cbae4a6144 10-Jan-2008 Steven Toth <stoth@hauppauge.com> V4L/DVB (7002): cx25840: Add basic CX23885 AVCore support

The cx23885/7/8 PCIe bridge has an internal AVCore modelled on
the cx2584x family. Many of the registers positions are identical
but some moved. The register values are also different because
the different bridges run at different clock rates.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
4a56eb3f535f92b0585aa01dba05b3f17a547df0 02-Dec-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (6743): cx25840: fix endianness inconsistency

cx25840_read4 reads a little-endian 32-bit value whereas cx25840_write4 writes
the 32-bit value as big-endian. Convert write4 to use little-endian as well
(that's the correct endianness).

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
8267761881d6bb91c168ba4d629b778cf106c485 07-Aug-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (6051): cx25840: make proper use of SOFT_RESET

Whenever the 0x80b register is used the microcontroller should be reset.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
87410dab1238623e082e9a78a62f1bbeb6c475e3 05-Aug-2007 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (5997): cx25840: fix audio mute handling and reporting

Audio muting for the tuner input was implemented by stopping the
audio microcontroller and restarting it on unmute. However, it
appears that this method can actually crash the audio firmware.
It's rare and seems to happen with NTSC only.

It has been reimplemented by setting to volume to 0. In addition, the
reporting of the mute state has been improved as well: it used to be
impossible to detect whether the audio was muted by the user or if it
was muted due to the microcontroller trying to detect the audio
standard. This is now clearly stated.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
2e2aef7d5a8ac9d1c9b2c07a9fc96a7908d51d72 29-Apr-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4008): Audio soft reset improvements

The soft reset (de)assert commands where not at the right place.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
c0c044a71f3d0a0a73c954b389cbc4b55ed4c2ba 29-Apr-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4006): Stop/start microcontroller when changing sampling frequency

Stop/start microcontroller when changing sampling frequency to prevent
tinny audio.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
e2b8cf4ced47465b24d6fe911714827475fb0412 22-Apr-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (4005): Add support for the cx25836/7 video decoder.

Signed-off-by: Scott Alfter <salfter@ssai.us>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
31bc09b579f31331545e694d0a49ec4e6b380989 25-Mar-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3610): Added the new routing commands to cx25840.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
8bf2f8e747700419cc5bbc56c4496774eb8f2f1f 19-Mar-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3577): Cleanup audio input handling

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>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
/drivers/media/video/cx25840/cx25840-audio.c
d92c20e0a5b560bbe46d7e68bb47df2366cddf8f 09-Jan-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3279): Added VIDIOC_QUERYCTRL to cx25840.


- Added VIDIOC_QUERYCTRL
- Removed unnecessary inlines.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/cx25840/cx25840-audio.c
a8bbf12ad8a8ad532cea0b67f0127ad90d336b04 09-Jan-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3249): Generalized cx25840 video/audio input handling


- Added VIDIOC_S_AUDIO to set the audio inputs separately.
- Removed AUDC_SET_INPUT.
- Made the video inputs much more general.
- Removed cardtype CID and replaced with a CID to enable
the PVR150 workaround. The cardtype is no longer necessary
with the general video input change.
- Update VIDIOC_LOG_STATUS output to show the video and
audio inputs separately.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/cx25840/cx25840-audio.c
3578d3dd0b1e468a44a76a83efe90476a854625d 09-Jan-2006 Hans Verkuil <hverkuil@xs4all.nl> V4L/DVB (3214): Calculate the saa7115 AMCLK regs instead of using fixed values

- 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>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
/drivers/media/video/cx25840/cx25840-audio.c
e77f34d6948af83db75ece2e1bc0c73087d7cf69 14-Nov-2005 Mauro Carvalho Chehab <mchehab@brturbo.com.br> [PATCH] v4l: (966.1) Removes Obsoleted i2c-compat.h from newer drivers

Removed obsoleted i2c-compat.h file from cx25840, saa7115 and saa7127 drivers.

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>
/drivers/media/video/cx25840/cx25840-audio.c
bd985160a9f4623fdb24fcfeb36fe59e1b8f7b57 14-Nov-2005 Hans Verkuil <hverkuil@xs4all.nl> [PATCH] v4l: (946) adds support for cx25840 video decoder

Adds support for cx25840 video decoder.

Driver authors: Hans Verkuil, Chris Kennedy, Tyler Trafford, Ulf Eklund.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Chris Kennedy <c@groovy.org>
Signed-off-by: Tyler Trafford <tatrafford@comcast.net>
Thanks-to: Ulf Eklund <ivtv@eklund.to>.
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>
/drivers/media/video/cx25840/cx25840-audio.c