10 Oct, 2007
40 commits
-
PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo.
Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct.
So, to access it, a subroutine call is needed.This patch renames all occurences of those function calls to be
consistent with the video-buf split.Signed-off-by: Mauro Carvalho Chehab
http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981
Reviewed-by: Ricardo Cerqueira -
video-buf currently does two different tasks:
- Manages video buffers with a common code that allows
implementing all the V4L2 different modes of buffering;- Controls memory allocations
While the first task is generic, the second were written to support PCI DMA
Scatter/Gather needs. The original approach can't even work for those
video capture hardware that don't support scatter/gather.I did one approach to make it more generic. While the approach worked
fine for vivi driver, it were not generic enough to handle USB needs.This patch creates two different modules, one containing the generic
video buffer handling (videobuf-core) and another with PCI DMA S/G.
After this patch, it would be simpler to write an USB video-buf and a
non-SG DMA module.Signed-off-by: Mauro Carvalho Chehab
http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981
Reviewed-by: Ricardo Cerqueira -
coding-style repairs
Signed-off-by: Andrew Morton
Signed-off-by: Mauro Carvalho Chehab -
Adds an entry for the Typhoon Tv-Tuner PCI to bttv-cards.c
Signed-off-by: Sascha Sommer
Signed-off-by: Mauro Carvalho Chehab -
IR workqueue should be disabled during suspend. This avoids some troubles, like
the one reported on bug #8689:"The Hauppauge HVR 1100 ir-remote control does not work after resume from
suspend to ram or disk."This patch disables IR before suspending, re-enabling it after resume.
Thanks to Peter Poklop for reporting it and helping with
the fix.Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Peter Poklop -
Redoes the way the control word is stored and set.
The existing code was a lot more complicated than it needed to be.Signed-off-by: Trent Piepho
Signed-off-by: Douglas Schilling Landgraf
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Pekka Seppänen -
Frequency calculation to use better math. It's still the same
IF offset and step size (which are not the same as the datasheet says) as
the code was before. It's just more efficient and accurate.Signed-off-by: Trent Piepho
Reviewed-by: Pekka Seppänen
Signed-off-by: Douglas Schilling Landgraf
Signed-off-by: Mauro Carvalho Chehab -
Code cleanup for GemTek Radio card driver. Removed unnecessary / invalid
I/O commands and rewrote code for tuning on-board BU2614FS chip. Adds
several new module params for power users. Includes automatic device
probing.Signed-off-by: Pekka Seppanen
Signed-off-by: Douglas Schilling Landgraf
Reviewed-by: Trent Piepho
Signed-off-by: Mauro Carvalho Chehab -
Details now match with radio-gemtek.c, eg. no more different ports.
Included a short note about cards that should be compatible with
radio-gemtek module.Signed-off-by: Pekka Seppanen
Signed-off-by: Douglas Schilling Landgraf
Reviewed-by: Trent Piepho
Signed-off-by: Mauro Carvalho Chehab -
s/driver/drives/1
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Fixes use of parport_write_control() to match the newer interface that
requires explicit parport_data_reverse() and parport_data_forward() calls.
This eliminates the following error message and restores the original
intended behavior:parport0 (bw-qcam): use data_reverse for this!
Also increases threshold in qc_detect() from 300 to 400, as my camera often
results in a count of approx 330. Added a kernel error message to indicate
detection failure.Thanks Ray and Randy for your comments, and for pointing out that I
needed to reset the port to forward mode!Signed-off-by: Brett T. Warden
Acked-by: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Mauro Carvalho Chehab -
The pwc driver is defficient in locking, which can trigger an oops
when disconnecting.Signed-off-by: Oliver Neukum
CC: Luc Saillard
Signed-off-by: Mauro Carvalho Chehab -
By default, we allocate DMA buffers when actually reading from the video
capture device. On a system with 128MB or 256MB of ram, it's very easy
for that memory to quickly become fragmented. We've had users report
having 30+MB of memory free, but the cafe_ccic driver is still unable to
allocate DMA buffers.Our workaround has been to make use of the 'alloc_bufs_at_load' parameter
to allocate DMA buffers during device probing. This patch makes DMA
buffer allocation happen during device probe by default, and changes
the parameter to 'alloc_bufs_at_read'. The camera hardware is there,
if the cafe_ccic driver is enabled/loaded it should do its best to ensure
that the camera is actually usable; delaying DMA buffer allocation
saves an insignicant amount of memory, and causes the driver to be much
less useful.Signed-off-by: Andres Salomon
Acked-by: Jonathan Corbet
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
The name of the pll will be shown if forced via insmod option,
or if debug is enabled.Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Add a module option to force the dvb-pll module to use an alternate dvb-pll
description without having to recompile the kernel.Having a module option like this is useful in some cases, where the vendor
may release an alternate revision of the hardware using a different tuner,
but without changing the pci subsystem / usb device ids.This option is intended for debugging purposes _only_.
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Increased DVB_PLL_MAX from 16 to a figure that would never be reached in a
practical sense.Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Add a module option to dvb-pll, called "input" to specify which rf
input to use on devices with multiple rf inputs. If the module option
is not specified, then the driver will autoselect the rf input, as per
previous behavior.Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Store an instance ID in the dvb_pll_priv structure, so that module options
specific to a given pll may be used by the functions within the driver.When debug is turned on, print a message indicating which pll was attached
and it's instance id.Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
The pll-specific set() function will need access to the dvb_pll_priv
structure for new functionality. This patch gives access to this
structure to the required functions.Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
AverTV Studio 307 has only one composite input.
Signed-off-by: Stas Sergeev
Acked-by: Nickolay V. Shmyrev
Signed-off-by: Andrew Morton
Signed-off-by: Mauro Carvalho Chehab -
Fix the following dependency issue:
ERROR: "dvb_dmx_init" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_unregister_adapter" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_register_frontend" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_unregister_frontend" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_net_release" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_frontend_detach" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_dmxdev_release" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_dmx_swfilter" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_net_init" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_dmx_release" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_register_adapter" [drivers/media/video/video-buf-dvb.ko] undefined!
ERROR: "dvb_dmxdev_init" [drivers/media/video/video-buf-dvb.ko] undefined!ERROR: "mt2131_attach" [drivers/media/video/cx23885/cx23885.ko] undefined!
ERROR: "s5h1409_attach" [drivers/media/video/cx23885/cx23885.ko] undefined!Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
VIDEO_CX23885 must select DVB_PLL if !DVB_FE_CUSTOMISE for FusionHDTV5 Express
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
DVB-S TT 1500 must use the TT keymap.
Signed-off-by: Oliver Endriss
Signed-off-by: Mauro Carvalho Chehab -
vidioc_int_g_ifparm returns platform-specific information about the
interface settings used by the sensor. Support for [gs]_ext_clk has
been removed.Fix indentation and remove useless & characters.
Remove experiment for typechecking slave callback function arguments.
Signed-off-by: Sakari Ailus
Signed-off-by: Mauro Carvalho Chehab -
Remove support for g_ext_clk and s_ext_clk. The same functionality is
now handled by g_ifparm.Signed-off-by: Sakari Ailus
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Sakari Ailus
Signed-off-by: Mauro Carvalho Chehab -
This patch adds BT.656 interface settings for [gs]_ifparm.
Signed-off-by: Sakari Ailus
Signed-off-by: Mauro Carvalho Chehab -
vidioc_int_g_ifparm can be used to obtain hardware-specific information
about the interface used by the slave.Rearrange v4l2-int-device.h as well.
Also remove useless & characters.
Signed-off-by: Sakari Ailus
Signed-off-by: Mauro Carvalho Chehab -
There's a serious bug in saa6588.c, it uses a non-initialized spin_lock.
Funny thing is that it works fine with bttv, but completly freezes the
machine if e.g. saa7134 is loaded.Thanks to Derek Philip for reporting this bug on the rdsd-devel list.
This patch adds the missing spin_lock_init().
Signed-off-by: Hans J. Koch
Signed-off-by: Mauro Carvalho Chehab -
I2C adapters should only support I2C_M_REV_DIR_ADDR if they really have
to (i.e. if they are connected to a broken I2C device which needs this
deviation from the standard I2C protocol.) As no media chip driver
uses I2C_M_REV_DIR_ADDR, I don't think that the usbvision driver needs
to support it.Signed-off-by: Jean Delvare
Acked-by: Thierry Merle
Signed-off-by: Mauro Carvalho Chehab -
* I2C adapters aren't expected to handle I2C_M_NOSTART unless they
really have to. As the pvrusb2 driver doesn't support it, I take it
that it doesn't need it so it shouldn't mention it at all.
* I2C_FUNC_SMBUS_EMUL includes I2C_FUNC_SMBUS_BYTE_DATA so listing
both is redundant.Signed-off-by: Jean Delvare
Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
It's useful to see specific details for how the pvrusb2 driver is
figuring out things related to the video standard, independent of
other initialization activities. So let's set up a separate debug
mask bit for this and turn it on.Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
The v4l tveeprom logic tells us what video standards are supported by
the hardware, however it doesn't directly tell us what should be the
preferred initial standard. For example "NTSC/NTSC-J" devices are
reported by tveeprom as support NTSC-M and PAL-M, and while that might
be true, in the vast majority of cases NTSC-M is really what the user
is going to want. However the driver previously just arbitrarily
picked the "lowest numbered" standard as the initial default, which in
that case would have been PAL-M. (And making matters more confusing -
this only caused real problems on 24xxx devices because the saa7115 on
29xxx seems to autodetect the right answer anyway.) This change
implements an algorithm that uses the set of "supported" standards as
a hint to decide on the initial standard. This algorithm ONLY comes
into play if the driver isn't specifically told what to do; said
another way - the user can always still change the standard via the
sysfs interface, via the usual V4L methods, or even specified as a
module parameter. The idea here is only to pick a better starting
point if the user (or app) doesn't otherwise do something to set the
standard; otherwise this change has no real impact.Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
This is a bunch of cleanup in various places to improve behavior based
on actual device type being driven. While this doesn't actually
affect operation with existing devices, it cleans things up so that it
will be easier / more deterministic when other devices are added.
Ideally we should make stuff like this table-driven, but for now this
is just a series of small incremental (read: safe) improvements.Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
The pvrusb2 driver already has a method for extracting the FX2's
program memory back out to a user application; this ability is used to
facilitate manual firmware extraction as per the procedure documented
on the pvrusb2 web site. This change follows that pattern and
implements a corresponding method to grab the binary contents of the
PVR USB2 prom (which for PVR USB2 devices can contain information in
addition to the usual Hauppauge metadata).Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Mike Isely
Signed-off-by: Mauro Carvalho Chehab -
Fix SVideo input on KWorld DVB-T 220 boards. Without this patch, the
luma pin on the SVideo input is treated as a composite in, and the
chroma pin is ignored.Also, fix the radio, and provide a second composite input for people who
are used to the existing composite on SVideo connector behaviour.Signed-off-by: Simon Farnsworth
Reviewed-by: Hermann Pitton
Signed-off-by: Mauro Carvalho Chehab -
Store a pointer to the required i2c_bus so that we do not put the wrong
analog demod into standby.Signed-off-by: Michael Krufky
Signed-off-by: Steven Toth
Signed-off-by: Mauro Carvalho Chehab