Simplify sensor detection a bit (share more of the code between cif and vga
cameras). Also remove an unnecessary write from zero_the_pointer().
Signed-off-by: Theodore Kilgore <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Based on experiments by Eric Wescott, edit the Sony GigaPocket (Kikyou)
card entry video and audio mux settings.
Signed-off-by: Andy Walls <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This is a slightly modified version of Eric Anderson's original patch
for the Sony Giga Pocket board. It has been updated to apply to the
latest ivtv driver version by Hans Verkuil <[email protected]> and
Andy Walls <[email protected]>. Also Andy Walls modified the patch to
use a new Sony BTF-Pnx01Z tuner entry based on Eric Anderson's experimental
findings for the bandswitch.
>From Eric Anderson's original email:
1. The tuner on the card doesn't seem to match any standard
ones. I modified an existing tuner entry. Ideally a new tuner
entry should be created. (The only difference from the one I
modified is that the low-to-mid range frequency cut-off is
slightly different, as are the bit config settings.)
2. It wasn't obvious how to choose a second audio input other
than using "radio" as an option. Basically there's two GPIO
audio inputs. Using radio allowed me to avoid major restructuring
to the code. (perhaps other cards don't have this often...)
3. It's not clear that there's a mute setting that works. Not
sure why.
4. I haven't had a chance to test the two Svideo inputs. I set
them to COMPOSITE1 and SVIDEO2, but I'm not sure those are the
correct settings. The standard composite video inputs seem to work.
Signed-off-by: Andy Walls <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Sony makes custome tuners for its GigaPocket line of ivtv based capture
cards. This adds an entry to the tuner-types list for such tuners.
Parameters are based on experiments by Eric Anderson <[email protected]>.
Signed-off-by: Andy Walls <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
ivtv_api_get_data() was performing more PCI MMIO than needed, resulting
often in it accounting for more than half the total time spent in
ivtv_irq_handler(). Now it only reads at most 7 of the 16 mailbox data words
over the PCI bus, and in some instances only 2 or 3 data words as needed.
Signed-off-by: Andy Walls <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Enhancements to support DM365 ISP5 and VPSS module configuration.
Also cleaned up the driver by removing redundant variables.
Reviewed-by: Hans Verkuil <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This is the source file for ISIF driver on DM365. ISIF driver is equivalent
to CCDC driver on DM355 and DM644x. This driver is tested for YUV capture from
TVP514x driver. This patch contains the header files required for this driver.
Reviewed-by: Nori, Sekhar <[email protected]>
Reviewed-by: Hans Verkuil <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This is the header file for ISIF driver on DM365. ISIF driver is equivalent
to CCDC driver on DM355 and DM644x. This driver is tested for
YUV capture from TVP514x driver. This patch contains the header files required
for this driver.
Reviewed-by: Nori, Sekhar <[email protected]>
Reviewed-by: Hans Verkuil <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This patch adds following changes:-
1) add sub device configuration data for TVP5146 used by vpfe capture
2) registers platform devices for vpfe_capture, isif and vpss
3) defines hardware resources for the devices listed under 2)
4) defines clock aliase for isif driver
5) adding setup_pinmux() for isif
Reviewed-by: Kevin Hilman <[email protected]>
Signed-off-by: Murali Karicheri <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
We know that the 300msec settling time after starting the digitizer is
only really needed when the digitizer is a SAA7115. So if we're not
using a SAA7115, skip the delay.
Signed-off-by: Mike Isely <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
After implementing a 300msec wait between digitizer start and encoder
start, it has been determined that we don't need to wait quite as long
before configuring the encoder. This reduces the wait period from
100msec back to 50msec.
Signed-off-by: Mike Isely <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Martin Dauskardt <[email protected]> has determined that the
encoder has a much better chance of starting cleanly if we
deliberately hold off starting it util the video digitizer has had a
chance to run for at least 300msec first. These changes implement an
enforced 300msec wait in the state machine that orchestrates streaming
start / stop.
Signed-off-by: Mike Isely <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Videobuf is a moderately complex API which most V4L2 drivers should use,
but its documentation is...sparse. This document attempts to improve the
situation.
Signed-off-by: Jonathan Corbet <[email protected]>
Reviewed-by: Randy Dunlap <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The media spec contains several errors in the description of the
I/O streaming ioctls, in particular with respect to the userptr
I/O method.
The most important change is that you really need to set count
and index in v4l2_requestbuffer and v4l2_buffer when dealing with
user pointer streaming.
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
When the saa7111 driver was merged into saa7115 several bugs were introduced,
in particular with the saa7111a support as is used in the mxb.c driver.
This patch fixes the saa7111a support. This was tested with the mxb driver.
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
v4l2_device_register needs to be called before the i2c subdevs are loaded.
However, it was called afterwards in the saa7146 driver. This caused an oops
when loading the mxb and hexium drivers. The vv_init function is now split
into two: one registers the v4l2_device, the other does the rest of the
initialization. The three drivers that depend on this have been updated to
call the new vv_devinit function.
Thanks to Michael Hunold for reporting this.
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The function return value wasn't checked due to a missing variable
assignment.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The Asus EeePC T91 integrated webcam exposes a gain control in the
processing unit but stalls when the control is queried. Blacklist the
gain control for that camera.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
When setting a control, the V4L2 specification requires drivers to
either clamp the control value to the [minimum, maximum] range or return
the -ERANGE error.
Fix the driver to clamp control values to the valid range in
uvc_ctrl_set() and make sure the value differs from the minimum by an
integer multiple of step.
Signed-off-by: Laurent Pinchart <[email protected]>
Tested-by: Márton Németh <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The V4L2 specification states that out of bounds control values must
either be clamped to the valid range or result in a -ERANGE error code.
Fix the driver to return -ERANGE instead of -EINVAL when setting a menu
control to an invalid value.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Replace the UVC_GUID_FORMAT and UVC_GUID_ARGS macros with the new %pUl
printk format specifier.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This fixes timeout issues with some Logitech webcams. The timeout value
seems to match the one used in the Logitech Windows driver, so no
further increase should be necessary.
Signed-off-by: Laurent Pinchart <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Ensure that volume values are always in the allowed range. Otherwise,
it would be possible to set other bits in the AUD_VOL_CTL register or to
get a wrong sign in the AUD_BAL_CTL register.
Signed-off-by: Clemens Ladisch <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
This patch addes timb-radio to all configurations of the timberdale MFD.
Connected to the FPGA is a TEF6862 tuner and a SAA7706H DSP, the I2C
board info of these devices is passed via the timb-radio platform data.
Signed-off-by: Richard Röjfors <[email protected]>
Cc: [email protected]
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
The parenthesis was misplaced, tmp is set to 0 or break occurs,
while debugging opera1_usb_i2c_msgxfer() retval was not shown.
Signed-off-by: Roel Kluin <[email protected]>
CC: Marco Gittler <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
A small mistake on the last patch broke demod s-code setup for
XC3028L (firmware 3.2 and upper). Fix it.
Thanks-to: Stefan Ringel <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
There's one reported regression in Australia (DTV7) and some
reported troubles with newer firmwares found on xc3028l chips.
Rework the logic to improve tuner on those cases.
Thanks-to: Robert Lowery <[email protected]>
Thanks-to: Stefan Ringel <[email protected]>
Tested-by: Robert Lowery <[email protected]>
CC: stable.kernel.org
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Add a new module parameter "disable_ir" to disable IR support. Several
other drivers do that already, and this can be very handy for
debugging purposes.
Signed-off-by: Jean Delvare <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Fix sparse warnings in media/dvb/frontends:
drivers/media/dvb/frontends/dibx000_common.c:177:13: warning: non-ANSI function declaration of function 'systime'
drivers/media/dvb/frontends/tda665x.c:136:55: warning: right shift by bigger than source value
[[email protected]: removed the change at dib0090 since it got fixed by a previous patch]
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Userspace is allowed to coalesce events between SYNCs. And since the code
emits UP right after DOWN for the same key, it may be missed
(up+down=nothing). Add an extra sync in between UP and DOWN events to disable
the coalesce.
Signed-off-by: Jiri Slaby <[email protected]>
Cc: Patrick Boettcher <[email protected]>
Acked-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
I don't know if there are applications which rely on this name,
but after all it's a spelling mistake.
Signed-off-by: Lars Hanisch <[email protected]>
CC: Janne Granau <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
RADIO_TIMBERDALE selects RADIO_SAA7706H, but RADIO_SAA7706H
depends on I2C, so make RADIO_TIMBERDALE depend on I2C also;
otherwise there are build errors:
drivers/media/radio/saa7706h.c:139: error: implicit declaration of function 'i2c_master_send'
drivers/media/radio/saa7706h.c:148: error: implicit declaration of function 'i2c_transfer'
drivers/media/radio/saa7706h.c:372: error: implicit declaration of function 'i2c_check_functionality'
drivers/media/radio/saa7706h.c:375: error: implicit declaration of function 'i2c_adapter_id'
drivers/media/radio/saa7706h.c:438: error: implicit declaration of function 'i2c_add_driver'
drivers/media/radio/saa7706h.c:443: error: implicit declaration of function 'i2c_del_driver'
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Mocean Laboratories <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
When CONFIG_PM is not enabled, tlg2300 has build errors,
so handle that case, mostly via stubs.
drivers/media/video/tlg2300/pd-alsa.c:237: error: 'struct poseidon' has no member named 'msg'
drivers/media/video/tlg2300/pd-main.c:412: error: implicit declaration of function 'find_old_poseidon'
drivers/media/video/tlg2300/pd-main.c:418: error: implicit declaration of function 'set_map_flags'
drivers/media/video/tlg2300/pd-main.c:462: error: implicit declaration of function 'get_pd'
Cc: [email protected], LKML <[email protected]>, [email protected]
Signed-off-by: Randy Dunlap <[email protected]>
Cc: Huang Shijie <[email protected]>
Cc: Kang Yong <[email protected]>
Cc: Zhang Xiaobing <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>