Age | Commit message (Collapse) | Author |
|
From: Jesper Juhl <jesper.juhl@gmail.com>
This patch cleans up duplicate includes in
drivers/media/
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync:
Original patch description from the patch by Rafael J. Wysocki <rjw@sisk.pl>:
Freezer: make kernel threads nonfreezable by default
Currently, the freezer treats all tasks as freezable, except for the
kernel threads that explicitly set the PF_NOFREEZE flag for themselves.
This approach is problematic, since it requires every kernel thread to
either set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it
doesn't care for the freezing of tasks at all.
It seems better to only require the kernel threads that want to or need
to be frozen to use some freezer-related code and to remove any
freezer-related code from the other (nonfreezable) kernel threads, which
is done in this patch.
The patch causes all kernel threads to be nonfreezable by default (ie.
to have PF_NOFREEZE set by default) and introduces the set_freezable()
function that should be called by the freezable kernel threads in order
to unset PF_NOFREEZE. It also makes all of the currently freezable
kernel threads call set_freezable(), so it shouldn't cause any
(intentional) change of behaviour to appear. Additionally, it updates
documentation to describe the freezing of tasks more accurately.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Cyrill Gorcunov <gorcunov@gmail.com>
The patch adds checking of kthread_run return code and issues a message
if it fails.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Due to several internal API changes on kernel, kernel backward
compatibility were lost. Basically, compat.h should be the last include
for it to work properly.
This patch basically reorders kernel headers to allow backward compat to
work fine.
Also:
Some includes were added after some non-include macros, on old drivers.
Better to keep all includes at the beginning of the files.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Jelle Foks <jelle@foks.8m.com>
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 <jelle@foks.8m.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Jean Delvare <khali@linux-fr.org>
Clean up the use of structure templates in cx88-i2c and cx88-vp3054-i2c.
For one thing, a real template is supposed to be read-only. And in some
cases it's more efficient to initialize the few fields we need
individually.
This clean-up shrinks cx88-i2c.o by 33% and cx88-vp3054-i2c.o by 49%
(x86_64).
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
In the function, cx88_ir_handle_key:
- convert nested if statement to a switch..case block
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Edgar Pisani <episani@onqweb.com.au>
Signed-off-by: Edgar Pisani <episani@onqweb.com.au>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Jan Frey <jfrey@gmx.de>
- add support for the I2C based IR transceiver of the Hauppauge HVR-1300
- remove bad code from cx88-input.c
Signed-off-by: Jan Frey <jfrey@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Closes the issue opened on Kernel bugzilla:
http://bugzilla.kernel.org/show_bug.cgi?id=8383
There's no need to print timeout without debug turned on:
Apr 27 23:02:14 video kernel: cx88[1]/2-mpeg: cx8802_timeout
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
The following two pointers in struct cx8802_dev are unused - remove them:
void* fe_handle;
int (*fe_release)(void *handle);
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
This patch removes all static dependencies on the dvb-pll module.
All exported dvb_pll_desc's have been UNexported, and the caller
will reference the individual dvb_pll_desc by it's index in the
pll_list array.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Acked-by: Manu Abraham <manu@linuxtv.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
Now that cx88-blackbird is only accepting the official firmware image,
we no longer have any need to store the size of the firmware inside the
cx88 data structure.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Remove temporary support for older 256 kB firmwares.
ivtv, pvrusb2 and blackbird can now all handle the newer larger firmwares,
so support for the older (buggier) firmware can be removed.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Dmitry Torokhov <dtor at mail.ru>
In preparation for struct class_device -> struct device input
core conversion switch to using input_dev->dev.parent when
specifying device position in sysfs tree.
Signed-off-by: Dmitry Torokhov <dtor at mail.ru>
Acked-by: Thierry Merle <thierry.merle@free.fr>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Dmitry Torokhov <dtor@insightbb.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync:
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
kernel-sync:
The original kernel patch is from Jean Delvare <khali@linux-fr.org>
PCI: Cleanup the includes of <linux/pci.h>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab
kernel-sync:
The original patch description, from Randy Dunlap
<randy.dunlap@oracle.com>:
header cleaning: don't include smp_lock.h when not used
Remove includes of <linux/smp_lock.h> where it is not used/needed.
Suggested by Al Viro.
Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
Now that dvb-pll is being used properly in all cx88-dvb instances,
the cx88 driver no longer needs to store pll_desc nor pll_addr.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Enhance the dvb-pll definition of the fmd1216 tuner by adding an init sequence
and a sleep sequence.
The init sequence sets the AGC control register to 0xa0, selecting the fast
time constant and 112 dBuV take-over point. This the recommended value for
DVB-T operation.
The sleep sequence sets bit P4 (which is believed to turn the analog
demodulator on), turns off the tuning voltage, and sets the AGC control
register to 0x60 (external AGC voltage, the recommended value for analog
operation).
The existing dvb-pll users in the cx88 driver, listed below, will gain these
init and sleep sequences.
CX88_BOARD_HAUPPAUGE_HVR1100 Hauppauge WinTV-HVR1100 DVB-T/Hybrid
CX88_BOARD_HAUPPAUGE_HVR1100LP Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profi
CX88_BOARD_WINFAST_DTV2000H WinFast DTV2000 H
CX88_BOARD_HAUPPAUGE_HVR3000 Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DV
CX88_BOARD_HAUPPAUGE_HVR1300 Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encod
This non-dvb-pll user in the cx88 driver should only gain the sleep sequence,
as it already had an equivalent init sequence. The non-dvb-pll code for this
user is removed.
X88_BOARD_DNTV_LIVE_DVB_T_PRO digitalnow DNTV Live! DVB-T Pro
In these saa7134 driver, these non-dvb-pll users are converted to use dvb-pll:
SAA7134_BOARD_MD7134 Medion 7134
SAA7134_BOARD_ASUS_EUROPA2_HYBRID Asus Europa2 OEM
The saa7134 functions philips_fmd1216_tuner_init(),
philips_fmd1216_tuner_sleep(), and philips_fmd1216_tuner_set_params() are
deleted and the dvb-pll versions are used.
This should result in equivalent sleep, init, and tuning sequences being sent
to the tuner.
For the cxusb driver, only one board is effected:
USB_PID_MEDION_MD95700 Medion MD95700
This board used dvb_usb_tuner_init_i2c() and dvb_usb_tuner_set_params_i2c()
for init and tuning, respectively. These functions are effectively the same
as the dvb-pll versions. They call a tuner pass control function defined at
the dvb-usb level, but this does not matter, as this card does not have a
tuner pass control function (only the dib3000mb does). This board will gain
the sleep sequence, while init and tuning should be unchanged.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
If cx88 support is compiled into the kernel while vp3054 is left as a module,
the kernel will fail to link. Adjust the existing "#if" code in cx88 so
that it won't consider vp3054 to be supported in this case.
It might make sense to move vp3054 selection into the "customisation" menu
instead of a cx88 sub-option (though this is a cx88 feature, there is no extra
chip involved).
It might also make sense to use dvb_attach() to load vp3054 support.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Jean Delvare <khali@linux-fr.org>
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 <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
This patch removes duplicate code from cx88-dvb and saa7134-dvb that handles
rf input switching for the TUV1236d tuner. The functionality is added to
dvb-pll, where all the other code that handles the TUV1236d is kept.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
Rename dvb_pll_desc.setbw() to set(), and accept struct dvb_frontend_parameters
instead of passing both freq and bandwidth, so that this may be used as a
generic function.
In order to do this, dvb_pll_configure must also be altered in the same manner,
to take struct dvb_frontend_parameters instead of freq and bandwidth.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Adrian Bunk <bunk@stusta.de>
This patch makes two needlessly global functions static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Alexey Dobriyan <adobriyan@gmail.com>
error: 'DMA_32BIT_MASK' undeclared
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch went applied at the wrong board.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: C.masoyras <agiofws@gmail.com>
Fix GPIO to work with TV and Composite inputs.
Signed-off-by: C.masoyras <agiofws@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: vignesh.babu@wipro.com <vignesh.babu@wipro.com>
Replacing kmalloc/memset combination with kzalloc.
Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Jean Delvare <khali@linux-fr.org>
Add support for the S-Video and CVBS (composite) analog video inputs
of the Leadtek WinFast DTV1000 T adapter.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
cx88_print_irqbits were expecting a string pointer with 32 bytes. Better
to pass the string size and use ARRAY_SIZE on its calls.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
ATI HDTV Wonder needs to initialize some registers before allowing the
tuner to start working.
The current logic have lots of magic. This patch makes the code cleaner,
using ARRAY_SIZE() for the initialization array and using a
bidimensional array, instead of doing some stuff like:
&buffer[i+2][0]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
This patch fixes a few troubles on nxt200x implementation:
1) A nxt200x internal input control logic were done on both
cx88-dvb and saa7134-dvb;
2) The nx200x_set_pll_input callback were filling buffer, at the
5th position, without even testing if that buffer were filled;
3) a 5 byte buffer were written to the device, even if the
buffer were not properly initialized by calc_regs.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Michael Krufky <mkrufky@linuxtv.org>
There were many instances of 7-space indents spread throughout
the v4l-dvb tree.
This patch replaces the 7-space indents with tabs. The whitespace cleaner
script doesn't catch these, because it assumes that all indents are 8-space.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
The driver has long claimed to support mmap, but it didn't work at all. Some
of the dma buffer parameters weren't set, and since video_buf uses vmalloc to
allocate the buffer, a page callback is needed too.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
The driver kepts a static global array of snd_card pointers for each card
probed, which was never used.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
Rework the way the DMA buffer is handled and IRQs are generated.
ALSA uses a ring-buffer of multiple periods. Each period is supposed to
corrispond to one IRQ.
The existing driver was generating one interrupt per ring-buffer, as opposed
to per period. This meant that as soon as the IRQ was generated, the hardware
was already starting to re-write the beginning of the buffer. Since the DMA
happens on a per-line basis, there was only a narrow window to copy the data
out before the buffer was overwritten.
The cx88 core RISC program generator is modified so that it can set the IRQ
and counter flags to count every X lines of DMA transfer. This way we can
generate an interrupt every period instead of every full ring-buffer. Right
now only period of one line are supported, but it should be possible to
support longer periods. Note that a WRITE instruction generates an IRQ when
it starts, not when the transfer is finished. Thus to generate an IRQ when
line X is done, one must set the IRQ flag on the instruction that starts line
X+1, not the one that ends line X.
Change the line size so that there are four lines in the SRAM FIFO. If there
are not four lines, the analog output from the cx88's internal DACs is full of
clicks and pops.
Try to handle FIFO sync errors. Sometimes the chip generates many of these
errors before audio data starts. Up to 50 sync errors will be ignored and the
counter reset.
Have the IRQ handler save the RISC counter to the chip struct, and then have
the pointer callback use this to calculate the pointer position. We could
read the counter from the pointer callback, but sometimes the sync errors on
start up cause the counter to go crazy. ALSA sees this and thinks there has
been an overrun. The IRQ hander can avoid saving the counter position on
sync errors.
The chip "opened" flag wasn't necessary. ALSA won't try to open the same
substream multiple times. Probably this code was cut&pasted from the bt87x
driver, which has multiple sub-streams for one chip.
Do error checking for the videobuf mapping functions.
snd_card_cx88_runtime_free() is useless and can be deleted.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
The driver should now pass the 'busy' state of the device to the cx2341x
module whenever controls are set or tried. -EBUSY will be returned if the
device is busy and the user attempts to modify certain 'dangerous' controls.
It concerns controls that change the audio or video compression mode and bitrates.
The cx88-blackbird and pvrusb2 drivers currently always pass '0' (not busy)
to the cx2341x, effectively keeping the old behavior for now.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
When the risc instrunctions from the CMDS were printed, instruction arguments
weren't taken into account.
This changes output like:
cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]: risc1: 0x0cac2800 [ INVALID sol eol 23 21 19 18 13 count=2048 ]
cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]: risc3: 0x0cac2c00 [ INVALID sol eol 23 21 19 18 13 count=3072 ]
into:
cx88[0]: risc0: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]: risc1: 0x0cac2800 [ arg #1 ]
cx88[0]: risc2: 0x1d010400 [ write sol eol irq1 cnt0 count=1024 ]
cx88[0]: risc3: 0x0cac2c00 [ arg #1 ]
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|
|
From: Trent Piepho <xyzzy@speakeasy.org>
The attach code for HAUPPAUGE_HVR3000 and HAUPPAUGE_HVR1300 is exactly
the same as the code used by HAUPPAUGE_HVR1100, HAUPPAUGE_HVR1100LP, and
WINFAST_DTV2000H. So, those first two cards are added to the case block
used by the last three.
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
|