Age | Commit message (Collapse) | Author |
|
From: Andy Walls <awalls@radix.net>
A late v4l2_subdev framework change accidentally sent the audio input
routing value to the external multiplexer, instead of the muxer input routing
value to the external multiplexer. This change corrects that error.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Remove support for the debug call VIDIOC_INT_S_AUDIO_ROUTING from cx18
and ivtv. These internal ioctls shouldn't be exposed. These were only
used through the cx18-ctl and ivtv-ctl utilities, and only when testing
a new card variant.
This cleanup allows the removal of this ioctl from v4l2-common.h.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
CC: Andy Walls <awalls@radix.net>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
It is no longer needed to use a struct pointer as argument, since v4l2_subdev
doesn't require that ioctl-like approach anymore. Instead just pass the input,
output and config (new!) arguments directly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
new_(probed)_subdev
From: Hans Verkuil <hverkuil@xs4all.nl>
The functions v4l2_i2c_new_subdev and v4l2_i2c_new_probed_subdev relied on
i2c_get_adapdata to return the v4l2_device. However, this is not always
possible on embedded platforms. So modify the API to pass the v4l2_device
pointer explicitly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Originally the intention was to switch to the new style i2c API starting with
the introduction of the API in 2.6.22. However, the i2c_new_probed_device()
function has a lethal bug that wasn't fixed until 2.6.25. Or more accurately,
it was only fixed in the stable series of 2.6.25 and 2.6.26.
Given the fact that the new i2c API also changed starting with 2.6.26 (the
addition of i2c_device_id), it is easiest to switch APIs starting with
2.6.26.
This patch updates all the legacy code accordingly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
s_std didn't belong in the tuner ops. Stricly speaking it should be part of
the video ops, but it is used by audio and tuner devices as well, so it is
more efficient to make it part of the core ops.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The init callback was used in several places to load firmware. Make a separate
load_fw callback for that. This makes the code a lot more understandable.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The audio and vbi parts still used an 'ioctl'-like interface. Replace this
with normal functions.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
CC: Andy Walls <awalls@radix.net>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
There are several Kconfig items using CUSTOMIZE. Yet, most use the English
writing CUSTOMISE. This generates lots of trouble, because people sometimes type
the Kbuild item different.
Let's standardise every occurrence using the same syntax.
The changes were generated by this small shell script:
for i in `find linux -type f`; do sed s,CUSTOMIZE,CUSTOMISE,g $i >/tmp/a && mv /tmp/a $i; done
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Andy Walls <awalls@radix.net>
Removed some unnecessary memcpy()'s by reworking the compress_*_vbi_buf()
functions.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
The sliced VBI payloads that cx18 and ivtv would insert in the MPEG stream
did not have consistent endianess for the linemasks in the payload (a big
endian platform would write them out big endian). This change ensures the
linemasks are always stored as little-endian in the MPEG stream to ensure
cross platform consistency in parsing the generated MPEG stream.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
The cx18 private packet insertion code only expects to operate on an MPEG PS
when inserting private packets of sliced VBI data. This patch keeps the cx18
driver from corrupting the MPEG TS or other non-PS stream types, in case the
user enables sliced VBI insertion for these MPEG stream types.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
Based on a documentation clarification from Conexant, fix the register code
used for sliced VBI VPS service.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
This change only affects comments.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
My s-parse builds never griped about be32_to_cpu() casting to __be32, but Hans'
builds did. This change explictly declares the pointer into the VBI buffer
header as __be32, which is the correct thing to do as the data is always
big endian when we go to fetch it. Hopefully this will quiet s-parse warnings.
Also corrected a misplaced parenthesis logic error in checking for the VBI
header magic number.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
Driver is now at version 1.1.0.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|
|
From: Andy Walls <awalls@radix.net>
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
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>
|