Skip to content

Commit a98f670

Browse files
committed
Merge tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - Media documentation is now split into admin-guide, driver-api and userspace-api books (a longstanding request from Jon); - The media Kconfig was reorganized, in order to make easier to select drivers and their dependencies; - The testing drivers now has a separate directory; - added a new driver for Rockchip Video Decoder IP; - The atomisp staging driver was resurrected. It is meant to work with 4 generations of cameras on Atom-based laptops, tablets and cell phones. So, it seems worth investing time to cleanup this driver and making it in good shape. - Added some V4L2 core ancillary routines to help with h264 codecs; - Added an ov2740 image sensor driver; - The si2157 gained support for Analog TV, which, in turn, added support for some cx231xx and cx23885 boards to also support analog standards; - Added some V4L2 controls (V4L2_CID_CAMERA_ORIENTATION and V4L2_CID_CAMERA_SENSOR_ROTATION) to help identifying where the camera is located at the device; - VIDIOC_ENUM_FMT was extended to support MC-centric devices; - Lots of drivers improvements and cleanups. * tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (503 commits) media: Documentation: media: Refer to mbus format documentation from CSI-2 docs media: s5k5baf: Replace zero-length array with flexible-array media: i2c: imx219: Drop <linux/clk-provider.h> and <linux/clkdev.h> media: i2c: Add ov2740 image sensor driver media: ov8856: Implement sensor module revision identification media: ov8856: Add devicetree support media: dt-bindings: ov8856: Document YAML bindings media: dvb-usb: Add Cinergy S2 PCIe Dual Port support media: dvbdev: Fix tuner->demod media controller link media: dt-bindings: phy: phy-rockchip-dphy-rx0: move rockchip dphy rx0 bindings out of staging media: staging: dt-bindings: phy-rockchip-dphy-rx0: remove non-used reg property media: atomisp: unify the version for isp2401 a0 and b0 versions media: atomisp: update TODO with the current data media: atomisp: adjust some code at sh_css that could be broken media: atomisp: don't produce errs for ignored IRQs media: atomisp: print IRQ when debugging media: atomisp: isp_mmu: don't use kmem_cache media: atomisp: add a notice about possible leak resources media: atomisp: disable the dynamic and reserved pools media: atomisp: turn on camera before setting it ...
2 parents ee01c4d + 938b29d commit a98f670

File tree

1,698 files changed

+161786
-7165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,698 files changed

+161786
-7165
lines changed

Documentation/ABI/testing/debugfs-cec-error-inj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ when changes are made.
3737

3838
The following CEC error injection implementations exist:
3939

40-
- Documentation/media/uapi/cec/cec-pin-error-inj.rst
40+
- Documentation/userspace-api/media/cec/cec-pin-error-inj.rst

Documentation/Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
5555
loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit;
5656

5757
# $2 sphinx builder e.g. "html"
58-
# $3 name of the build subfolder / e.g. "media", used as:
58+
# $3 name of the build subfolder / e.g. "userspace-api/media", used as:
5959
# * dest folder relative to $(BUILDDIR) and
6060
# * cache folder relative to $(BUILDDIR)/.doctrees
61-
# $4 dest subfolder e.g. "man" for man pages at media/man
61+
# $4 dest subfolder e.g. "man" for man pages at userspace-api/media/man
6262
# $5 reST source folder relative to $(srctree)/$(src),
63-
# e.g. "media" for the linux-tv book-set at ./Documentation/media
63+
# e.g. "userspace-api/media" for the linux-tv book-set at ./Documentation/userspace-api/media
6464

6565
quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
66-
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \
66+
cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media $2 && \
6767
PYTHONDONTWRITEBYTECODE=1 \
6868
BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
6969
$(PYTHON) $(srctree)/scripts/jobserver-exec \
@@ -124,7 +124,7 @@ refcheckdocs:
124124

125125
cleandocs:
126126
$(Q)rm -rf $(BUILDDIR)
127-
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media clean
127+
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media clean
128128

129129
dochelp:
130130
@echo ' Linux kernel internal documentation in different formats from ReST:'

Documentation/admin-guide/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ configure specific aspects of kernel behavior to your liking.
9393
lockup-watchdogs
9494
LSM/index
9595
md
96+
media/index
9697
mm/index
9798
module-signing
9899
mono

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@
458458
bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
459459
bttv.radio= Most important insmod options are available as
460460
kernel args too.
461-
bttv.pll= See Documentation/media/v4l-drivers/bttv.rst
461+
bttv.pll= See Documentation/admin-guide/media/bttv.rst
462462
bttv.tuner=
463463

464464
bulk_remove=off [PPC] This parameter disables the use of the pSeries
@@ -2746,7 +2746,7 @@
27462746
See Documentation/admin-guide/pm/sleep-states.rst.
27472747

27482748
meye.*= [HW] Set MotionEye Camera parameters
2749-
See Documentation/media/v4l-drivers/meye.rst.
2749+
See Documentation/admin-guide/media/meye.rst.
27502750

27512751
mfgpt_irq= [IA-32] Specify the IRQ to use for the
27522752
Multi-Function General Purpose Timers on AMD Geode
File renamed without changes.
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
======================================
4+
Avermedia DVB-T on BT878 Release Notes
5+
======================================
6+
7+
February 14th 2006
8+
9+
.. note::
10+
11+
Several other Avermedia devices are supported. For a more
12+
broader and updated content about that, please check:
13+
14+
https://linuxtv.org/wiki/index.php/AVerMedia
15+
16+
The Avermedia DVB-T
17+
~~~~~~~~~~~~~~~~~~~
18+
19+
The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:
20+
21+
* RF Tuner Input
22+
* Composite Video Input (RCA Jack)
23+
* SVIDEO Input (Mini-DIN)
24+
25+
The RF Tuner Input is the input to the tuner module of the
26+
card. The Tuner is otherwise known as the "Frontend" . The
27+
Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely
28+
post to the linux-dvb mailing list ascertained that the
29+
Microtune 7202D is supported by the sp887x driver which is
30+
found in the dvb-hw CVS module.
31+
32+
The DVB-T card is based around the BT878 chip which is a very
33+
common multimedia bridge and often found on Analogue TV cards.
34+
There is no on-board MPEG2 decoder, which means that all MPEG2
35+
decoding must be done in software, or if you have one, on an
36+
MPEG2 hardware decoding card or chipset.
37+
38+
39+
Getting the card going
40+
~~~~~~~~~~~~~~~~~~~~~~
41+
42+
At this stage, it has not been able to ascertain the
43+
functionality of the remaining device nodes in respect of the
44+
Avermedia DVBT. However, full functionality in respect of
45+
tuning, receiving and supplying the MPEG2 data stream is
46+
possible with the currently available versions of the driver.
47+
It may be possible that additional functionality is available
48+
from the card (i.e. viewing the additional analogue inputs
49+
that the card presents), but this has not been tested yet. If
50+
I get around to this, I'll update the document with whatever I
51+
find.
52+
53+
To power up the card, load the following modules in the
54+
following order:
55+
56+
* modprobe bttv (normally loaded automatically)
57+
* modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
58+
59+
Insertion of these modules into the running kernel will
60+
activate the appropriate DVB device nodes. It is then possible
61+
to start accessing the card with utilities such as scan, tzap,
62+
dvbstream etc.
63+
64+
The frontend module sp887x.o, requires an external firmware.
65+
Please use the command "get_dvb_firmware sp887x" to download
66+
it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/
67+
(depending on configuration of firmware hotplug).
68+
69+
Known Limitations
70+
~~~~~~~~~~~~~~~~~
71+
72+
At present I can say with confidence that the frontend tunes
73+
via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream
74+
via /dev/dvb/adapter{x}/dvr0. I have not tested the
75+
functionality of any other part of the card yet. I will do so
76+
over time and update this document.
77+
78+
There are some limitations in the i2c layer due to a returned
79+
error message inconsistency. Although this generates errors in
80+
dmesg and the system logs, it does not appear to affect the
81+
ability of the frontend to function correctly.
82+
83+
Further Update
84+
~~~~~~~~~~~~~~
85+
86+
dvbstream and VideoLAN Client on windows works a treat with
87+
DVB, in fact this is currently serving as my main way of
88+
viewing DVB-T at the moment. Additionally, VLC is happily
89+
decoding HDTV signals, although the PC is dropping the odd
90+
frame here and there - I assume due to processing capability -
91+
as all the decoding is being done under windows in software.
92+
93+
Many thanks to Nigel Pearson for the updates to this document
94+
since the recent revision of the driver.
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
==================================
4+
How to get the bt8xx cards working
5+
==================================
6+
7+
Authors:
8+
Richard Walker,
9+
Jamie Honan,
10+
Michael Hunold,
11+
Manu Abraham,
12+
Uwe Bugla,
13+
Michael Krufky
14+
15+
General information
16+
-------------------
17+
18+
This class of cards has a bt878a as the PCI interface, and require the bttv driver
19+
for accessing the i2c bus and the gpio pins of the bt8xx chipset.
20+
21+
Please see :doc:`bttv-cardlist` for a complete list of Cards based on the
22+
Conexant Bt8xx PCI bridge supported by the Linux Kernel.
23+
24+
In order to be able to compile the kernel, some config options should be
25+
enabled::
26+
27+
./scripts/config -e PCI
28+
./scripts/config -e INPUT
29+
./scripts/config -m I2C
30+
./scripts/config -m MEDIA_SUPPORT
31+
./scripts/config -e MEDIA_PCI_SUPPORT
32+
./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
33+
./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
34+
./scripts/config -e MEDIA_RADIO_SUPPORT
35+
./scripts/config -e RC_CORE
36+
./scripts/config -m VIDEO_BT848
37+
./scripts/config -m DVB_BT8XX
38+
39+
If you want to automatically support all possible variants of the Bt8xx
40+
cards, you should also do::
41+
42+
./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
43+
44+
.. note::
45+
46+
Please use the following options with care as deselection of drivers which
47+
are in fact necessary may result in DVB devices that cannot be tuned due
48+
to lack of driver support.
49+
50+
If your goal is to just support an specific board, you may, instead,
51+
disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
52+
required by your board. With that, you can save some RAM.
53+
54+
You can do that by calling make xconfig/qconfig/menuconfig and look at
55+
the options on those menu options (only enabled if
56+
``Autoselect ancillary drivers`` is disabled:
57+
58+
#) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
59+
#) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
60+
61+
Then, on each of the above menu, please select your card-specific
62+
frontend and tuner modules.
63+
64+
65+
Loading Modules
66+
---------------
67+
68+
Regular case: If the bttv driver detects a bt8xx-based DVB card, all
69+
frontend and backend modules will be loaded automatically.
70+
71+
Exceptions are:
72+
73+
- Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
74+
- Old TwinHan DST cards or clones with or without CA slot and not
75+
containing an Eeprom.
76+
77+
In the following cases overriding the PCI type detection for bttv and
78+
for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
79+
80+
Running TwinHan and Clones
81+
~~~~~~~~~~~~~~~~~~~~~~~~~~
82+
83+
As shown at :doc:`bttv-cardlist`, TwinHan and
84+
clones use ``card=113`` modprobe parameter. So, in order to properly
85+
detect it for devices without EEPROM, you should use::
86+
87+
$ modprobe bttv card=113
88+
$ modprobe dst
89+
90+
Useful parameters for verbosity level and debugging the dst module::
91+
92+
verbose=0: messages are disabled
93+
1: only error messages are displayed
94+
2: notifications are displayed
95+
3: other useful messages are displayed
96+
4: debug setting
97+
dst_addons=0: card is a free to air (FTA) card only
98+
0x20: card has a conditional access slot for scrambled channels
99+
dst_algo=0: (default) Software tuning algorithm
100+
1: Hardware tuning algorithm
101+
102+
103+
The autodetected values are determined by the cards' "response string".
104+
105+
In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
106+
107+
For bug reports please send in a complete log with verbose=4 activated.
108+
Please also see :doc:`ci`.
109+
110+
Running multiple cards
111+
~~~~~~~~~~~~~~~~~~~~~~
112+
113+
See :doc:`bttv-cardlist` for a complete list of
114+
Card ID. Some examples:
115+
116+
=========================== ===
117+
Brand name ID
118+
=========================== ===
119+
Pinnacle PCTV Sat 94
120+
Nebula Electronics Digi TV 104
121+
pcHDTV HD-2000 TV 112
122+
Twinhan DST and clones 113
123+
Avermedia AverTV DVB-T 77: 123
124+
Avermedia AverTV DVB-T 761 124
125+
DViCO FusionHDTV DVB-T Lite 128
126+
DViCO FusionHDTV 5 Lite 135
127+
=========================== ===
128+
129+
.. note::
130+
131+
When you have multiple cards, the order of the card ID should
132+
match the order where they're detected by the system. Please notice
133+
that removing/inserting other PCI cards may change the detection
134+
order.
135+
136+
Example::
137+
138+
$ modprobe bttv card=113 card=135
139+
140+
In case of further problems please subscribe and send questions to
141+
the mailing list: [email protected].
142+
143+
Probing the cards with broken PCI subsystem ID
144+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145+
146+
There are some TwinHan cards whose EEPROM has become corrupted for some
147+
reason. The cards do not have a correct PCI subsystem ID.
148+
Still, it is possible to force probing the cards with::
149+
150+
$ echo 109e 0878 $subvendor $subdevice > \
151+
/sys/bus/pci/drivers/bt878/new_id
152+
153+
The two numbers there are::
154+
155+
109e: PCI_VENDOR_ID_BROOKTREE
156+
0878: PCI_DEVICE_ID_BROOKTREE_878

Documentation/media/v4l-drivers/bttv-cardlist.rst renamed to Documentation/admin-guide/media/bttv-cardlist.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ BTTV cards list
1212

1313
* - Card number
1414
- Card name
15-
- PCI IDs
15+
- PCI subsystem IDs
1616

1717
* - 0
1818
- *** UNKNOWN/GENERIC ***

0 commit comments

Comments
 (0)