04 Jul, 2007
4 commits
-
if the call to budget_register() fails in ttpci_budget_int(),
ttpci_budget_init() returns success. The attached patch will
fix this problem.Signed-off-by: Hartmut Birr
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Spotted and tested by Thomas Sattler .
cinergyT2.c does cancel_delayed_work() + flush_scheduled_work() while
holding cinergyt2->sem. This leads to deadlock because work->func()
needs the same mutex to complete. Another bug is that this code in fact
can't reliably stop the re-arming delayed_work.Convert this code to use cancel_rearming_delayed_work() and move it
out of ->sem. Another mutex, ->wq_sem, was added to protect against the
concurrent open/resume.This patch is a horrible hack to fix the lockup which happens in practice.
As Dmitry Torokhov pointed out this driver has other problems and needs
further changes.Signed-off-by: Oleg Nesterov
Signed-off-by: Mauro Carvalho Chehab -
v4l-info and other programs would loop indefinitely while querying the
tuners for cx88-blackbird cards.The cause was that vidioc_g_tuner didn't return an error value for
qctrl->id != 0, making the application think there is a never ending
list of tuners...This patch adds the same index check as done in vidioc_g_tuner() in
cx88-video.Signed-off-by: Jelle Foks
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
If one uses a V4L *one* application, such as vlc or mplayer's v4l driver, as
the first user after the driver is loaded, the driver wedges itself and will
never capture properly. Even if one uses a V4L2 application later, it still
won't work.If one uses a V4L *two* application first, such as tvtime or mplayer's v4l2
driver, then the driver will be ok. One can then run a V4L1 application, and
it will work.It turns out the problem is with norm changing and the crop support that was
added in 2.6.21. The driver defaults to PAL, and keeps the last norm it was
set too across opens. If one changes the norm via V4L1, the cropping
parameters are not reset like they should be, and they'll remain broken across
device opens.This patch removes the direct setting of btv->tvnorm in the V4L1 ioctl
VIDIOCSCHAN handler. The norm is set via the existing call to set_input(),
which calls set_tvnorm(), which will reset the cropping values now that it is
able to detect the norm change.Signed-off-by: Trent Piepho
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab
29 Jun, 2007
2 commits
-
This patch changes the test for the thread pid from >= 0 to > 0.
When the saa8134 driver initialization fails after a certain point, it goes
through the complete shutdown process for the driver. Part of shutting it
down includes tearing down the thread for tv audio.The test for tearing down the thread tests for >= 0. Since the dev
structure is kzalloc'd, the test will always be true if we haven't tried to
start the thread yet. We end up waiting on pid 0 to complete, which will
never happen, so we lock up.This bug was observed in Novell Bugzilla 284718, when request_irq() failed.
Signed-off-by: Jeff Mahoney
Acked-by: Mauro Carvalho Chehab
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
If one has a dependency chain (tristate)FOO depends on (bool)BAR depends on
(tristate)BAZ, build problems will result. If BAZ=m, then BAR can be set
y, which allows FOO=y. It's possible to have FOO=y && BAZ=m, which
wouldn't be allowed if FOO depended directly on BAZ. In effect, the bool
promotes the tristate from m to y.This ends up causing a problem with several menuconfigs that look like:
menuconfig BAR
bool
depends on BAZ [tristate]
if BAR
config FOO
tristate
endifThe solution used here is to add the dependencies of BAR to the if
statement, so that items in the if block will gain a direct
non-bool-promoted dependency on BAZ. This is how it would work if a menu
was used instead of an if block.Signed-off-by: Trent Piepho
Acked-by: Mauro Carvalho Chehab
Cc: "David S. Miller"
Acked-by: Jeff Garzik
Cc: Dominik Brodowski
Cc: Chas Williams
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
08 Jun, 2007
11 commits
-
Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
This patch moves flexcop-dma (currently used only by flexcop-pci) to
b2c2-flexcop-pci module, that is dependent on CONFIG_PCI, fixing the bug
as reported by Geert Uytterhoeven :drivers/media/dvb/b2c2/flexcop-dma.c uses the PCI DMA API, but
DVB_B2C2_FLEXCOP doesn't depend on PCI, causing the following problem on
PCI-less systems:| linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent'
| linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent'Apparently this is the flexcop DMA core, which is used by both
DVB_B2C2_FLEXCOP_PCI and DVB_B2C2_FLEXCOP_USB.Signed-off-by: Mauro Carvalho Chehab
-
Signed-off-by: Jose Alberto Reguero
Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
The VIDIOC_CROPCAP ioctl was missing in ivtv.
The handling of output video cropping was wrong. This has now been fixed.Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
V4L2_CAP_VIDEO_OUTPUT_POS was initially introduced for 2.6.22 but never
actually used: remove it before the final 2.6.22 is made.Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
- fixed the urb allocation part that was not taking into account the current alternate setting
this fixes usb_submit_urb returning -90 errno in isocIrq.
- fixed usb_submit_urb returning -1 errno in isocIrq (need to ignore usb urb with status==-ENOENT)
Acked-by: Dwaine P. GardenSigned-off-by: Thierry Merle
Signed-off-by: Mauro Carvalho Chehab -
Several people reported unreliable reception with the current driver.
Furthermore, STR and SNR values seem to be inverted.
This fix is based on a patch posted by Hartmut Hackman.
Thanks to Helmut Auer for testing and helping to optimize the patch.
tda826x:
- set baseband cut-off to 19 MHz
tda10086:
- change the parameters of the carrier recovery loop
- toggle register 0x02 between 0x35 (tuning) and 0x00 (locked)
- invert STR and SNR valuesSigned-off-by: Oliver Endriss
Signed-off-by: Mauro Carvalho Chehab -
Sliced VBI transfers use PIO instead of DMA. This was done inside the
interrupt handler, but since PIO accesses are very slow this meant that
a lot of time was spent inside the interrupt handler. All PIO copies are
now moved to a workqueue. This should fix various issues with missing time
ticks and remote key hits.Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
If this mutex_lock_interruptible() does fail due to signal_pending() then the
state of the driver will get trashed in interesting ways, because userspace
cannot and will not retry the close().Signed-off-by: Andrew Morton
Signed-off-by: Mauro Carvalho Chehab -
If the SAA7111 device is powered down, and requires re-initialisation when
the V4L device is opened (as on the NetWinder), the SAA7111 driver gets
completely confused about the current settings.The problem is centred around the way the driver keeps _two_ cached copies
of the current settings - one of the struct video_picture settings, and one
of the registers.When the decoder is re-initailised, the cached register settings are
overwritten, as are the values in the hardware registers. However, the
cached video_picture settings are not.Resolve this by removing the useless and buggy second level of caching for
video_picture. Instead, provide a function which updates register values
if and only if the value we are going to write to the register has changed.Signed-off-by: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Mauro Carvalho Chehab -
The recent changes on Kconfig broke compilation when VIDEO_DEV is compiled
as module. On some cases, drivers like VIDEO_BUF are compiled with 'y' option
instead of 'm':...
Thanks to: Toralf Forster for pointing this issue.
Signed-off-by: Mauro Carvalho Chehab
23 May, 2007
8 commits
-
A bug in the ov7670 sensor causes it to introduce noise unless the CLKRC
register is rewritten *after* setting the image mode. Naturally,
resetting CLKRC in this way will cause other modes to fail. So
carefully poke the register only when indicated.Signed-off-by: Jonathan Corbet
Signed-off-by: Mauro Carvalho Chehab -
The proper method for powering down the sensor on OLPC systems has
changed somewhat; in particular, the sensor must be powered down
completely (rather than simply told to power down) or the associated
"camera active" LED will stay on.Signed-off-by: Jonathan Corbet
Signed-off-by: Mauro Carvalho Chehab -
Allow to use SECAM-BG with the FI1216MF tuner.
The selection is done with the secam=B module argument.
The default behaviour should be the same as before.
Signed-off-by: Matthieu CASTET
Signed-off-by: Andrew Morton
Acked-by: Hartmut Hackmann
Signed-off-by: Mauro Carvalho Chehab -
dvb-core is not started early enough when device drivers that use dvb are
compiled in so dvb_register_device fails (silently) since dvb_class is
NULL, this runs dvb_init using subsys_initcall instead of module_init.dvb_register_device will now check the return value of class_device_create.
Signed-off-by: Simon Arlott
Signed-off-by: Trent Piepho
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Manu Abraham
Signed-off-by: Mauro Carvalho Chehab -
Reverted the change to struct v4l2_pix_format. I completely missed that
this struct was used by existing ioctls so that changing it broke the ABI.
I will have to think of another way of setting the top/left coordinates
but for now this change is reverted to preserve compatibility.Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Mauro Carvalho Chehab
-
ivtv were wrongly marked as dependent of USB.
Signed-off-by: Mauro Carvalho Chehab
16 May, 2007
1 commit
-
.. because video-buf.c requires PCI, and VIDEO_EM28XX selects it.
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
12 May, 2007
1 commit
-
* 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (44 commits)
V4L/DVB (5571): V4l1-compat: Make VIDIOCSPICT return errors in a useful way
V4L/DVB (5624): Radio-maestro.c cleanup
V4L/DVB (5623): Dsbr100.c Replace usb_dsbr100_do_ioctl to use video_ioctl2
V4L/DVB (5622): Radio-zoltrix.c cleanup
V4L/DVB (5621): Radio-cadet.c Replace cadet_do_ioctl to use video_ioctl2
V4L/DVB (5619): Dvb-usb: fix typo
V4L/DVB (5618): Cx88: Drop the generic i2c client from cx88-vp3054-i2c
V4L/DVB (5617): V4L2: videodev, allow debugging
V4L/DVB (5614): M920x: Disable second adapter on LifeView TV Walker Twin
V4L/DVB (5613): M920x: loosen up 80-col limit
V4L/DVB (5612): M920x: rename function prefixes from m9206_foo to m920x_foo
V4L/DVB (5611): M920x: replace deb_rc with deb
V4L/DVB (5610): M920x: remove duplicated code
V4L/DVB (5609): M920x: group like functions together
V4L/DVB (5608): M920x: various whitespace cleanups
V4L/DVB (5607): M920x: Initial support for devices likely manufactured by Dposh
V4L/DVB (5606): M920x: add "c-basic-offset: 8" to help emacs to enforce tabbing
V4L/DVB (5605): M920x: Add support for LifeView TV Walker Twin
V4L/DVB (5603): V4L: Prevent queueing queued buffers.
V4L/DVB (5602): Enable DiSEqC in Starbox II (vp7021a)
...
10 May, 2007
1 commit
-
Add "depends on HAS_IOMEM" to a number of menus to make them
disappear for s390 which does not have I/O memory.Signed-off-by: Martin Schwidefsky
09 May, 2007
12 commits
-
Among other things, VIDIOCSPICT sets the pixel format. Some drivers
don't support all formats, e.g. cx88 doesn't support the planar formats.
The compat code that translates VIDIOCSPICT into V4L2 ioctls doesn't pass
on any errors, so a userspace program doesn't know if it has selected an
unsupported pixel format.VIDIOCSPICT sets both the memory capture and overlay formats, and it's
possible that one will be set while the other will fail, e.g. cx88
doesn't even support overlay. Also, trying to set the overlay format
will fail for non-root users.Signed-off-by: Trent Piepho
Signed-off-by: Mauro Carvalho Chehab -
Removed unnecessary semaphore.
Signed-off-by: Douglas Schilling Landgraf
Signed-off-by: Mauro Carvalho Chehab -
Convert dsbr100 to use video_ioctl2
Signed-off-by: Douglas Schilling Landgraf
Signed-off-by: Mauro Carvalho Chehab -
Removed unnecessary .hardware member from struct zoltrix_radio
(video_device).Signed-off-by: Douglas Schilling Landgraf
Signed-off-by: Mauro Carvalho Chehab -
Convert radio-cadet to use video_ioctl2
Signed-off-by: Douglas Schilling Landgraf
Signed-off-by: Mauro Carvalho Chehab -
replace "streaming_crtl" with "streaming_ctrl"
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
Drop the generic client declared in cx88-vp3054-i2c: it's not used
anywhere. This shrinks cx88-vp3054-i2c.o by 29% on x86_64. Unless it
was there for later use?Signed-off-by: Jean Delvare
Signed-off-by: Mauro Carvalho Chehab -
videodev, allow debugging
fix typo? in videodev.c to allow debuggingSigned-off-by: Jiri Slaby
Signed-off-by: Mauro Carvalho Chehab -
Disable second adapter on LifeView TV Walker Twin while it doesn't work
properly.Signed-off-by: Aapo Tahkola
Signed-off-by: Nick Andrew
Signed-off-by: Mauro Carvalho Chehab -
Do not follow 80-col limit where it would cause inconsistency.
Signed-off-by: Aapo Tahkola
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Aapo Tahkola
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab -
deb_rc is used by the dvb-usb core framework. This patch replaces all
occurances of deb_rc with deb, in m920x.c, so that its clear that we're
not using dvb-usb's deb_rc.Signed-off-by: Aapo Tahkola
Signed-off-by: Michael Krufky
Signed-off-by: Mauro Carvalho Chehab