8 years ago[media] rc: add locking to fix register/show race
Jarod Wilson [Wed, 11 May 2011 18:14:31 +0000]
[media] rc: add locking to fix register/show race

When device_add is called in rc_register_device, the rc sysfs nodes show
up, and there's a window in which ir-keytable can be launched via udev
and trigger a show_protocols call, which runs without various rc_dev
fields filled in yet. Add some locking around registration and
store/show_protocols to prevent that from happening.

The problem manifests thusly:

[64692.957872] BUG: unable to handle kernel NULL pointer dereference at 0000000000000090
[64692.957878] IP: [<ffffffffa036a4c1>] show_protocols+0x47/0xf1 [rc_core]
[64692.957890] PGD 19cfc7067 PUD 19cfc6067 PMD 0
[64692.957894] Oops: 0000 [#1] SMP
[64692.957897] last sysfs file: /sys/devices/pci0000:00/0000:00:03.1/usb3/3-1/3-1:1.0/rc/rc2/protocols
[64692.957902] CPU 3
[64692.957903] Modules linked in: redrat3(+) ir_lirc_codec lirc_dev ir_sony_decoder ir_jvc_decoder ir_rc6_decoder ir_rc5_decoder rc_hauppauge ir_nec
_decoder rc_core ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_mi
di_event snd_seq_midi_emul snd_emu10k1 snd_rawmidi snd_ac97_codec ac97_bus snd_seq snd_pcm snd_seq_device snd_timer snd_page_alloc snd_util_mem pcsp
kr tg3 snd_hwdep emu10k1_gp snd amd64_edac_mod gameport edac_core soundcore edac_mce_amd k8temp shpchp i2c_piix4 lm63 e100 mii uinput ipv6 raid0 rai
d1 ata_generic firewire_ohci pata_acpi firewire_core crc_itu_t sata_svw pata_serverworks floppy radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core
[last unloaded: redrat3]
[64692.957949] [64692.957952] Pid: 12265, comm: ir-keytable Tainted: G   M    W   2.6.39-rc6+ #2 empty empty/TYAN Thunder K8HM S3892
[64692.957957] RIP: 0010:[<ffffffffa036a4c1>]  [<ffffffffa036a4c1>] show_protocols+0x47/0xf1 [rc_core]
[64692.957962] RSP: 0018:ffff880194509e38  EFLAGS: 00010202
[64692.957964] RAX: 0000000000000000 RBX: ffffffffa036d1e0 RCX: ffffffffa036a47a
[64692.957966] RDX: ffff88019a84d000 RSI: ffffffffa036d1e0 RDI: ffff88019cf2f3f0
[64692.957969] RBP: ffff880194509e68 R08: 0000000000000002 R09: 0000000000000000
[64692.957971] R10: 0000000000000002 R11: 0000000000001617 R12: ffff88019a84d000
[64692.957973] R13: 0000000000001000 R14: ffff8801944d2e38 R15: ffff88019ce5f190
[64692.957976] FS:  00007f0a30c9a720(0000) GS:ffff88019fc00000(0000) knlGS:0000000000000000
[64692.957979] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[64692.957981] CR2: 0000000000000090 CR3: 000000019a8e0000 CR4: 00000000000006e0
[64692.957983] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[64692.957986] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[64692.957989] Process ir-keytable (pid: 12265, threadinfo ffff880194508000, task ffff88019a9fc720)
[64692.957991] Stack:
[64692.957992]  0000000000000002 ffffffffa036d1e0 ffff880194509f58 0000000000001000
[64692.957997]  ffff8801944d2e38 ffff88019ce5f190 ffff880194509e98 ffffffff8131484b
[64692.958001]  ffffffff8118e923 ffffffff810e9b2f ffff880194509e98 ffff8801944d2e18
[64692.958005] Call Trace:
[64692.958014]  [<ffffffff8131484b>] dev_attr_show+0x27/0x4e
[64692.958014]  [<ffffffff8118e923>] ? sysfs_read_file+0x94/0x172
[64692.958014]  [<ffffffff810e9b2f>] ? __get_free_pages+0x16/0x52
[64692.958014]  [<ffffffff8118e94c>] sysfs_read_file+0xbd/0x172
[64692.958014]  [<ffffffff8113205e>] vfs_read+0xac/0xf3
[64692.958014]  [<ffffffff8113347b>] ? fget_light+0x3a/0xa1
[64692.958014]  [<ffffffff811320f2>] sys_read+0x4d/0x74
[64692.958014]  [<ffffffff814c19c2>] system_call_fastpath+0x16/0x1b

Its a bit difficult to reproduce, but I'm fairly confident this has
fixed the problem.

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] mceusb: passing ep to request_packet is redundant
Jarod Wilson [Tue, 10 May 2011 17:09:59 +0000]
[media] mceusb: passing ep to request_packet is redundant

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] rc-winfast: fix inverted left/right key mappings
Jarod Wilson [Tue, 10 May 2011 14:59:46 +0000]
[media] rc-winfast: fix inverted left/right key mappings

Reported-by: Douglas Clowes <dclowes1@optusnet.com.au>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] ite-cir: finish tx before suspending
Jarod Wilson [Mon, 9 May 2011 19:53:17 +0000]
[media] ite-cir: finish tx before suspending

Continuing with IR transmit after resuming from suspend seems fairly
useless, given that the only place we can actually end up suspending is
after IR has been send and we're simply mdelay'ing. Lets simplify the
resume path by just waiting on tx to complete in the suspend path, then
we know we can't be transmitting on resume, and reinitialization of the
hardware registers becomes more straight-forward.

CC: Juan Jesús García de Soria <skandalfo@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] ite-cir: clean up odd spacing in ite8709 bits
Jarod Wilson [Mon, 9 May 2011 15:01:35 +0000]
[media] ite-cir: clean up odd spacing in ite8709 bits

There was some rather odd spacing in a few of the ite8709-specific
functions that made it hard to read those sections of code. This is just
a simple reformatting.

CC: Juan Jesús García de Soria <skandalfo@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] ite-cir: make IR receive work after resume
Jarod Wilson [Mon, 9 May 2011 14:48:33 +0000]
[media] ite-cir: make IR receive work after resume

Just recently acquired an Asus Eee Box PC with an onboard IR receiver
driven by ite-cir (ITE8713 sub-variant). Works out of the box with the
ite-cir driver in 2.6.39, but stops working after a suspend/resume
cycle. Its fixed by simply reinitializing registers after resume,
similar to what's done in the nuvoton-cir driver. I've not tested with
any other ITE variant, but code inspection suggests this should be safe
on all variants.

Reported-by: Stephan Raue <sraue@openelec.tv>
CC: Juan Jesús García de Soria <skandalfo@gmail.com>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] imon: clean up disconnect routine
Jarod Wilson [Thu, 28 Apr 2011 21:20:58 +0000]
[media] imon: clean up disconnect routine

- Eliminate a possible circular locking lockdep warning
- Make sure we don't try to unregister a vfd on a device w/a vga screen
- Always free imon context after devices are removed (display_close can
  just error out w/no context)

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] nuvoton-cir: minor tweaks to rc dev init
Jarod Wilson [Thu, 21 Apr 2011 18:21:47 +0000]
[media] nuvoton-cir: minor tweaks to rc dev init

- Set a default timeout (matching mceusb.c) and use
  ir_raw_event_store_with_filter, which leads to better behavior when
  using lirc userspace decoding with this hardware
- Fill in rx_resolution with the value we're using here (50us)
- Wire up input phys and device parent pointer
- Use device_init_wakeup() instead of device_set_wakeup_*()

Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Add M420 format support
Hans de Goede [Wed, 11 May 2011 12:56:20 +0000]
[media] uvcvideo: Add M420 format support

The M420 format is used by the Microsoft LifeCam Studio HD.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[laurent.pinchart@ideasonboard.com: split into v4l/uvcvideo patches]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] v4l: Add M420 format definition
Hans de Goede [Wed, 11 May 2011 12:56:20 +0000]
[media] v4l: Add M420 format definition

M420 is a hybrid YUV 4:2:0 packet/planar format. Two Y lines are
followed by an interleaved U/V line.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[laurent.pinchart@ideasonboard.com: split into v4l/uvcvideo patches]
[laurent.pinchart@ideasonboard.com: add documentation]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Add support for NOMMU arch
Bob Liu [Fri, 29 Apr 2011 10:11:35 +0000]
[media] uvcvideo: Add support for NOMMU arch

Add support to uvc driver for NOMMU arch including add function
uvc_queue_get_unmapped_area() and make some changes in uvc_queue_mmap().
So that uvc camera can be used on nommu arch like blackfin.

Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Revert "V4L/DVB: v4l2-dev: remove get_unmapped_area"
Bob Liu [Fri, 6 May 2011 08:20:09 +0000]
[media] Revert "V4L/DVB: v4l2-dev: remove get_unmapped_area"

This reverts commit c29fcff3daafbf46d64a543c1950bbd206ad8c1c.

Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: mt9m111: fix pixel clock
Teresa Gámez [Wed, 18 May 2011 13:41:45 +0000]
[media] V4L: mt9m111: fix pixel clock

This camera driver supports only rising edge, which is the default
setting of the device. The function mt9m111_setup_pixfmt() overwrites
this setting. So the driver actually uses falling edge.
This patch corrects that.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
[g.liakhovetski@gmx.de: removed superfluous register write]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: mt9v022: fix pixel clock
Teresa Gámez [Thu, 14 Apr 2011 14:39:57 +0000]
[media] V4L: mt9v022: fix pixel clock

The setup of the pixel clock is done wrong in the mt9v022 driver.
The 'Invert Pixel Clock' bit has to be set to 1 for falling edge
and not for rising. This is not clearly described in the data
sheet.

Tested on pcm037 and pcm027/pcm990.

Signed-off-by: Teresa Gámez <t.gamez@phytec.de>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: a missing mediabus code -> fourcc translation is not critical
Guennadi Liakhovetski [Wed, 18 May 2011 09:49:54 +0000]
[media] V4L: soc-camera: a missing mediabus code -> fourcc translation is not critical

soc_mbus_get_fmtdesc() returning NULL means only, that no standard
mediabus code -> fourcc conversion is known, this shouldn't be treated
as an error by drivers.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: add more format look-up entries
Guennadi Liakhovetski [Tue, 17 May 2011 13:44:03 +0000]
[media] V4L: soc-camera: add more format look-up entries

Add new look-up entries for all mediabus codes, for which respective
fourcc codes exist.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: add a new packing for YUV 4:2:0 type formats
Guennadi Liakhovetski [Fri, 20 May 2011 07:25:09 +0000]
[media] V4L: soc-camera: add a new packing for YUV 4:2:0 type formats

12-bit formats, similar to YUV 4:2:0 occupy 3 bytes for each two pixels
and cannot be described by any of the existing SOC_MBUS_PACKING_* macros.
This patch adds a new one SOC_MBUS_PACKING_1_5X8 to describe such
formats and extends soc_mbus_samples_per_pixel() to support it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: omap1-camera: fix huge lookup array
Guennadi Liakhovetski [Fri, 13 May 2011 16:11:38 +0000]
[media] V4L: omap1-camera: fix huge lookup array

Since V4L2_MBUS_FMT_* codes have become large and sparse, they cannot
be used as array indices anymore.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: avoid huge arrays, caused by changed format codes
Guennadi Liakhovetski [Fri, 13 May 2011 16:21:36 +0000]
[media] V4L: soc-camera: avoid huge arrays, caused by changed format codes

Recently mediabus pixel format codes have become a part of the user-
space API, at which time their values also have been changed from
contiguous numbers, running from 0 to sparse numbers with values
around 0x1000, 0x2000, 0x3000... This made them unsuitable for the
use as array indices. This patch switches soc-camera internal format
look-ups to not depend on values of those macros.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: add MIPI bus flags
Kassey Li [Thu, 7 Apr 2011 17:01:29 +0000]
[media] V4L: soc-camera: add MIPI bus flags

Signed-off-by: Kassey Lee <ygli@marvell.com>
Signed-off-by: Qing Xu <qingx@marvell.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: add JPEG support
Kassey Li [Fri, 20 May 2011 07:08:39 +0000]
[media] V4L: soc-camera: add JPEG support

Signed-off-by: Qing Xu <qingx@marvell.com>
Signed-off-by: Kassey Lee <ygli@marvell.com>
[g.liakhovetski@gmx.de: fixed compiler warning]
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: sh_mobile_ceu_camera: implement live cropping
Guennadi Liakhovetski [Mon, 28 Mar 2011 16:39:16 +0000]
[media] V4L: sh_mobile_ceu_camera: implement live cropping

PRELIMINARY: break out spinlock changes; consider multiple completing
feames, causing multiple complete() calles.

Add live crop support to the sh_mobile_ceu driver.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: soc-camera: add a livecrop host operation
Guennadi Liakhovetski [Mon, 28 Mar 2011 16:28:28 +0000]
[media] V4L: soc-camera: add a livecrop host operation

Add an soc-camera host livecrop operation to implement live zoom. If
a host driver implements it, it should take care to preserve output
frame format, then live crop doesn't break streaming.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: mx3_camera: implement .stop_streaming()
Guennadi Liakhovetski [Fri, 25 Mar 2011 08:24:01 +0000]
[media] V4L: mx3_camera: implement .stop_streaming()

The .stop_streaming() videobuf2 operation has to be implemented to
guarantee, that video buffers are not written to after a STREAMOFF.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] V4L: sh_mobile_ceu_camera: implement .stop_streaming()
Guennadi Liakhovetski [Thu, 24 Mar 2011 15:51:07 +0000]
[media] V4L: sh_mobile_ceu_camera: implement .stop_streaming()

The .stop_streaming() videobuf2 operation has to be implemented to
guarantee, that video buffers are not written to after a STREAMOFF.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] s5p-csis: Do not use uninitialized variables in s5pcsis_suspend
Sylwester Nawrocki [Wed, 18 May 2011 15:06:40 +0000]
[media] s5p-csis: Do not use uninitialized variables in s5pcsis_suspend

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] v4l: Add v4l2 subdev driver for S5P/EXYNOS4 MIPI-CSI receivers
Sylwester Nawrocki [Mon, 4 Apr 2011 12:44:19 +0000]
[media] v4l: Add v4l2 subdev driver for S5P/EXYNOS4 MIPI-CSI receivers

Add the subdev driver for the MIPI CSIS units available in S5P and
Exynos4 SoC series. This driver supports both CSIS0 and CSIS1
MIPI-CSI2 receivers.
The driver requires Runtime PM to be enabled for proper operation.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] v4l: Move s5p-fimc driver into Video capture devices
Sylwester Nawrocki [Mon, 4 Apr 2011 12:21:57 +0000]
[media] v4l: Move s5p-fimc driver into Video capture devices

s5p-fimc now also implements a camera capture video node so move
it under the "Video capture devices" Kconfig menu. Also update
the entry to reflect the driver's coverage of EXYNOS4 SoCs and
separate the Makefile entry from the soc-camera drivers set.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] v4l: Add V4L2_MBUS_FMT_JPEG_1X8 media bus format
Sylwester Nawrocki [Fri, 25 Mar 2011 15:09:43 +0000]
[media] v4l: Add V4L2_MBUS_FMT_JPEG_1X8 media bus format

Add V4L2_MBUS_FMT_JPEG_1X8 format and the corresponding Docbook
documentation.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - kinect: fix comments referring to color camera
Antonio Ospite [Thu, 21 Apr 2011 09:51:36 +0000]
[media] gspca - kinect: fix comments referring to color camera

Use the expression "video stream" instead of "color camera" which is
more correct as the driver supports the RGB and IR image on the same
endpoint.

Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - kinect: fix a typo s/steram/stream/
Drew Fisher [Thu, 21 Apr 2011 09:51:35 +0000]
[media] gspca - kinect: fix a typo s/steram/stream/

Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca - kinect: move communications buffers out of stack
Drew Fisher [Thu, 21 Apr 2011 09:51:34 +0000]
[media] gspca - kinect: move communications buffers out of stack

Move large communications buffers out of stack and into device
structure. This prevents the frame size from being >1kB and fixes a
compiler warning when CONFIG_FRAME_WARN=1024:

drivers/media/video/gspca/kinect.c: In function ‘send_cmd.clone.0’:
drivers/media/video/gspca/kinect.c:202: warning: the frame size of 1548 bytes is larger than 1024 bytes

Reported-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Drew Fisher <drew.m.fisher@gmail.com>
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] DVB: return meaningful error codes in dvb_frontend
Andreas Oberritter [Sun, 8 May 2011 23:03:34 +0000]
[media] DVB: return meaningful error codes in dvb_frontend

- Return values should not be ORed. Abort early instead.
- Return -EINVAL instead of -1.

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Kconfig: Fix indention of ---help--- for timerdale driver
Oliver Endriss [Fri, 6 May 2011 18:43:27 +0000]
[media] Kconfig: Fix indention of ---help--- for timerdale driver

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years agoDocBook/dvb: Improve description of the DVB API v5
Mauro Carvalho Chehab [Fri, 6 May 2011 15:32:03 +0000]
DocBook/dvb: Improve description of the DVB API v5

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] DiBxxxx: get rid of DMA buffer on stack
Olivier Grenie [Tue, 3 May 2011 15:27:33 +0000]
[media] DiBxxxx: get rid of DMA buffer on stack

This patch removes the remaining on-stack buffer for USB DMA transfer.
This patch also reduces the stack memory usage.

Cc: stable@kernel.org
Cc: Florian Mickler <florian@mickler.org>
Signed-off-by: Olivier Grenie <olivier.grenie@dibcom.fr>
Signed-off-by: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] via-camera: add MODULE_ALIAS
Daniel Drake [Fri, 29 Apr 2011 21:45:01 +0000]
[media] via-camera: add MODULE_ALIAS

This fixes autoloading of the module.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Acked-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx18: Fix warnings introduced during cleanup
Simon Farnsworth [Thu, 5 May 2011 12:42:36 +0000]
[media] cx18: Fix warnings introduced during cleanup

I misused the ktime API, and failed to remove some traces of the
in-kernel format conversion. Fix these, so the the driver builds
without warnings.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Make the API public
Laurent Pinchart [Sun, 21 Nov 2010 20:15:44 +0000]
[media] uvcvideo: Make the API public

Move the public API definitions to include/linux/uvcvideo.h and bump the
version number to 1.1.0. Compatibility with the old API is kept,
application can still be compiled against the private header and will
not break.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Return -ERANGE when userspace sets an unsupported menu entry
Laurent Pinchart [Sat, 30 Apr 2011 12:46:11 +0000]
[media] uvcvideo: Return -ERANGE when userspace sets an unsupported menu entry

Instead of passing the value down to the device and getting an error
back (or worse, crashing the firmware), return -ERANGE when the
requested menu entry is not supported.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Don't report unsupported menu entries
Laurent Pinchart [Sat, 30 Apr 2011 12:46:11 +0000]
[media] uvcvideo: Don't report unsupported menu entries

Supported menu entries are reported by the device in response to the
GET_RES query. Use the information to return -EINVAL to userspace for
unsupported values when enumerating menu entries.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Override wrong bandwidth value for Hercules Classic Silver
Laurent Pinchart [Fri, 25 Jun 2010 07:58:43 +0000]
[media] uvcvideo: Override wrong bandwidth value for Hercules Classic Silver

Set the FIX_BANDWIDTH quirk for the device.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Add support for JMicron USB2.0 XGA WebCam
Laurent Pinchart [Fri, 25 Jun 2010 07:58:43 +0000]
[media] uvcvideo: Add support for JMicron USB2.0 XGA WebCam

The camera requires the PROBE_MINMAX quirk. Add a corresponding entry
in the device IDs list

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Add support for V4L2_PIX_FMT_RGB565
Laurent Pinchart [Sun, 6 Mar 2011 11:32:04 +0000]
[media] uvcvideo: Add support for V4L2_PIX_FMT_RGB565

The TomTom navigation system used in the Sony XNV 660BT and 770BT
reports an RGB565 (RGBP) format, support it in the driver.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Add driver documentation
Martin Rubli [Wed, 1 Sep 2010 07:11:22 +0000]
[media] uvcvideo: Add driver documentation

This adds detailed documentation about the driver's extension unit control
features. Part of it has been adopted from the dynctrl.txt that used to be
available in the driver's previous Subversion repository.

The documentation has been rewritten to match the current implementation, in
particular to capture the new XU control support including UVCIOC_CTRL_QUERY.

Signed-off-by: Martin Rubli <martin_rubli@logitech.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
Laurent Pinchart [Sun, 21 Nov 2010 20:08:16 +0000]
[media] uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*

This makes the public driver API more uniform, in preparation of moving
uvcvideo.h to include/linux. Keep the old names for backward
compatibility with existing applications.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
Laurent Pinchart [Tue, 12 Oct 2010 15:11:30 +0000]
[media] uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}

Those ioctls are deprecated, list them in the features removal schedule
for 2.6.42.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
Martin Rubli [Sat, 2 Oct 2010 22:10:16 +0000]
[media] uvcvideo: Add UVCIOC_CTRL_QUERY ioctl

This ioctl extends UVCIOC_CTRL_GET/SET by not only allowing to get/set
XU controls but to also send arbitrary UVC commands to XU controls,
namely GET_CUR, SET_CUR, GET_MIN, GET_MAX, GET_RES, GET_LEN, GET_INFO
and GET_DEF. This is required for applications to work with XU controls,
so that they can properly query the size and allocate the necessary
buffers.

Signed-off-by: Martin Rubli <martin_rubli@logitech.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx18: Bump driver version to 1.5.0
Simon Farnsworth [Wed, 4 May 2011 11:39:07 +0000]
[media] cx18: Bump driver version to 1.5.0

To simplify maintainer support of this driver, bump the version to
1.5.0 - this will be the first version that is expected to support
mmap() for raw video frames.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx18: Clean up mmap() support for raw YUV
Simon Farnsworth [Tue, 3 May 2011 11:57:40 +0000]
[media] cx18: Clean up mmap() support for raw YUV

The initial version of this patch (commit
d5976931639176bb6777755d96b9f8d959f79e9e) had some issues:

 * It didn't correctly calculate the size of the YUV buffer for 4:2:2,
   resulting in capture sometimes being offset by 1/3rd of a picture.

 * There were a lot of variables duplicating information the driver
   already knew, which have been removed.

 * There was an in-kernel format conversion - libv4l can do this one,
   and is the right place to do format conversions anyway.

 * Some magic numbers weren't properly explained.

Fix all these issues, leaving just the move from videobuf to videobuf2
to do.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Acked-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cpia2: fix typo in variable initialisation
Mariusz Kozlowski [Sat, 26 Mar 2011 18:20:24 +0000]
[media] cpia2: fix typo in variable initialisation

Currently 'fh' initialises to whatever happens to be on stack. This
looks like a typo and this patch fixes that.

Signed-off-by: Mariusz Kozlowski <mk@lab.zgora.pl>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cxd2820r: switch automatically between DVB-T and DVB-T2
Antti Palosaari [Tue, 3 May 2011 23:31:36 +0000]
[media] cxd2820r: switch automatically between DVB-T and DVB-T2

Remove old DVB-T2 freq module param and detect DVB-T/T2 automatically.

Implementation is trial and error, if DVB-T does not lock try DVB-T2
and vice versa. That's done by replacing normal DVBFE_ALGO_SW with
DVBFE_ALGO_CUSTOM which gives better control for tuning process.

DVB-C still uses normal software ZigZag, DVBFE_ALGO_SW.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cxd2820r: whitespace fix
Antti Palosaari [Tue, 3 May 2011 23:21:59 +0000]
[media] cxd2820r: whitespace fix

Make checkpatch.pl happy by fixing whitespaces introduced by
commit 79e8b8e3b8cbf67130247a3f6d25732373fe2f34

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] em28xx: Disable audio for EM28174
Steve Kerrison [Mon, 2 May 2011 21:19:14 +0000]
[media] em28xx: Disable audio for EM28174

Signed-off-by: Steve Kerrison <steve@stevekerrison.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cxd2820r: make C, T, T2 and core components as linked objects
Steve Kerrison [Mon, 2 May 2011 21:19:13 +0000]
[media] cxd2820r: make C, T, T2 and core components as linked objects

Signed-off-by: Steve Kerrison <steve@stevekerrison.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Add support for PCTV nanoStick T2 290e [2013:024f]
Antti Palosaari [Thu, 7 Apr 2011 19:34:44 +0000]
[media] Add support for PCTV nanoStick T2 290e [2013:024f]

Supports DVB-T/T2/C, USB ID: 2013:024f.
Empia EM28174, Sony CXD2820R and NXP TDA18271HD/C2.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Sony CXD2820R DVB-T/T2/C demodulator driver
Antti Palosaari [Thu, 7 Apr 2011 19:27:43 +0000]
[media] Sony CXD2820R DVB-T/T2/C demodulator driver

It is very first DVB-T2 Linux driver!

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] em28xx: add support for EM28174 chip
Antti Palosaari [Thu, 7 Apr 2011 19:04:48 +0000]
[media] em28xx: add support for EM28174 chip

EM28174 is very similar as already supported EM2874.
I am not sure what are differences, but it could be analog support.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] em28xx: Multi Frontend (MFE) support
Antti Palosaari [Thu, 7 Apr 2011 18:51:52 +0000]
[media] em28xx: Multi Frontend (MFE) support

Register multiple FEs for same adapter. After that it is
possible to register two FEs for same adapter. For example
one for DVB-T and one for DVB-C.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] tda18271: add DVB-C support
Antti Palosaari [Thu, 7 Apr 2011 18:45:38 +0000]
[media] tda18271: add DVB-C support

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx24116: make FW DL split more readable
Antti Palosaari [Wed, 4 May 2011 20:23:09 +0000]
[media] cx24116: make FW DL split more readable

Change firmware download split, which I introduced few patch earlier,
a little bit to make it more readable as requested [1].

Anyhow, for some reason this seems to increase compiled binary size
52 bytes, on my AMD64 box, which is rather much for so small change.

[1] http://www.spinics.net/lists/linux-media/msg31968.html

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] anysee: add support for Anysee E7 S2
Antti Palosaari [Fri, 29 Apr 2011 16:55:02 +0000]
[media] anysee: add support for Anysee E7 S2

It is DVB-S/S2 USB box.

* DNBU10512IST NIM
 * STV0903 demod
 * STV6110 tuner

* Intersil ISL6423 LNB controller

Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: info@anysee.com
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] anysee: add support for Anysee E30 S2 Plus
Antti Palosaari [Thu, 28 Apr 2011 00:11:59 +0000]
[media] anysee: add support for Anysee E30 S2 Plus

It is USB DVB-S/S2 box.

Conexant cx24116/cx24118 demod tuner combo
Intersil ISL6423 LNB controller

Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: info@anysee.com
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx24116: add config option to split firmware download
Antti Palosaari [Thu, 28 Apr 2011 00:03:07 +0000]
[media] cx24116: add config option to split firmware download

It is very rare I2C adapter hardware which can provide 32kB I2C write
as one write. Add .i2c_wr_max option to set desired max packet size.
Split transaction to smaller pieces according to that option.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] media: fsl_viu: fix bug in streamon routine
Anatolij Gustschin [Tue, 12 Apr 2011 11:15:58 +0000]
[media] media: fsl_viu: fix bug in streamon routine

Currently video capturing using streaming I/O method
doesn't work if capturing to overlay buffer took place
before.

When enabling the stream we have to check the overlay
enable driver flag and reset it so that the interrupt
handler won't execute the overlay interrupt path after
enabling DMA in streamon routine. Otherwise the capture
interrupt won't be handled correctly causing non working
VIDIOC_DQBUF ioctl.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] fsl_viu: add VIDIOC_OVERLAY ioctl
Anatolij Gustschin [Wed, 4 May 2011 20:19:28 +0000]
[media] fsl_viu: add VIDIOC_OVERLAY ioctl

Currently the driver enables overlay when running
VIDIOC_S_FMT ioctl with fmt type V4L2_BUF_TYPE_VIDEO_OVERLAY.
Actually, this is wrong. Add proper VIDIOC_OVERLAY support
instead of using VIDIOC_S_FMT for overlay enable.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] gspca/stv06xx_pb0100: Don't potentially deref NULL in pb0100_start()
Jesper Juhl [Thu, 13 Jan 2011 22:05:47 +0000]
[media] gspca/stv06xx_pb0100: Don't potentially deref NULL in pb0100_start()

usb_altnum_to_altsetting() may return NULL. If it does we'll dereference a
NULL pointer in
drivers/media/video/gspca/stv06xx/stv06xx_pb0100.c::pb0100_start().
As far as I can tell there's not really anything more sensible than
-ENODEV that we can return in that situation, but I'm not at all intimate
with this code so I'd like a bit of review/comments on this before it's
applied.
Anyway, here's a proposed patch.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: Jean-Francois Moine <moinejf@free.fr>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Erik Andren <erik.andren@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] rc-core: use ir_raw_event_store_with_filter in winbond-cir
David Härdeman [Thu, 28 Apr 2011 15:13:27 +0000]
[media] rc-core: use ir_raw_event_store_with_filter in winbond-cir

Using ir_raw_event_store_with_filter() saves about 20 lines of code.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] rc-core: add trailing silence in rc-loopback tx
David Härdeman [Thu, 28 Apr 2011 15:13:32 +0000]
[media] rc-core: add trailing silence in rc-loopback tx

If an IR command is sent (using the LIRC userspace) to rc-loopback
which doesn't include a trailing space, the result is that the message
won't be completely decoded. In addition, "leftovers" from a previous
transmission can be left until the next one. Fix this by faking a long
silence after the end of TX data.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] rc-core: add TX support to the winbond-cir driver
David Härdeman [Thu, 28 Apr 2011 15:13:22 +0000]
[media] rc-core: add TX support to the winbond-cir driver

This patch adds preliminary IR TX capabilities to the
winbond-cir driver.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] rc-core: int to bool conversion for winbond-cir
David Härdeman [Thu, 28 Apr 2011 15:13:17 +0000]
[media] rc-core: int to bool conversion for winbond-cir

Using bool instead of an int helps readability a bit.

Signed-off-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] v4l: Add mt9v032 sensor driver
Detlev Casanova [Tue, 5 Apr 2011 12:06:21 +0000]
[media] v4l: Add mt9v032 sensor driver

The MT9V032 is a parallel wide VGA sensor from Aptina (formerly Micron)
controlled through I2C.

The driver creates a V4L2 subdevice. It currently supports binning and
cropping, and the gain, auto gain, exposure, auto exposure and test
pattern controls.

Signed-off-by: Detlev Casanova <detlev.casanova@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] STV0299 Register 02 on Opera1/Bsru6/z0194a/mantis_vp1033
Malcolm Priestley [Sun, 27 Mar 2011 01:03:47 +0000]
[media] STV0299 Register 02 on Opera1/Bsru6/z0194a/mantis_vp1033

Bits 4 and 5 on register 02 should always be set to 1.

Opera1/Bsru6/z0194a/mantis_vp1033

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] STV0299 incorrect standby setting issues register 02 (MCR)
Malcolm Priestley [Sun, 27 Mar 2011 00:57:33 +0000]
[media] STV0299 incorrect standby setting issues register 02 (MCR)

Issues with Register 02 causing spurious channel locking from standby.
Should have always bits 4 & 5 written to 1.
Lower nibble not used in any current driver. Usage if necessary can be
applied through initab to mcr_reg. stv0299 not out of standby before
writing inittab.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] fsl-viu: replace .ioctl by .unlocked_ioctl
Anatolij Gustschin [Sat, 19 Feb 2011 20:33:18 +0000]
[media] fsl-viu: replace .ioctl by .unlocked_ioctl

Use the core-assisted locking in fsl-viu driver and switch
to .unlocked_ioctl.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: don't use atomic_t for core->users
Jonathan Nieder [Sun, 1 May 2011 09:31:40 +0000]
[media] cx88: don't use atomic_t for core->users

users is always read or written with core->lock held.  A plain int is
simpler and faster.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: don't use atomic_t for core->mpeg_users
Jonathan Nieder [Sun, 1 May 2011 09:31:04 +0000]
[media] cx88: don't use atomic_t for core->mpeg_users

mpeg_users is always read or written with core->lock held except
in mpeg_release (where it looks like a bug).  A plain int is simpler
and faster.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: gracefully reject attempts to use unregistered cx88-blackbird driver
Jonathan Nieder [Sun, 1 May 2011 09:30:46 +0000]
[media] cx88: gracefully reject attempts to use unregistered cx88-blackbird driver

It should not be possible to enter mpeg_open and acquire core->lock
without the blackbird driver being registered, so just error out if it
is not.  This makes the code more readable and should prevent the bug
fixed by the patch "hold device lock during sub-driver initialization"
from resurfacing again.

Similarly, if we enter mpeg_release and acquire core->lock then either
the blackbird driver is registered (since open files keep it loaded)
or the sysadmin forced the driver's removal.  In the latter case the
state will be inconsistent and this is worth a loud warning.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: protect cx8802_devlist with a mutex
Jonathan Nieder [Sun, 1 May 2011 09:30:14 +0000]
[media] cx88: protect cx8802_devlist with a mutex

Add and use a mutex to protect the cx88-mpeg device list.  Previously
the BKL prevented races.

Based on work by Ben Hutchings <ben@decadent.org.uk>.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: hold device lock during sub-driver initialization
Jonathan Nieder [Sun, 1 May 2011 09:29:56 +0000]
[media] cx88: hold device lock during sub-driver initialization

cx8802_blackbird_probe makes a device node for the mpeg sub-device
before it has been added to dev->drvlist.  If the device is opened
during that time, the open succeeds but request_acquire cannot be
called, so the reference count remains zero.  Later, when the device
is closed, the reference count becomes negative --- uh oh.

Close the race by holding core->lock during probe and not releasing
until the device is in drvlist and initialization finished.
Previously the BKL prevented this race.

Reported-by: Andreas Huber <hobrom@gmx.at>
Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Cc: stable@kernel.org
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: fix locking of sub-driver operations
Jonathan Nieder [Sun, 1 May 2011 09:29:37 +0000]
[media] cx88: fix locking of sub-driver operations

The BKL conversion of this driver seems to have gone wrong.
Loading the cx88-blackbird driver deadlocks.

The cause: mpeg_ops::open in the cx2388x blackbird driver acquires the
device lock and calls the sub-driver's request_acquire, which tries to
acquire the lock again.  Fix it by clarifying the semantics of
request_acquire, request_release, advise_acquire, and advise_release:
now all will rely on the caller to acquire the device lock.

Based on work by Ben Hutchings <ben@decadent.org.uk>.

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=31962

Reported-by: Andi Huber <hobrom@gmx.at>
Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Cc: stable@kernel.org
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx88: protect per-device driver list with device lock
Jonathan Nieder [Sun, 1 May 2011 09:29:16 +0000]
[media] cx88: protect per-device driver list with device lock

The BKL conversion of this driver seems to have gone wrong.  Various
uses of the sub-device and driver lists appear to be subject to race
conditions.

In particular, some functions access drvlist without a relevant lock
held, which will race against removal of drivers.  Let's start with
that --- clean up by consistently protecting dev->drvlist with
dev->core->lock, noting driver functions that require the device lock
to be held or not to be held.

After this patch, there are still some races --- e.g.,
cx8802_blackbird_remove can run between the time the blackbird driver
is acquired and the time it is used in mpeg_release, and there's a
similar race in cx88_dvb_bus_ctrl.  Later patches will address the
remaining known races and the deadlock noticed by Andi.  This patch
just makes the semantics clearer in preparation for those later
changes.

Based on work by Ben Hutchings <ben@decadent.org.uk>.

Tested-by: Andi Huber <hobrom@gmx.at>
Tested-by: Marlon de Boer <marlon@hyves.nl>
Cc: stable@kernel.org
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Fix panic on loading earth-pt1
HIRANO Takahito [Sun, 1 May 2011 05:29:40 +0000]
[media] Fix panic on loading earth-pt1

Signed-off-by: HIRANO Takahito <hiranotaka@zng.info>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] usbvision: remove broken testpattern
Ondrej Zary [Wed, 27 Apr 2011 20:35:45 +0000]
[media] usbvision: remove broken testpattern

Enabling force_testpattern module parameter in usbvision causes kernel panic.
Things like that does not belong to the kernel anyway so the fix is easy.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] usbvision: add Nogatech USB MicroCam
Ondrej Zary [Wed, 27 Apr 2011 20:36:05 +0000]
[media] usbvision: add Nogatech USB MicroCam

Add Nogatech USB MicroCam PAL (NV3001P) and NTSC (NV3000N) support to
usbvision driver.
PAL version is tested, NTSC untested.
Data captured using usbsnoop, init_values are listed in the INF file along
with image dimensions, offsets and frame rates.

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] lmedm04: PID filtering changes
Malcolm Priestley [Fri, 22 Apr 2011 09:20:57 +0000]
[media] lmedm04: PID filtering changes

Improve PID filtering and program register 20 correctly.
 Make sure stream_on message is sent if streaming is off, otherwise
 PIDs are not registered.
 Move mutex outside lme2510_enable_pid.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] lmedm04: don't write to buffer without a mutex
Malcolm Priestley [Fri, 22 Apr 2011 09:07:40 +0000]
[media] lmedm04: don't write to buffer without a mutex

usb_buffer not inside mutex lock, waiting caller can alter buffer.
 Static added to lme2510_exit and lme2510_exit_int.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] IX2505V Keep I2C gate control alive
Malcolm Priestley [Fri, 22 Apr 2011 09:00:22 +0000]
[media] IX2505V Keep I2C gate control alive

Gate could close after first I2C message. On stv0288 it does.
 Keep 2nd and 3rd message I2C gate control alive.
 Remove unnecessary gate closing in this module.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Media, DVB, Siano, smsusb: Avoid static analysis report about 'use after...
Jesper Juhl [Thu, 21 Apr 2011 21:11:25 +0000]
[media] Media, DVB, Siano, smsusb: Avoid static analysis report about 'use after free'

In drivers/media/dvb/siano/smsusb.c we have this code:
 ...
               kfree(dev);

               sms_info("device %p destroyed", dev);
 ...

at least one static analysis tool (Coverity Prevent) complains about this
as a use-after-free bug.
While it's true that we do use the pointer variable after freeing it, the
only use is to print the value of the pointer, so there's not actually any
problem here. But still, silencing the complaint is trivial by just moving
the kfree() call below the sms_info(), so why not just do it?. It doesn't
change the workings of the code in any way, but it makes the tool shut up.
The patch below also removes a rather pointless blank line.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] tm6000: add detection based on eeprom name
Mauro Carvalho Chehab [Wed, 20 Apr 2011 21:43:24 +0000]
[media] tm6000: add detection based on eeprom name

On some situations, it is desired to use eeprom data to detect
the board type. This patch adds a logic for it and fixes 2 detection
issues:
1) 10Moons UT-821 uses a generic Trident ID. Other boards
also share the same ID. So, better to use an alternative way for
it;
2) Sometimes, HVR-900H is loaded with the default Trident
ID. This seems to be some hardware bug or race condition.

The new logic will only be enabled if the device is detected as
having a generic ID.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] dvb-usb: don't return error if stream stop
Malcolm Priestley [Sun, 17 Apr 2011 19:55:14 +0000]
[media] dvb-usb: don't return error if stream stop

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] dvb-usb return device errors to demuxer
Malcolm Priestley [Sat, 16 Apr 2011 16:30:32 +0000]
[media] dvb-usb return device errors to demuxer

Return device errors to demuxer from on/off streamming and
 pid filtering.

Please test this patch with all dvb-usb devices.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] lmedm04: Do not unlock mutex if mutex_lock_interruptible failed
Alexey Khoroshilov [Fri, 15 Apr 2011 20:40:17 +0000]
[media] lmedm04: Do not unlock mutex if mutex_lock_interruptible failed

There are a couple of places where mutex_unlock() is called even
if mutex_lock_interruptible() failed. The patch fixes the issue.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx231xx: add support for Kworld
Márcio Alves [Mon, 11 Apr 2011 22:57:15 +0000]
[media] cx231xx: add support for Kworld

[mchehab@redhat.com: avoided board renumberation, removed an unused #define
 and re-used the existing mb86a20s dvb attach code]
Signed-off-by: Márcio A Alves <froooozen@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] Speed up DVB TS stream delivery from DMA buffer into dvb-core's buffer
Marko Ristola [Fri, 8 Apr 2011 15:40:51 +0000]
[media] Speed up DVB TS stream delivery from DMA buffer into dvb-core's buffer

Avoid unnecessary DVB TS 188 sized packet copying from DMA buffer into stack.
Backtrack one 188 sized packet just after some garbage bytes when possible.
This obsoletes patch https://patchwork.kernel.org/patch/118147/

Signed-off-by: Marko Ristola <marko.ristola@kolumbus.fi>
Acked-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx23885: Don't leak firmware in cx23885_card_setup()
Jesper Juhl [Thu, 7 Apr 2011 19:23:48 +0000]
[media] cx23885: Don't leak firmware in cx23885_card_setup()

We leak the memory allocated to 'fw' (the firmware) when the variable goes
out of scope.
Fix the leak by calling release_firmware(fw) before 'fw' goes out of
scope.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] DVB, DiB9000: Fix leak in dib9000_attach()
Jesper Juhl [Thu, 7 Apr 2011 19:34:30 +0000]
[media] DVB, DiB9000: Fix leak in dib9000_attach()

If the second memory allocation in dib9000_attach() fails, we'll leak the
memory allocated by the first.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: Patrick Boettcher <patrick.boettcher@dibcom.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] cx18: mmap() support for raw YUV video capture
Steven Toth [Wed, 6 Apr 2011 11:32:56 +0000]
[media] cx18: mmap() support for raw YUV video capture

Add support for mmap method streaming of raw YUV video on cx18-based
hardware, in addition to the existing support for read() streaming of
raw YUV and MPEG-2 encoded video.

[simon.farnsworth@onelan.co.uk: I forward-ported this from Steven's original work,
 done under contract to ONELAN. The original code is at
 http://www.kernellabs.com/hg/~stoth/cx18-videobuf]

Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] tm6000: add CARDLIST
Stefan Ringel [Mon, 4 Apr 2011 20:18:44 +0000]
[media] tm6000: add CARDLIST

add CARDLIST

Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

8 years ago[media] s2255drv: jpeg enable module parameter
Sensoray Linux Development [Mon, 4 Apr 2011 18:23:03 +0000]
[media] s2255drv: jpeg enable module parameter

Adding jpeg enable module parameter.

Signed-off-by: Dean Anderson <linux-dev@sensoray.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>