summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-09-05soc: ti/knav_dma: include dmaengine headerArnd Bergmann1-0/+2
A header file cleanup apparently caused a build regression with one driver using the knav infrastructure: In file included from drivers/net/ethernet/ti/netcp_core.c:30:0: include/linux/soc/ti/knav_dma.h:129:30: error: field 'direction' has incomplete type enum dma_transfer_direction direction; ^~~~~~~~~ drivers/net/ethernet/ti/netcp_core.c: In function 'netcp_txpipe_open': drivers/net/ethernet/ti/netcp_core.c:1349:21: error: 'DMA_MEM_TO_DEV' undeclared (first use in this function); did you mean 'DMA_MEMORY_MAP'? config.direction = DMA_MEM_TO_DEV; ^~~~~~~~~~~~~~ DMA_MEMORY_MAP drivers/net/ethernet/ti/netcp_core.c:1349:21: note: each undeclared identifier is reported only once for each function it appears in drivers/net/ethernet/ti/netcp_core.c: In function 'netcp_setup_navigator_resources': drivers/net/ethernet/ti/netcp_core.c:1659:22: error: 'DMA_DEV_TO_MEM' undeclared (first use in this function); did you mean 'DMA_DESC_HOST'? config.direction = DMA_DEV_TO_MEM; As the header is no longer included implicitly through netdevice.h, we should include it in the header that references the enum. Fixes: 0dd5759dbb1c ("net: remove dmaengine.h inclusion from netdevice.h") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-05net/ncsi: fix ncsi_vlan_rx_{add,kill}_vid referencesArnd Bergmann2-0/+12
We get a new link error in allmodconfig kernels after ftgmac100 started using the ncsi helpers: ERROR: "ncsi_vlan_rx_kill_vid" [drivers/net/ethernet/faraday/ftgmac100.ko] undefined! ERROR: "ncsi_vlan_rx_add_vid" [drivers/net/ethernet/faraday/ftgmac100.ko] undefined! Related to that, we get another error when CONFIG_NET_NCSI is disabled: drivers/net/ethernet/faraday/ftgmac100.c:1626:25: error: 'ncsi_vlan_rx_add_vid' undeclared here (not in a function); did you mean 'ncsi_start_dev'? drivers/net/ethernet/faraday/ftgmac100.c:1627:26: error: 'ncsi_vlan_rx_kill_vid' undeclared here (not in a function); did you mean 'ncsi_vlan_rx_add_vid'? This fixes both problems at once, using a 'static inline' stub helper for the disabled case, and exporting the functions when they are present. Fixes: 51564585d8c6 ("ftgmac100: Support NCSI VLAN filtering when available") Fixes: 21acf63013ed ("net/ncsi: Configure VLAN tag filter") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-05bpf: fix numa_node validationEric Dumazet1-1/+2
syzkaller reported crashes in bpf map creation or map update [1] Problem is that nr_node_ids is a signed integer, NUMA_NO_NODE is also an integer, so it is very tempting to declare numa_node as a signed integer. This means the typical test to validate a user provided value : if (numa_node != NUMA_NO_NODE && (numa_node >= nr_node_ids || !node_online(numa_node))) must be written : if (numa_node != NUMA_NO_NODE && ((unsigned int)numa_node >= nr_node_ids || !node_online(numa_node))) [1] kernel BUG at mm/slab.c:3256! invalid opcode: 0000 [#1] SMP KASAN Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: CPU: 0 PID: 2946 Comm: syzkaller916108 Not tainted 4.13.0-rc7+ #35 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 task: ffff8801d2bc60c0 task.stack: ffff8801c0c90000 RIP: 0010:____cache_alloc_node+0x1d4/0x1e0 mm/slab.c:3292 RSP: 0018:ffff8801c0c97638 EFLAGS: 00010096 RAX: ffffffffffff8b7b RBX: 0000000001080220 RCX: 0000000000000000 RDX: 00000000ffff8b7b RSI: 0000000001080220 RDI: ffff8801dac00040 RBP: ffff8801c0c976c0 R08: 0000000000000000 R09: 0000000000000000 R10: ffff8801c0c97620 R11: 0000000000000001 R12: ffff8801dac00040 R13: ffff8801dac00040 R14: 0000000000000000 R15: 00000000ffff8b7b FS: 0000000002119940(0000) GS:ffff8801db200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020001fec CR3: 00000001d2980000 CR4: 00000000001406f0 Call Trace: __do_kmalloc_node mm/slab.c:3688 [inline] __kmalloc_node+0x33/0x70 mm/slab.c:3696 kmalloc_node include/linux/slab.h:535 [inline] alloc_htab_elem+0x2a8/0x480 kernel/bpf/hashtab.c:740 htab_map_update_elem+0x740/0xb80 kernel/bpf/hashtab.c:820 map_update_elem kernel/bpf/syscall.c:587 [inline] SYSC_bpf kernel/bpf/syscall.c:1468 [inline] SyS_bpf+0x20c5/0x4c40 kernel/bpf/syscall.c:1443 entry_SYSCALL_64_fastpath+0x1f/0xbe RIP: 0033:0x440409 RSP: 002b:00007ffd1f1792b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440409 RDX: 0000000000000020 RSI: 0000000020006000 RDI: 0000000000000002 RBP: 0000000000000086 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000401d70 R13: 0000000000401e00 R14: 0000000000000000 R15: 0000000000000000 Code: 83 c2 01 89 50 18 4c 03 70 08 e8 38 f4 ff ff 4d 85 f6 0f 85 3e ff ff ff 44 89 fe 4c 89 ef e8 94 fb ff ff 49 89 c6 e9 2b ff ff ff <0f> 0b 0f 0b 0f 0b 66 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 RIP: ____cache_alloc_node+0x1d4/0x1e0 mm/slab.c:3292 RSP: ffff8801c0c97638 ---[ end trace d745f355da2e33ce ]--- Kernel panic - not syncing: Fatal exception Fixes: 96eabe7a40aa ("bpf: Allow selecting numa node during map creation") Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Martin KaFai Lau <kafai@fb.com> Cc: Alexei Starovoitov <ast@fb.com> Cc: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-05devicetree: Adjust status "ok" -> "okay" under drivers/of/Robert P. J. Day1-3/+3
Tweak a small number of status "ok" lines in a single file under /drivers/of/ to use the proper DTSpec 0.1 spelling of "okay". Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Rob Herring <robh@kernel.org>
2017-09-05dt-bindings: Remove "status" from examplesRob Herring241-311/+0
Pretty much any node can have a status property, so it doesn't need to be in examples. Converted with the following command and removed examples with SoC and board specific splits: git grep -l -E 'status.*=.*' Documentation/devicetree/ | xargs sed -i -E '/\sstatus.*=.*"(disabled|ok|okay)/d' Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Rob Herring <robh@kernel.org>
2017-09-05audit: update the function commentsGeliang Tang2-10/+10
Update the function comments to match the code. Signed-off-by: Geliang Tang <geliangtang@gmail.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
2017-09-05selinux: remove AVC init audit log messageRichard Guy Briggs1-2/+0
In the process of normalizing audit log messages, it was noticed that the AVC initialization code registered an audit log KERNEL record that didn't fit the standard format. In the process of attempting to normalize it it was determined that this record was not even necessary. Remove it. Ref: http://marc.info/?l=selinux&m=149614868525826&w=2 See: https://github.com/linux-audit/audit-kernel/issues/48 Signed-off-by: Richard Guy Briggs <rgb@redhat.com> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Acked-by: Steve Grubb <sgrubb@redhat.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
2017-09-05audit: update the audit info in MAINTAINERSPaul Moore1-3/+4
Signed-off-by: Paul Moore <paul@paul-moore.com>
2017-09-05audit: Reduce overhead using a coarse clockMel Gorman2-2/+2
Commit 2115bb250f26 ("audit: Use timespec64 to represent audit timestamps") noted that audit timestamps were not y2038 safe and used a 64-bit timestamp. In itself, this makes sense but the conversion was from CURRENT_TIME to ktime_get_real_ts64() which is a heavier call to record an accurate timestamp which is required in some, but not all, cases. The impact is that when auditd is running without any rules that all syscalls have higher overhead. This is visible in the sysbench-thread benchmark as a 11.5% performance hit. That benchmark is dumb as rocks but it's also visible in redis as an 8-10% hit on all operations which is of greater concern. It is somewhat stupid of audit to track syscalls without any rules related to syscalls but that is how it behaves. The overhead can be directly measured with perf comparing 4.9 with 4.12 4.9 7.76% sysbench [kernel.vmlinux] [k] __schedule 7.62% sysbench [kernel.vmlinux] [k] _raw_spin_lock 7.37% sysbench libpthread-2.22.so [.] __lll_lock_elision 7.29% sysbench [kernel.vmlinux] [.] syscall_return_via_sysret 6.59% sysbench [kernel.vmlinux] [k] native_sched_clock 5.21% sysbench libc-2.22.so [.] __sched_yield 4.38% sysbench [kernel.vmlinux] [k] entry_SYSCALL_64 4.28% sysbench [kernel.vmlinux] [k] do_syscall_64 3.49% sysbench libpthread-2.22.so [.] __lll_unlock_elision 3.13% sysbench [kernel.vmlinux] [k] __audit_syscall_exit 2.87% sysbench [kernel.vmlinux] [k] update_curr 2.73% sysbench [kernel.vmlinux] [k] pick_next_task_fair 2.31% sysbench [kernel.vmlinux] [k] syscall_trace_enter 2.20% sysbench [kernel.vmlinux] [k] __audit_syscall_entry ..... 0.00% swapper [kernel.vmlinux] [k] read_tsc 4.12 7.84% sysbench [kernel.vmlinux] [k] __schedule 7.05% sysbench [kernel.vmlinux] [k] _raw_spin_lock 6.57% sysbench libpthread-2.22.so [.] __lll_lock_elision 6.50% sysbench [kernel.vmlinux] [.] syscall_return_via_sysret 5.95% sysbench [kernel.vmlinux] [k] read_tsc 5.71% sysbench [kernel.vmlinux] [k] native_sched_clock 4.78% sysbench libc-2.22.so [.] __sched_yield 4.30% sysbench [kernel.vmlinux] [k] entry_SYSCALL_64 3.94% sysbench [kernel.vmlinux] [k] do_syscall_64 3.37% sysbench libpthread-2.22.so [.] __lll_unlock_elision 3.32% sysbench [kernel.vmlinux] [k] __audit_syscall_exit 2.91% sysbench [kernel.vmlinux] [k] __getnstimeofday64 Note the additional overhead from read_tsc which goes from 0% to 5.95%. This is on a single-socket E3-1230 but similar overheads have been measured on an older machine which the patch also eliminates. The patch in question has no explanation as to why a fully-accurate timestamp is required and is likely an oversight. Using a coarser, but monotically increasing, timestamp the overhead can be eliminated. While it can be worked around by configuring or disabling audit, it's tricky enough to detect that a kernel fix is justified. With this patch, we see the following; sysbenchthread 4.9.0 4.12.0 4.12.0 vanilla vanilla coarse-v1r1 Amean 1 1.49 ( 0.00%) 1.66 ( -11.42%) 1.51 ( -1.34%) Amean 3 1.48 ( 0.00%) 1.65 ( -11.45%) 1.50 ( -0.96%) Amean 5 1.49 ( 0.00%) 1.67 ( -12.31%) 1.51 ( -1.83%) Amean 7 1.49 ( 0.00%) 1.66 ( -11.72%) 1.50 ( -0.67%) Amean 12 1.48 ( 0.00%) 1.65 ( -11.57%) 1.52 ( -2.89%) Amean 16 1.49 ( 0.00%) 1.65 ( -11.13%) 1.51 ( -1.73%) The benchmark is reporting the time required for different thread counts to lock/unlock a private mutex which, while dense, demonstrates the syscall overhead. This is showing that 4.12 took a 11-12% hit but the overhead is almost eliminated by the patch. While the variance is not reported here, it's well within the noise with the patch applied. Signed-off-by: Mel Gorman <mgorman@techsingularity.net> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Deepa Dinamani <deepa.kernel@gmail.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
2017-09-05workqueue: Fix flag collisionBen Hutchings1-1/+1
Commit 0a94efb5acbb ("workqueue: implicit ordered attribute should be overridable") introduced a __WQ_ORDERED_EXPLICIT flag but gave it the same value as __WQ_LEGACY. I don't believe these were intended to mean the same thing, so renumber __WQ_ORDERED_EXPLICIT. Fixes: 0a94efb5acbb ("workqueue: implicit ordered attribute should be ...") Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: stable@vger.kernel.org # v4.13 Signed-off-by: Tejun Heo <tj@kernel.org>
2017-09-05Merge branch 'for-4.13-fixes' into for-4.14Tejun Heo6-11/+36
2017-09-05media: get rid of removed DMX_GET_CAPS and DMX_SET_SOURCE leftoversMauro Carvalho Chehab2-22/+0
Those two ioctls were never used within the Kernel. Still, there used to have compat32 code there (and an if #0 block at the core). Get rid of them. Fixes: 286fe1ca3fa1 ("media: dmx.h: get rid of DMX_GET_CAPS") Fixes: 13adefbe9e56 ("media: dmx.h: get rid of DMX_SET_SOURCE") Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: Revert "[media] v4l: async: make v4l2 coexist with devicetree nodes ↵Rob Herring1-6/+1
in a dt overlay" This reverts commit d2180e0cf77dc7a7049671d5d57dfa0a228f83c1. The commit was flawed in that if the device_node pointers are different, then in fact a different device is present and the device node could be different in ways other than full_name. As Frank Rowand explained: "When an overlay (1) is removed, all uses and references to the nodes and properties in that overlay are no longer valid. Any driver that uses any information from the overlay _must_ stop using any data from the overlay. Any driver that is bound to a new node in the overlay _must_ unbind. Any driver that became bound to a pre-existing node that was modified by the overlay (became bound after the overlay was applied) _must_ adjust itself to account for any changes to that node when the overlay is removed. One way to do this is to unbind when notified that the overlay is about to be removed, then to re-bind after the overlay is completely removed. If an overlay (2) is subsequently applied, a node with the same full_name as from overlay (1) may exist. There is no guarantee that overlay (1) and overlay (2) are the same overlay, even if that node has the same full_name in both cases." Also, there's not sufficient overlay support in mainline to actually remove and re-apply an overlay to hit this condition as overlays can only be applied from in kernel APIs. Fixes: d2180e0cf77d ("[media] v4l: async: make v4l2 coexist with devicetree nodes in a dt overlay") Cc: Javier Martinez Canillas <javier@osg.samsung.com> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com> Cc: Frank Rowand <frowand.list@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Javi Merino <javi.merino@kernel.org> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: staging: atomisp: sh_css_calloc shall return a pointer to the ↵Sergei A. Trusov1-0/+1
allocated space The calloc function returns either a null pointer or a pointer to the allocated space. Add the second case that is missed. Fixes: da22013f7df4 ("atomisp: remove indirection from sh_css_malloc") Signed-off-by: Sergei A. Trusov <sergei.a.trusov@ya.ru> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: Revert "[media] lirc_dev: remove superfluous get/put_device() calls"Sean Young1-0/+4
This reverts commit 5be2b76a9ca4ea5fd3e221114d62eeb0d78267ca. Only when the lirc device is freed, should we drop our reference to rc_dev, else we the rc_dev is freed to early. If userspace has a file descriptor open during unplug, it goes bang. ================================================================== BUG: KASAN: use-after-free in __lock_acquire+0x7bb/0x1e10 Read of size 8 at addr ffff8801d7d61ed0 by task ir-rec/2609 -snip- mutex_lock_nested+0x1b/0x20 ? mutex_lock_nested+0x1b/0x20 rc_close.part.6+0x20/0x60 [rc_core] rc_close+0x13/0x20 [rc_core] lirc_dev_fop_close+0x62/0xd0 [lirc_dev] __fput+0x236/0x410 ? fput+0xb0/0xb0 ? do_raw_spin_trylock+0x110/0x110 ? set_rq_offline.part.70+0xa0/0xa0 ____fput+0xe/0x10 task_work_run+0x116/0x180 ? task_work_cancel+0x170/0x170 ? _raw_spin_unlock+0x27/0x40 ? switch_task_namespaces+0x5f/0x90 do_exit+0x68b/0xe80 Cc: stable@vger.kernel.org # For Kernel 4.13 Fixes: 5be2b76a9ca4 ("[media] lirc_dev: remove superfluous get/put_device() calls") Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: add qcom_camss.rst to v4l-drivers rst fileMauro Carvalho Chehab1-0/+1
Avoid this warning: /devel/v4l/docs/Documentation/media/v4l-drivers/qcom_camss.rst:: WARNING: document isn't included in any toctree Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvb headers: make checkpatch happierMauro Carvalho Chehab3-7/+6
Adjust dvb ca.h, dmx.h and frontend.h in order to make checkpatch happier. Now, it only complains about the typedefs, and those are there just to provide backward userspace compatibility. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvb uapi: move frontend legacy API to another part of the bookMauro Carvalho Chehab2-8/+14
There's a chapter for the legacy APIs. Move the frontend DVBv3 API to it, and update the chapter's introduction accordingly. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: pixfmt-srggb12p.rst: better format the table for PDF outputMauro Carvalho Chehab1-38/+21
Adjust the table to be better displayed on PDF output. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: docs-rst: media: Don't use \small for V4L2_PIX_FMT_SRGGB10 documentationSakari Ailus1-10/+5
There appears to be an issue in using \small in certain cases on Sphinx 1.4 and 1.5. Other format documents don't use \small either, remove it from here as well. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> [mchehab@s-opensource.com: kept tabularcolumns - readjusted - and add a few blank lines for it to display better] Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: index.rst: don't write "Contents:" on PDF outputMauro Carvalho Chehab1-1/+5
Right now, Sphinx unconditionally creates a blank page with just "Contents:" on it, on PDF output. While this makes sense for html, it doesn't o PDF, as LaTeX does what's required automatically. Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: pixfmt*.rst: replace a two dots by a commaMauro Carvalho Chehab17-17/+17
On several tables, the color sample location table preamble is written as: Color Sample Location.. Instead of: Color Sample Location: I suspect that the repetition of such pattern was due to some copy-and-paste (or perhaps some error during DocBook conversion). Anyway, fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: vidioc-g-fmt.rst: adjust table formatMauro Carvalho Chehab1-1/+1
While doing a visual inspection with Sphinx 1.5, I noticed that one of the columns was smaller than the text written there. As this is the only thing I noticed with Sphinx 1.5, I suspect that this was also a problem with Sphinx 1.4. Yet, I opted to touch it in a way that wouldn't cause backward issues. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: vivid.rst: add a blank line to correct ReST formatMauro Carvalho Chehab1-0/+1
On all vivid parameters, there's an space after the parameter, except for "DV Timings Signal Mode". That makes this single one to be written in bold, and, at PDF output, at the same line as its description. Use the same convention as the other parameters, in order to adjust its output. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: v4l2 uapi book: get rid of driver programming's chapterMauro Carvalho Chehab2-10/+0
It doesn't make any sense having a driver programming's chapter at the uAPI book, as this is related to kernel API. Also, we now have such kAPI book where V4L2 driver programming is covered. So, get rid of this left-over. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: format.rst: use the right markup for important notesMauro Carvalho Chehab1-1/+1
There's an important note there, but it is not using the ReST markup. So, it doesn't get any visual highlight on the output. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: docs-rst: cardlists: change their format to flat-tablesMauro Carvalho Chehab10-790/+3101
Most tables there don't fit on 80 columns. Some are very big. While those tables are actually generated via scripts, every time a new board is added, the entire table could be reformatted. >From the diffstat PoV, that's bad, as it is hard to see what happened. One such example is at changeset 4868f6e1fce6 ("media: em28xx-cardlist.rst: update to reflect last changes"): The USB ID for "Plextor ConvertX PX-AV100U" was added to card number 9, with caused the entire table to be reformatted. So, instead, use flat-tables. While here, fix PDF output, by adding tablecolumns to the tables that need it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: em28xx-cardlist.rst: update to reflect last changesMauro Carvalho Chehab1-104/+106
There were some new board additions. Update the cardlist accordingly. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: v4l2-event.rst: adjust table to fit on PDF outputMauro Carvalho Chehab1-0/+2
The tables there don't quite fit on PDF output. Adjust it by adding a tabularcolumns macro. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: docs: don't show ToC for each part on PDF outputMauro Carvalho Chehab10-10/+31
The "Table of Contents" of a PDF file is generated only once, at the beginning fo the output. It doesn't produce it on each part. So, don't output this text on each part of the document. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: cec uapi: Adjust table sizes for PDF outputMauro Carvalho Chehab4-6/+14
Several tables at this media book chapter have issues when PDF is produced. Adjust them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: mc uapi: adjust some table sizes for PDF outputMauro Carvalho Chehab3-3/+3
Some cells are too small to fit the text written to it. Increase it. No text changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: rc-sysfs-nodes.rst: better use literalsMauro Carvalho Chehab1-5/+5
A literal box provides a better visual when pdf and html output is generated for things like the output of a sysfs devnode. It alsod matches other conventions used within the media book. So, use it. While here, use literals for protocol names. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: docs: fix PDF build with Sphinx 1.4Mauro Carvalho Chehab2-3/+6
Commit 70b074df4ed1 ("media: fix pdf build with Spinx 1.6") caused a regression at Sphinx 1.4 PDF build: although it produces a full document in batch mode, it returns errors on interactive mode: [63] Runaway argument? {\relax ! Paragraph ended before \multicolumn was complete. <to be read again> \par l.7703 \hline\end{tabulary} The error seems to be due to some bug at Sphinx PDF output: when multicolumns is used, it doesn't accept an empty string. Just removing the :cpan:`1` and replacing by two empty columns fix the issue. Fixes: 70b074df4ed1 ("media: fix pdf build with Spinx 1.6") Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: v4l uAPI docs: adjust some tables for PDF outputMauro Carvalho Chehab5-4/+8
On tests with Spinx 1.4, some tables are still writing text outside cells. Adjust those tables. PS.: As this was revisited several times, I suspect that this will only be fully fixed if we add tabularcolumns to all tables at the V4L2 part of the book. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: vidioc-g-tuner.rst: Fix table number of colsMauro Carvalho Chehab1-3/+6
The Tuner Audio Matrix table is broken: the first row has 7 columns instead of 6, causing it to be parsed wrong and displayed very badly on PDF output. Fix it and adjust the table to look nice at PDF output Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: vidioc-querycap: use a more realistic value for KERNEL_VERSIONMauro Carvalho Chehab1-2/+3
In the past, V4L2 versions were 0.x.y, but that changed years ago. Since Kernel 3.1, however, the numbering schema was changed to match the Kernel version. However, the presented example still uses the old numerating schema, with is a misleading information. So, update it to the new schema. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: v4l uAPI: add descriptions for arguments to all ioctlsMauro Carvalho Chehab58-12/+60
Several ioctls are missing descriptions for the third argument of the ioctl() command. They should have a description, as otherwise the output won't be ok, and will sound like something is missing. So, add them. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: ca.h: document ca_msg and the corresponding ioctlsMauro Carvalho Chehab3-15/+21
Usually, CA messages are sent/received via reading/writing at the CA device node. However, two drivers (dst_ca and firedtv-ci) also implement it via ioctls. Apparently, on both cases, the net result is the same. Anyway, let's document it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: ca docs: document CA_SET_DESCR ioctl and structsMauro Carvalho Chehab2-14/+10
The av7110 driver uses CA_SET_DESCR to store the descrambler control words at the CA descrambler slots. Document it. Thanks-to: Honza Petrouš <jpetrous@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: net.h: add kernel-doc and use it at Documentation/Mauro Carvalho Chehab4-34/+25
As we did with frontend.h, ca.h and dmx.h, move the struct definition to net.h. That should help to keep it updated, as more stuff gets added there. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: frontend.h: Avoid the term DVB when doesn't refer to a delivery systemMauro Carvalho Chehab1-3/+3
The DVB term can either refer to the subsystem or to a delivery system. Avoid it in the first case at the kernel-doc markups. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: intro.rst: don't assume audio and video codecs to be MPEG2Mauro Carvalho Chehab1-5/+4
Originally, when DVB was introduced, all codecs would be part of MPEG2 standard. That's not true anymore, as there are a large number of codec standards used on digital TV nowadays. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvbstb.svg: use dots for the optional parts of the hardwareMauro Carvalho Chehab1-16/+15
The hardware description mentions that some parts are optional. Make it clearer at the drawing. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dmx-get-pes-pids.rst: document the ioctlMauro Carvalho Chehab1-2/+20
This ioctl is supported by the DVB core, but was never documented. Add a documentation for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvb uAPI docs: minor editorial changesMauro Carvalho Chehab16-52/+59
Do minor editorial changes to improve documentation readability: - mark literals as such; - add table markups to hint sizes; - define what PES means; - instead of hardcoding devnode numbers to zero (like adapter0/) use a question mark, to indicate that multiple devnodes may exist; - add cross-references where useful. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvbapi.rst: add an entry to DVB revision historyMauro Carvalho Chehab1-1/+6
There are several missing items at the API history. Yet, as we're doing a significant change there, add a new entry. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvb-frontend-parameters.rst: fix the name of a structMauro Carvalho Chehab1-1/+1
The struct that contains an union of DVB parameters is called dvb_frontend_parameters (and not FrontendParameters). Fix it. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dmx-fread.rst: specify how DMX_CHECK_CRC worksMauro Carvalho Chehab1-0/+7
In the past, the documentation used to say that, if a CRC error was found, a "-ECRC" error would be returned. That's not true: the DVB core will just silently ignore such errors. So, add an explicit note about that. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-05media: dvb uAPI docs: Prefer use "Digital TV instead of "DVB"Mauro Carvalho Chehab41-126/+149
The usage of the term "DVB" at the dvb API docs is confusing, as, right now, it can refer to either the European digital TV standard or to the subsystem. So, prefer calling it as "Digital TV" on most places, to avoid ambiguity. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>