Commit Graph

603952 Commits

Author SHA1 Message Date
Hans Verkuil
f932af802c [media] v4l2-ioctl: zero the v4l2_bt_timings reserved field
This field should be zeroed. Both for s_dv_timings and for enum_dv_timings.
In fact, for the latter anything after the pad field can be zeroed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:37:20 -03:00
Hans Verkuil
8842316bbd [media] adv7604/adv7842: drop unused op_656_range and alt_data_sat fields
These platform_data fields are no longer needed, drop them.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:36:40 -03:00
Hans Verkuil
e3513f3f41 [media] ezkit/cobalt: drop unused op_656_range setting
The adv7604/adv7842 drivers now handle that register setting themselves
and need no input from platform data anymore.

This was a left-over from the time that the pixelport output format was
decided by the platform data.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:36:09 -03:00
Hans Verkuil
fd74246d2a [media] adv7604/adv7842: fix quantization range handling
Fix a number of bugs that appeared when support for mediabus formats was
added:

- Support for V4L2_DV_RGB_RANGE_FULL/LIMITED should only be enabled
  for HDMI RGB formats, not for YCbCr formats. Since, as the name
  says, this setting is for RGB only. So read the InfoFrame to check
  the format.

- the quantization range for the pixelport depends on whether the
  mediabus code is RGB or not: if it is RGB, then produce full range
  RGB values, otherwise produce limited range YCbCr values.

  This means that the op_656_range and alt_data_sat fields of the
  platform data are no longer used and these will be removed in a
  following patch.

- when setting up a new format the RGB quantization range settings
  were never updated. Do so, since this depends on the format.

- fix the log_status output which was confusing and incorrect.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:35:46 -03:00
Hans Verkuil
0a25a01251 [media] adv7511: fix quantization range handling
Commit 1fb69bfd29 (adv7511: improve
colorspace handling) introduced a number of bugs, specifically with
regards to YCbCr output and quantization range handling:

- if the output is not RGB, then disable the full-to-limited range
  CSC matrix since that is meant for RGB formats. YCbCr formats are
  always limited range, so there is nothing to convert. (OK, full
  range YCbCr is possible, but we don't support that right now).

- the mediabus code that was passed to adv7511_set_fmt was always cleared
  by the memset in adv7511_fill_format. This made it effectively impossible
  to select YCbCr output.

- adv7511_set_fmt never updated the rgb quantization range.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:33:56 -03:00
Hans Verkuil
afd620f81b [media] adv7511: drop adv7511_set_IT_content_AVI_InfoFrame
The IT Content bit has nothing to do with CE vs IT timings.
Delete this code. This will also fix a bug where this could
override the 'content type' control, which is actually the
correct place to set/clear the ITC bit.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:33:15 -03:00
Hans Verkuil
c93350a644 [media] af9033: fix compiler warnings
Fix two warnings:

af9033.c: In function 'af9033_read_status':
af9033.c:883:25: warning: 'snr_lut' may be used uninitialized in this function [-Wmaybe-uninitialized]
   const struct val_snr *snr_lut;
                         ^
af9033.c:952:25: warning: 'tmp' may be used uninitialized in this function [-Wmaybe-uninitialized]
   c->cnr.stat[0].svalue = tmp;
                         ^

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:32:39 -03:00
Andrey Utkin
e34f2a96a4 [media] media: solo6x10: increase FRAME_BUF_SIZE
In practice, devices sometimes return frames larger than current buffer
size, leading to failure in solo_send_desc().
It is not clear which minimal increase in buffer size would be enough,
so this patch doubles it, this should be safely assumed as sufficient.

Signed-off-by: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:32:03 -03:00
Matthew Leach
2a00932f08 [media] media: usbtv: prevent access to free'd resources
When disconnecting the usbtv device, the sound card is unregistered
from ALSA and the snd member of the usbtv struct is set to NULL.  If
the usbtv snd_trigger work is running, this can cause a race condition
where the kernel will attempt to access free'd resources, shown in
[1].

This patch fixes the disconnection code by cancelling any snd_trigger
work before unregistering the sound card from ALSA and checking that
the snd member still exists in the work function.

[1]:
 usb 3-1.2: USB disconnect, device number 6
 BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
 IP: [<ffffffff81093850>] process_one_work+0x30/0x480
 PGD 405bbf067 PUD 405bbe067 PMD 0
 Call Trace:
  [<ffffffff81093ce8>] worker_thread+0x48/0x4e0
  [<ffffffff81093ca0>] ? process_one_work+0x480/0x480
  [<ffffffff81093ca0>] ? process_one_work+0x480/0x480
  [<ffffffff81099998>] kthread+0xd8/0xf0
  [<ffffffff815c73c2>] ret_from_fork+0x22/0x40
  [<ffffffff810998c0>] ? kthread_worker_fn+0x170/0x170
 ---[ end trace 0f3dac5c1a38e610 ]---

Signed-off-by: Matthew Leach <matthew@mattleach.net>
Tested-by: Peter Sutton <foxxy@foxdogstudios.com>
Cc: stable@vger.kernel.org
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:31:08 -03:00
Hans Verkuil
f639983319 [media] vivid: set V4L2_CAP_TIMEPERFRAME
The vivid driver didn't set the V4L2_CAP_TIMEPERFRAME flag in s_parm for the
non-webcam inputs. This caused a v4l2-compliance fail.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:29:49 -03:00
Tiffany Lin
a874a170fa [media] mtk-vcodec: fix sparse warning
This patch fix sparse warning when running with parameters:
C=2 CF="-D__CHECK_ENDIAN__"

Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
Signed-off-by: PoChun Lin <pochun.lin@mediatek.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:29:22 -03:00
Fengguang Wu
35697a0d99 [media] mtk-vcodec: fix platform_no_drv_owner.cocci warnings
drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_drv.c:433:3-8: No need to set .owner here. The core will do it.

 Remove .owner field if calls are used which set it automatically

Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 13:28:14 -03:00
Hans Verkuil
53ae925160 [media] vidioc-g-dv-timings.rst: document interlaced defines
Document V4L2_DV_PROGRESSIVE and V4L2_DV_INTERLACED and
fix missing references.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 12:46:26 -03:00
Hans Verkuil
0a07ab9a80 [media] pixfmt-006.rst: add missing V4L2_YCBCR_ENC_SMPTE240M
Fix missing documentation, and its cross reference.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 12:31:10 -03:00
Mauro Carvalho Chehab
e70fb059a4 [media] doc-rst: fix a missing reference for V4L2_BUF_FLAG_LAST
Fix it by adding a header to the flat-table to match to
the list of define symbols.

As a side-effect, it also removes some exceptions from
videodev2.h.rst.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:49:17 -03:00
Hans Verkuil
f04f2d0e3e [media] v4l2-subdev.h: remove the control subdev ops
These are no longer used (finally!), so remove them.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:17:58 -03:00
Hans Verkuil
743eb09f4c [media] media/i2c: drop the last users of the ctrl core ops
Nobody is using these ops anymore, so remove these callbacks from
the subdev drivers that still have them.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:17:19 -03:00
Hans Verkuil
6ddd545368 [media] ivtv: use v4l2_g/s_ctrl instead of the g/s_ctrl ops
These ops are deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:16:44 -03:00
Hans Verkuil
5c030e4444 [media] cx18: use v4l2_g/s_ctrl instead of the g/s_ctrl ops
These ops are deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:15:51 -03:00
Hans Verkuil
7853c23717 [media] v4l2-flash-led: remove unused ops
These ops are deprecated and should not be used anymore (and in fact
they are not used at all).

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:15:26 -03:00
Hans Verkuil
c2c33c3437 [media] cx88: use wm8775_s_ctrl instead of the s_ctrl op
This op is deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:15:04 -03:00
Hans Verkuil
d715758dfe [media] cx231xx: use v4l2_s_ctrl instead of the s_ctrl op
This op is deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:14:27 -03:00
Hans Verkuil
b4237de0fb [media] via-camera: use v4l2_s_ctrl instead of the s_ctrl op
This op is deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:14:04 -03:00
Hans Verkuil
5f3cc487e0 [media] mcam-core: use v4l2_s_ctrl instead of the s_ctrl op
This op is deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:13:30 -03:00
Hans Verkuil
25bba36866 [media] usbvision: use v4l2_ctrl_g_ctrl instead of the g_ctrl op
This op is deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:12:59 -03:00
Hans Verkuil
b5b97f34d1 [media] pvrusb2: use v4l2_s_ctrl instead of the s_ctrl op
This op is deprecated and should not be used anymore.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:12:24 -03:00
Hans Verkuil
27f3fe203b [media] davinci: drop unused control callbacks
These callbacks are no longer used since the davinci drivers use the
control framework.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Prabhakar Lad <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:12:00 -03:00
Hans Verkuil
435c59ecfd [media] saa7164: drop unused saa7164_ctrl struct
No longer used, can be removed.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:11:28 -03:00
Hans Verkuil
77430f0396 [media] omap_vout: use control framework
Replace the old control code with the control framework.

This is one of the few remaining drivers that was not using this
framework.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 11:11:04 -03:00
Mauro Carvalho Chehab
bd6a63f2e6 [media] doc-rst: reorganize LIRC ReST files
Reorganize the LIRC rst files, using "-" instead of "_" on
their names, and creating a separate chapter for syscalls.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:43:04 -03:00
Mauro Carvalho Chehab
048eb3ef75 [media] doc-rst: document LIRC set mode ioctls
Add LIRC_SET_[REC|SEND]_MODE ioctls to the corresponding
GET functions, and put all LIRC modes altogether.

As now everything is already documented on its own ioctl
pages, get rid of lirc_ioctl.rst.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:59 -03:00
Mauro Carvalho Chehab
f27637f96f [media] doc-rst: document LIRC_SET_WIDEBAND_RECEIVER
Put documentation for this ioctl on a separate page and
improve it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:58 -03:00
Mauro Carvalho Chehab
ae94d4c9d4 [media] doc-rst: add documentation for LIRC_SET_MEASURE_CARRIER_MODE
Place documentation for this ioctl on its own page.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:57 -03:00
Mauro Carvalho Chehab
572c194b88 [media] doc-rst: document LIRC_SET_REC_TIMEOUT_REPORTS
Add a separate page for this ioctl and improve its documentation.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:56 -03:00
Mauro Carvalho Chehab
98a7b04eed [media] doc-rst: document LIRC_SET_REC_TIMEOUT
Add a separate page for this ioctl and adds the cross-references.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:56 -03:00
Mauro Carvalho Chehab
191fbb903b [media] doc-rst: document LIRC_SET_TRANSMITTER_MASK
Add proper documentation for this ioctl, providing some
additional information about its usage.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:55 -03:00
Mauro Carvalho Chehab
910f4461d1 [media] doc-rst: document LIRC set carrier ioctls
Put each ioctl on its own page and improve documentation, adding
cross-references for LIRC_SET_REC_CARRIER_RANGE and LIRC_SET_REC_CARRIER,
with can be used together to set a carrier frequency range.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:54 -03:00
Mauro Carvalho Chehab
5413b648d0 [media] doc-rst: document LIRC_GET_LENGTH ioctl
Put documentation for this ioctl on its own page.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:42:49 -03:00
Mauro Carvalho Chehab
76e23479f9 [media] doc-rst: document LIRC_GET_*_TIMEOUT ioctls
Improve the documentation for those ioctls, adding them to
a separate file, in order to look like the rest of the
book, and to later allow to generate a man page for those
ioctls.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:29:31 -03:00
Mauro Carvalho Chehab
978084b193 [media] doc-rst: document LIRC_SET_SEND_DUTY_CYCLE
Add a separate page for this ioctl.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 09:29:30 -03:00
Mauro Carvalho Chehab
6d9f4d799b [media] doc-rst: document LIRC_GET_REC_RESOLUTION
Improve the documentation for this ioctl, adding it to
a separate file, in order to look like the rest of the
book, and to later allow to generate a man page for this
ioctl.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 06:22:17 -03:00
Mauro Carvalho Chehab
dbe678dd21 [media] doc-rst: document ioctl LIRC_GET_REC_MODE
Move the documentation of this ioctl from lirc_ioctl to its
own file, and add a short description about the pulse mode
used by IR RX.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 06:15:31 -03:00
Mauro Carvalho Chehab
4ed030af4f [media] doc-rst: fix some lirc cross-references
Some references were broken. It was also mentioning LIRC_MODE_RAW,
with it is not implemented on current LIRC drivers.

So, fix the references.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-12 06:12:32 -03:00
Mauro Carvalho Chehab
3f3427c466 [media] doc-rst: document ioctl LIRC_GET_SEND_MODE
Move the documentation of this ioctl from lirc_ioctl to its
own file, and add a short description about the pulse mode
used by IR TX.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-11 13:07:41 -03:00
Mauro Carvalho Chehab
1a2e50a4df [media] doc-rst: Fix LIRC_GET_FEATURES references
The references pointed by LIRC_GET_FEATURES ioctl are broken.

Fix them.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-11 11:47:39 -03:00
Mauro Carvalho Chehab
76d816d835 [media] doc-rst: remove not used ioctls from documentation
As we removed those ioctls from the header file, do the
same at the documentation side.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-11 10:51:28 -03:00
Mauro Carvalho Chehab
d55f09abe2 [media] lirc.h: remove several unused ioctls
While reviewing the documentation gaps on LIRC, it was
noticed that several ioctls aren't used by any LIRC drivers
(nor at staging or mainstream).

It doesn't make sense to document them, as they're not used
anywhere. So, let's remove those from the lirc header.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-11 10:49:52 -03:00
Mauro Carvalho Chehab
2d14c31c00 [media] doc-rst: add media/uapi/rc/lirc-header.rst
changeset 68cd5e0bed ("[media] doc-rst: add LIRC header to the book")
did everything but adding the lirc-reader.rst :-p

My fault: I forgot to do a git add for this guy on such
changeset.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-11 10:45:28 -03:00
Mauro Carvalho Chehab
2779afef9e [media] doc-rst: Document ioctl LIRC_GET_FEATURES
The documentation for this ioctl was really crappy.

Add a better documentation, using the lirc.4 man pages as a
reference, plus what was written originally at the lirc-ioctl.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-11 10:31:19 -03:00
Mauro Carvalho Chehab
706f8a9975 [media] doc-rst: improve display of notes and warnings
There are several notes and warning mesages in the middle of
the media docbook. Use the ReST tags for that, as it makes
them visually better and hightlights them.

While here, modify a few ones to make them clearer.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-10 12:06:28 -03:00