18 Aug, 2013
28 commits
-
This module makes it easy to filter valid timings from the full list of
CEA and DMT timings based on the timings capabilities.Signed-off-by: Hans Verkuil
Acked-by: Lad, Prabhakar
Signed-off-by: Mauro Carvalho Chehab -
This particular DMT timing definition was duplicated in the header.
Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
Move tea575x from sound/i2c/other to drivers/media/radio
Includes Kconfig changes by Hans Verkuil.Signed-off-by: Hans Verkuil
Signed-off-by: Ondrej Zary
Acked-by: Takashi Iwai
Signed-off-by: Mauro Carvalho Chehab -
Move include/sound/tea575x-tuner.h to include/media/tea575x.h and update files that include it.
Signed-off-by: Ondrej Zary
Acked-by: Takashi Iwai
Signed-off-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
Deferred probe was added in order to avoid udev vs. Kernel firmware
download problems. It is not needed anymore.
https://bugzilla.redhat.com/show_bug.cgi?id=827538Signed-off-by: Antti Palosaari
Signed-off-by: Mauro Carvalho Chehab -
No need to access bInterfaceNumber via dvb_usb_v2 internals as driver
has it already.
That patch is prepare for dvb_usb_v2 deferred probe hack removal. It was
added due to udev firmware loading problems, but things are fixed after
that and it is not needed anymore.Signed-off-by: Antti Palosaari
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Antti Palosaari
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Antti Palosaari
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Antti Palosaari
Signed-off-by: Mauro Carvalho Chehab -
I did some tests against modulator (television signal generator) and this
seems to improve sensitivity a little bit on channel I used. Used device
was able to receive transmission just as weak signal as with Windows XP.
Thanks to Jacek for donating his non-working device. I cannot ask he to
test anymore...Reported-by: Jacek Konieczny
Signed-off-by: Antti Palosaari
Signed-off-by: Mauro Carvalho Chehab -
The VSP1 driver allows to define the maximum number of each module
such as RPF, WPF, and UDS in a platform data definition.
This suppresses operations for nonexistent or unused modules.Signed-off-by: Katsuya Matsubara
Signed-off-by: Laurent Pinchart
Acked-by: Sakari Ailus
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
Each source entity maintains a pointer to the counterpart sink
entity while an enabled link connects them. It should be managed by
the setup_link callback in the media controller framework at runtime.
However, enabled links which connect RPFs and WPFs that have an
equivalent index number are created during initialization.
This registers the pointer to a sink entity from the source entity
when an enabled link is created.Signed-off-by: Katsuya Matsubara
Signed-off-by: Laurent Pinchart
Acked-by: Sakari Ailus
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
The VSP1 is a video processing engine that includes a blender, scalers,
filters and statistics computation. Configurable data path routing logic
allows ordering the internal blocks in a flexible way.
Due to the configurable nature of the pipeline the driver implements the
media controller API and doesn't use the V4L2 mem-to-mem framework, even
though the device usually operates in memory to memory mode.
Only the read pixel formatters, up/down scalers, write pixel formatters
and LCDC interface are supported at this stage.Signed-off-by: Laurent Pinchart
Acked-by: Sakari Ailus
Signed-off-by: Mauro Carvalho Chehab -
NV16M and NV61M are planar YCbCr 4:2:2 and YCrCb 4:2:2 formats with a
luma plane followed by an interleaved chroma plane. The planes are not
required to be contiguous in memory, and the formats can only be used
with the multi-planar formats API.Signed-off-by: Laurent Pinchart
Reviewed-by: Sylwester Nawrocki
Reviewed-by: Sakari Ailus
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
Signed-off-by: Laurent Pinchart
Reviewed-by: Sylwester Nawrocki
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
The V4L2_MBUS_FMT_YUV10_1X30 code is documented as being equal to
0x2014, while the v4l2-mediabus.h header defines it as 0x2016. Fix the
documentation.Signed-off-by: Laurent Pinchart
Acked-by: Sakari Ailus
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
The vb2_fop_mmap() and vb2_fop_get_unmapped_area() functions are plug-in
implementation of the mmap() and get_unmapped_area() file operations
that calls vb2_mmap() and vb2_get_unmapped_area() on the queue
associated with the video device. Neither the
vb2_fop_mmap/vb2_fop_get_unmapped_area nor the
v4l2_mmap/vb2_get_unmapped_area functions in the V4L2 core take any
lock, leading to race conditions between mmap/get_unmapped_area and
other buffer-related ioctls such as VIDIOC_REQBUFS.
Fix it by taking the queue or device lock around the vb2_mmap() and
vb2_get_unmapped_area() calls.Signed-off-by: Laurent Pinchart
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
Explain how the two operations must handle formats and validate buffer
sizes when used with VIDIOC_CREATE_BUFS.Signed-off-by: Laurent Pinchart
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
The VIDIOC_CREATE_BUFS ioctl takes a format argument that must contain a
valid format supported by the driver. Clarify the documentation.Signed-off-by: Laurent Pinchart
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
The graph traversal API (media_entity_graph_walk_*) doesn't support
cyclic graphs and will fail to correctly walk a graph when circular
links exist. Support circular graph traversal by checking whether an
entity has already been visited before pushing it to the stack.Signed-off-by: Laurent Pinchart
Acked-by: Sakari Ailus
Acked-by: Hans Verkuil
Signed-off-by: Mauro Carvalho Chehab -
MFC v7 supports VP8 encoding and this patch adds support
for it in the driver.Signed-off-by: Arun Kumar K
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
This patch adds new V4L controls for VP8 encoding.
Signed-off-by: Kiran AVND
Signed-off-by: Arun Kumar K
Acked-by: Hans Verkuil
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
The patch modifies the helper function v4l2_ctrl_new_std_menu
to accept integer menu controls with standard menu items.Signed-off-by: Sylwester Nawrocki
Signed-off-by: Arun Kumar K
Acked-by: Hans Verkuil
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
Firmware version v7 is mostly similar to v6 in terms
of hardware specific controls and commands. So the hardware
specific opr_v6 and cmd_v6 are re-used for v7 also. This patch
updates the v6 files to handle v7 version also.Signed-off-by: Arun Kumar K
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
Adds variant data and core support for the MFC v7 firmware
Signed-off-by: Arun Kumar K
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
The patch adds the register definition file for new firmware
version v7 for MFC. New firmware supports VP8 encoding along with
many other features.Signed-off-by: Arun Kumar K
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
The MFC v6 specific code holds good for MFC v7 also as
the v7 version is a superset of v6 and the HW interface
remains more or less similar. This patch renames the macro
IS_MFCV6() to IS_MFCV6_PLUS() so that it can be used
for v7 also.Signed-off-by: Arun Kumar K
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
The patch updates few encoder buffer sizes for MFC v6.5
as per the udpdated user manual. The same buffer sizes
holds good for v7 firmware also.Signed-off-by: Kiran AVND
Signed-off-by: Arun Kumar K
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab
02 Aug, 2013
4 commits
-
As reported by Randy Dunlap:
When CONFIG_SND=m and CONFIG_SND_AC97_CODEC=m and
CONFIG_VIDEO_STK1160=y
CONFIG_VIDEO_STK1160_AC97=y
drivers/built-in.o: In function `stk1160_ac97_register':
(.text+0x122706): undefined reference to `snd_card_create'
drivers/built-in.o: In function `stk1160_ac97_register':
(.text+0x1227b2): undefined reference to `snd_ac97_bus'
drivers/built-in.o: In function `stk1160_ac97_register':
(.text+0x1227cd): undefined reference to `snd_card_free'
drivers/built-in.o: In function `stk1160_ac97_register':
(.text+0x12281b): undefined reference to `snd_ac97_mixer'
drivers/built-in.o: In function `stk1160_ac97_register':
(.text+0x122832): undefined reference to `snd_card_register'
drivers/built-in.o: In function `stk1160_ac97_unregister':
(.text+0x12285e): undefined reference to `snd_card_free'Reported-by: Randy Dunlap
Signed-off-by: Mauro Carvalho Chehab
Acked-by: Randy Dunlap
Acked-by: Ezequiel Garcia
Signed-off-by: Mauro Carvalho Chehab -
drivers/media/pci/cx23885/cx23885-video.c:420:5: warning: no previous prototype for 'cx23885_flatiron_write' [-Wmissing-prototypes]
int cx23885_flatiron_write(struct cx23885_dev *dev, u8 reg, u8 data)
^
drivers/media/pci/cx23885/cx23885-video.c:431:4: warning: no previous prototype for 'cx23885_flatiron_read' [-Wmissing-prototypes]
u8 cx23885_flatiron_read(struct cx23885_dev *dev, u8 reg)Signed-off-by: Mauro Carvalho Chehab
-
Apparently the Flatiron genereates an interrupt after the built-in self
test for each of its left and right channels has completed.Apparently Conexant wire-OR'ed the Flatiron's interrupt output with the
interrupt output of the CX23885 A/V core.Those interrupts need to be handled, otherwise, they generate an
interrrupt request storm.So:
- Add flatiron readreg and writereg functions prototypes
on a new header file;
- Modify the av interrupt handler to cleanup flatiron IRQs if no other
interrupt handling happens.Signed-off-by: Luis Alves
Acked-by: Andy Walls
Signed-off-by: Mauro Carvalho Chehab -
Removes unnecessary query of buffer state. The code already checks if stream is active or not.
Signed-off-by: Dean Anderson
Signed-off-by: Mauro Carvalho Chehab
01 Aug, 2013
5 commits
-
The use case is simple, if any rc device has allowed protocols =
RC_TYPE_LIRC and map_name = RC_MAP_LIRC set, the driver open will be never
called. The reason for this is, all of the key maps except lirc have some
KEYS in there map, so during rc_register_device process these keys are
matched against the input drivers and open is performed, so for the case
of RC_MAP_EMPTY, a vt/keyboard is matched and the driver open is
performed.
In case of lirc, there is no match and result is that there is no open
performed, however the lirc-dev will go ahead and create a /dev/lirc0
node. Now when lircd/mode2 opens this device, no data is available
because the driver was never opened.
Other case pointed by Sean Young, As rc device gets opened via the
input interface. If the input device is never opened (e.g. embedded with
no console) then the rc open is never called and lirc will not work
either. So that's another case.
lirc_dev seems to have no link with actual rc device w.r.t open/close.
This patch adds rc_dev pointer to lirc_driver structure for cases like
this, so that it can do the open/close of the real driver in accordance
to lircd/mode2 open/close.
Without this patch its impossible to open a rc device which has
RC_TYPE_LIRC ad RC_MAP_LIRC set.Signed-off-by: Srinivas Kandagatla
Signed-off-by: Mauro Carvalho Chehab -
This patch adds user count to rc_dev structure, the reason to add this
new member is to allow other code like lirc to open rc device directly.
In the existing code, rc device is only opened by input subsystem which
works ok if we have any input drivers to match. But in case like lirc
where there will be no input driver, rc device will be never opened.
Having this user count variable will be usefull to allow rc device to be
opened from code other than rc-main.
This patch also adds rc_open and rc_close functions for other drivers
like lirc to open and close rc devices. This functions safely increment
and decrement the user count. Other driver wanting to open rc device
should call rc_open and rc_close, rather than directly modifying the
rc_dev structure.Signed-off-by: Srinivas Kandagatla
Signed-off-by: Mauro Carvalho Chehab -
This patch enables decoding of h.264 and mpeg4 streams on CODA7541.
Queued output buffers are immediately copied into the bitstream
ringbuffer. A device_run can be scheduled whenever there is either
enough compressed bitstream data, or the CODA is in stream end mode.
Each successful device_run, data is read from the bitstream ringbuffer
and a frame is decoded into a free internal framebuffer. Depending on
reordering, a possibly previously decoded frame is marked as display
frame, and at the same time the display frame from the previous run
is copied out into a capture buffer by the rotator hardware.
The dequeued capture buffers are counted to send the EOS signal to
userspace with the last frame. When userspace sends the decoder stop
command or enqueues an empty output buffer, the stream end flag is
set to allow decoding the remaining frames in the bitstream
ringbuffer.
The enum_fmt/try_fmt functions return fixed capture buffer sizes
while the output queue is streaming, to allow better autonegotiation
in userspace.
A per-context buffer mutex is used to lock the picture run against
buffer dequeueing: if a job gets queued, then streamoff dequeues
the last buffer, and then device_run is called, bail out. For that
the interrupt handler has to be threaded.Signed-off-by: Philipp Zabel
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
Add coda_prepare_encode() and coda_finish_encode() functions. They are called
from coda_device_run() and coda_irq_handler(), respectively, before and after
the hardware picture run. This should make the following decoder support patch
easier to read, which will add the coda_prepare/finish_decode() equivalents.Signed-off-by: Philipp Zabel
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab -
This sets up IRAM areas used as temporary memory for the different
hardware units depending on the frame size.Signed-off-by: Philipp Zabel
Signed-off-by: Kamil Debski
Signed-off-by: Mauro Carvalho Chehab
31 Jul, 2013
3 commits
-
Patch to make TeVii S471 cards use the ts2020 tuner, since ds3000 driver no
longer contains tuning code.Signed-off-by: Johannes Koch
Signed-off-by: Mauro Carvalho Chehab -
All lirc drivers that can transmit, return EINVAL when they are passed
more than IR data than they can send. That is, except for two drivers
which I touched.Signed-off-by: Sean Young
Signed-off-by: Mauro Carvalho Chehab -
The lirc interface allows 255 u32 spaces and pulses, which are usec. If
the driver can handle this (e.g. winbond-cir) you can produce hours of
meaningless IR data and there is no method of interrupting it.Signed-off-by: Sean Young
Signed-off-by: Mauro Carvalho Chehab