Age | Commit message (Collapse) | Author |
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
As reported by hermann pitton <hermann-pitton@arcor.de>, some devices
has a different chip id for em2710 (likely the older ones):
em28xx: New device @ 480 Mbps (eb1a:2710, interface 0, class 0)
em28xx #0: Identified as EM2710/EM2750/EM2751 webcam grabber (card=22)
em28xx #0: em28xx chip ID = 17
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Thanks to hermann pitton <hermann-pitton@arcor.de> for pointing this new
variation.
Priority: normal
Tested-by: hermann pitton <hermann-pitton@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
em28xx doesn't have temporal scaling. However, on webcams, sensors are
capable of changing the output rate. So, VIDIOC_[G|S]_PARM ioctls should
be passed to the sensor for it to properly set frame rate.
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Implement g_parm/s_parm ioctls. Those are used to check the current
frame rate (in fps) and to set it to a value. In practice, there are
only 15 possible different speeds, due to chip limits.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Douglas Schilling Landgraf <dougsland@redhat.com>
Fixed eeprom hash table
Priority: normal
Signed-off-by: Douglas Schilling Landgraf <dougsland@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: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
The .buf_queue() V4L2 driver method is called under
spinlock_irqsave(q->irqlock,...), don't take the lock again inside the
function.
Reported-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
---
drivers/media/video/mx1_camera.c | 6 +-----
drivers/media/video/mx3_camera.c | 19 ++++++++++---------
drivers/media/video/pxa_camera.c | 6 +-----
drivers/media/video/sh_mobile_ceu_camera.c | 5 +----
4 files changed, 13 insertions(+), 23 deletions(-)
|
|
From: Randy Dunlap <randy.dunlap@oracle.com>
Fix build errors in zr364xx by adding selects:
zr364xx.c:(.text+0x195ed7): undefined reference to `videobuf_streamon'
zr364xx.c:(.text+0x196030): undefined reference to `videobuf_dqbuf'
zr364xx.c:(.text+0x1960c4): undefined reference to `videobuf_qbuf'
zr364xx.c:(.text+0x196123): undefined reference to `videobuf_querybuf'
zr364xx.c:(.text+0x196182): undefined reference to `videobuf_reqbufs'
zr364xx.c:(.text+0x196224): undefined reference to `videobuf_queue_is_busy'
zr364xx.c:(.text+0x196390): undefined reference to `videobuf_vmalloc_free'
zr364xx.c:(.text+0x196571): undefined reference to `videobuf_iolock'
zr364xx.c:(.text+0x196678): undefined reference to `videobuf_mmap_mapper'
zr364xx.c:(.text+0x196760): undefined reference to `videobuf_poll_stream'
zr364xx.c:(.text+0x19689a): undefined reference to `videobuf_read_one'
zr364xx.c:(.text+0x1969ec): undefined reference to `videobuf_mmap_free'
zr364xx.c:(.text+0x197862): undefined reference to `videobuf_queue_vmalloc_init'
zr364xx.c:(.text+0x197a28): undefined reference to `videobuf_streamoff'
zr364xx.c:(.text+0x198203): undefined reference to `videobuf_to_vmalloc'
zr364xx.c:(.text+0x198603): undefined reference to `videobuf_streamoff'
drivers/built-in.o: In function `free_buffer':
zr364xx.c:(.text+0x19930c): undefined reference to `videobuf_vmalloc_free'
drivers/built-in.o: In function `zr364xx_open':
zr364xx.c:(.text+0x19a7de): undefined reference to `videobuf_queue_vmalloc_init'
drivers/built-in.o: In function `read_pipe_completion':
zr364xx.c:(.text+0x19b17f): undefined reference to `videobuf_to_vmalloc'
Priority: normal
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@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: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
|
|
From: Julia Lawall <julia@diku.dk>
Error handling code following a kmalloc should free the allocated data.
Priority: normal
Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Erik Andrén <erik.andren@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: hermann pitton <hermann-pitton@arcor.de>
We have support for radio on saa7133/35/31e cards with tda8290/8275(a)
and 5.5MHz ceramic filter on the bridge chips since a while.
It was previously not tested, if this card supports it too, but the old
"ghost" radio with wrong filters doesn't work anymore.
Thanks go to Pham Thanh Nam and Laszlo Kustan for reporting it working
on that input.
Priority: normal
Signed-off-by: hermann pitton <hermann-pitton@arcor.de>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Define correct tuner in config. Radio now works fine
Priority: normal
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Register 0x13 seems to be a sort of image control, maybe gamma. Lower
values produce better images, while higher values increases the contrast
and shifts colors to green. 0xff produces a black image.
If this register is left alone, a random value can be found at the
register, producing weird results.
This register doesn't seem to affect tv streams.
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Silvercrest mt9v011 sensor produces a 640x480 image. However,
previously, the code were getting only half of the lines and merging two
consecutive frames to "produce" a 640x480 image.
With the addition of progressive mode, now em28xx is working with a full
image. However, when the number of lines is bigger than 240, the
beginning of some odd lines are filled with blank.
After lots of testing, and physically checking the device for a Xtal, it
was noticed experimentally that mt9v011 is using em28xx XCLK as its
clock. Due to that, changing XCLK value changes the maximum speed of the
stream.
At the tests, it were possible to produce up to 32 fps, using a 30 MHz
XCLK. However, at that rate, the artifacts happen even at 320x240. Lower
values of XCLK produces artifacts only at 640x480.
At some values of xclk (for example XCLKK = 6 MHz, 640x480), it is
possible to see an invalid sucession of artifacts with this pattern:
.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(where the dots represent the blanked pixels)
So, it seems that a waveform in the format of a ramp is interferring at
the image.
The cause of this interference is currently unknown. Some possibilities
are:
- electrical interference (maybe this device is broken?);
- some issue at mt9v011 programming;
- some bug at em28xx chip.
So, for now, let's be conservative and use a value of XCLK that we know
for sure that it won't cause artifacts.
As I'm waiting for more of such devices with different em28xx chipset
revisions, I'll have the opportunity to double check the issue with
other pieces of hardware.
Later patches can vary XCLK depending on the vertical resolutions, if a
proper fix is not discovered.
Priority: normal
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Mauro Carvalho Chehab <mchehab@redhat.com>
em28xx_pre_card_setup() is meant to contain board-specific initialization. Also,
as autodetection sometimes occur only after having i2c bus enabled, this
function may need to be called later.
Moving those setups to happen outside the function avoids calling it twice without
need and without duplicating output lines at dmesg.
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>
|
|
without it
From: Mauro Carvalho Chehab <mchehab@redhat.com>
V4L2 API (chapter 1.5) states that:
Drivers must implement all input ioctls when the device has one
or more inputs, all output ioctls when the device has one or more outputs.
When the device has any audio inputs or outputs the driver must set the
V4L2_CAP_AUDIO flag in the struct v4l2_capability returned by the
VIDIOC_QUERYCAP ioctl.
So, devices without audio input should return -EINVAL.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Devin Heitmueller <dheitmueller@linuxtv.org>
Add support for the remote control that comes with the Cinergy Hybrid T USB XS
Thanks to Jelle de Jong for providing sample hardware to test with.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Cc: Jelle de Jong <jelledejong@powercraft.nl>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
A user discovered that the Geniatech x8000 encountered a regression when
the xc3028 power management was introduced. The xc3028 never recovers after
setting the powerdown register, which is probably because the xc3028 reset
GPIO is not properly configured. Since I do not have access to the hardware
and thus cannot determine the correct GPIO configuration, just disable xc3028
power management on this board, which fixes the regression.
Thanks to user "ritec" for reporting the issue and testing the fix.
Priority: high
Cc: rictec <rictec@netcabo.pt>
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
The introduction of the zl10353 i2c gate control broke support for the
Geniatech board (which is not behind an i2 gate). Add the needed parameter.
Priority: high
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Theodore Kilgore <kilgota@auburn.edu>
Priority: normal
Signed-off-by: Theodore Kilgore <kilgota@auburn.edu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
|
|
From: Jean-Francois Moine <moinejf@free.fr>
Priority: normal
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
|
|
From: Laurent Pinchart <laurent.pinchart@skynet.be>
The iSight sends non-UVC status events through the interrupt endpoint. Those
invalid events are reported to the kernel log, resulting in a log flood.
Only log the events when the UVC_TRACE_STATUS flag is set.
Priority: high
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
|
|
From: Marton Nemeth <nm127@freemail.hu>
The vidioc_s_std() is not necessary when vdev->tvnorms == 0.
Priority: normal
Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
|
|
From: Laurent Pinchart <laurent.pinchart@skynet.be>
Restructure the UVC descriptors parsing code to handle multiple streaming
interfaces. The driver now creates a uvc_video_chain instance for each chain
detected in the UVC control interface descriptors, and tries to register one
video device per streaming endpoint.
Priority: normal
Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
|
|
From: Erik Andrén <erik.andren@gmail.com>
Priority: high
Signed-off-by: Erik Andrén <erik.andren@gmail.com>
|
|
From: Erik Andrén <erik.andren@gmail.com>
Add vflip quirk for the Fujitsu Siemens Amilo Pa 2548
Priority: normal
Signed-off-by: Erik Andrén <erik.andren@gmail.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: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Remove unused variable from when I introduced the g_std() function.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Remove redundant call to set the vinctrl register. This eliminates any
ambiguity as to how the register is configured (since it is now always set in
em28xx_set_outfmt).
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
We need to implement the g_std call, or else the default norm always gets
returned, which breaks VBI capturing if you had changed the standard to NTSC
using s_std.
I had temporarily changed the default norm to NTSC so that zvbi-ntsc-cc
wouldn't choke, so now that we are returning the correct value, switch it back
to PAL as the default.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Change the code so we only claim to support VBI if the underlying chipset
actually has the support.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Do not create the VBI device in cases where VBI is not supported on the target
em28xx chip.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Douglas Schilling Landgraf <dougsland@redhat.com>
Added Kworld DVD Maker 2
Thanks to C Western <l@c-m-w.me.uk> for reporting this board.
Priority: normal
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Warn when the desired device node number is already in use, except when
the new video_register_device_no_warn function is called since in some
use-cases that warning is not relevant.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
There are some subtle differences in the way the devnode numbers are
handled depending on whether the FIXED_MINOR_RANGES config option is
set. Add some simple wrapper functions to handle that correctly.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Remove an unreferenced variable introduced during the VBI introduction.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
The current locking infrastructure didn't support having multiple fds accessing
the device (such as video and vbi). Rework the locking infrastructure,
borrowing the design from cx88.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
When adding support for both video and VBI, I missed the mmap ioctl. Add
the missing call.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Add support for raw VBI capture for the em28xx bridge, currently only for
NTSC. Support for PAL capture to follow shortly (including the removal of
numerous hard-coded NTSC-specific sizes for capture buffers, etc).
Note that the code currently changes the default current norm from PAL to
NTSC (so that zvbi-ntsc-cc works properly). The default norm really should
be moved into a board-level parameter.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Add code enabling the VBI registers for variants of the em28xx chip that
support VBI, and make sure the isoc streaming code continues to work for
the video component of the stream (note the video and vbi data arrive
intermixed on the same isoc pipe).
Note that this version just drops the actual VBI data onto the floor as
opposed to processing it. The "#ifdef 0" tags are for the videobuf code that
appears in the next patch in this series.
We created a separate version of the isoc_copy version for parsing the version
of the stream that includes VBI data. In theory, they might be able to be
merged at some point in the future, but the initial goal is to ensure that we
do not cause any regressions with devices that do not have VBI support.
This work was sponsored by EyeMagnet Limited.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|
|
From: Devin Heitmueller <dheitmueller@kernellabs.com>
Properly document the video input control register, in preparation for the
addition of VBI support. Note this patch makes no functional changes.
Priority: normal
Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
|