Skip to content

Commit ab11ca3

Browse files
committed
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - some V4L2 API updates needed by embedded devices - DVB API extensions for ATSC-MH delivery system, used in US for mobile TV - new tuners for fc0011/0012/0013 and tua9001 - a new dvb driver for af9033/9035 - a new ATSC-MH frontend (lg2160) - new remote controller keymaps - Removal of a few legacy webcam driver that got replaced by gspca on several kernel versions ago - a new driver for Exynos 4/5 webcams(s5pp fimc-lite) - a new webcam sensor driver (smiapp) - a new video input driver for embedded (sta2x1xx) - several improvements, fixes, cleanups, etc inside the drivers. Manually fix up conflicts due to err() -> dev_err() conversion in drivers/staging/media/easycap/easycap_main.c * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (484 commits) [media] saa7134-cards: Remove a PCI entry added by mistake [media] radio-sf16fmi: add support for SF16-FMD [media] rc-loopback: remove duplicate line [media] patch for Asus My Cinema PS3-100 (1043:48cd) [media] au0828: Move the Kconfig knob under V4L_USB_DRIVERS [media] em28xx: simple comment fix [media] [resend] radio-sf16fmr2: add PnP support for SF16-FMD2 [media] smiapp: Use v4l2_ctrl_new_int_menu() instead of v4l2_ctrl_new_custom() [media] smiapp: Add support for 8-bit uncompressed formats [media] smiapp: Allow generic quirk registers [media] smiapp: Use non-binning limits if the binning limit is zero [media] smiapp: Initialise rval in smiapp_read_nvm() [media] smiapp: Round minimum pre_pll up rather than down in ip_clk_freq check [media] smiapp: Use 8-bit reads only before identifying the sensor [media] smiapp: Quirk for sensors that only do 8-bit reads [media] smiapp: Pass struct sensor to register writing commands instead of i2c_client [media] smiapp: Allow using external clock from the clock framework [media] zl10353: change .read_snr() to report SNR as a 0.1 dB [media] media: add support to gspca/pac7302.c for 093a:2627 (Genius FaceCam 300) [media] m88rs2000 - only flip bit 2 on reg 0x70 on 16th try ...
2 parents f936991 + 71006fb commit ab11ca3

File tree

463 files changed

+39194
-16776
lines changed

Some content is hidden

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

463 files changed

+39194
-16776
lines changed

Documentation/DocBook/media/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ IOCTLS = \
7070
VIDIOC_SUBDEV_ENUM_MBUS_CODE \
7171
VIDIOC_SUBDEV_ENUM_FRAME_SIZE \
7272
VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL \
73+
VIDIOC_SUBDEV_G_SELECTION \
74+
VIDIOC_SUBDEV_S_SELECTION \
7375

7476
TYPES = \
7577
$(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \
@@ -193,7 +195,7 @@ DVB_DOCUMENTED = \
193195
#
194196

195197
install_media_images = \
196-
$(Q)cp $(OBJIMGFILES) $(MEDIA_OBJ_DIR)/media_api
198+
$(Q)cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api
197199

198200
$(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
199201
$(Q)base64 -d $< >$@

Documentation/DocBook/media/dvb/dvbproperty.xml

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,139 @@ typedef enum fe_delivery_system {
531531
here are referring to what can be found in the TMCC-structure -
532532
independent of the mode.</para>
533533
</section>
534+
<section id="DTV-ATSCMH-FIC-VER">
535+
<title><constant>DTV_ATSCMH_FIC_VER</constant></title>
536+
<para>Version number of the FIC (Fast Information Channel) signaling data.</para>
537+
<para>FIC is used for relaying information to allow rapid service acquisition by the receiver.</para>
538+
<para>Possible values: 0, 1, 2, 3, ..., 30, 31</para>
539+
</section>
540+
<section id="DTV-ATSCMH-PARADE-ID">
541+
<title><constant>DTV_ATSCMH_PARADE_ID</constant></title>
542+
<para>Parade identification number</para>
543+
<para>A parade is a collection of up to eight MH groups, conveying one or two ensembles.</para>
544+
<para>Possible values: 0, 1, 2, 3, ..., 126, 127</para>
545+
</section>
546+
<section id="DTV-ATSCMH-NOG">
547+
<title><constant>DTV_ATSCMH_NOG</constant></title>
548+
<para>Number of MH groups per MH subframe for a designated parade.</para>
549+
<para>Possible values: 1, 2, 3, 4, 5, 6, 7, 8</para>
550+
</section>
551+
<section id="DTV-ATSCMH-TNOG">
552+
<title><constant>DTV_ATSCMH_TNOG</constant></title>
553+
<para>Total number of MH groups including all MH groups belonging to all MH parades in one MH subframe.</para>
554+
<para>Possible values: 0, 1, 2, 3, ..., 30, 31</para>
555+
</section>
556+
<section id="DTV-ATSCMH-SGN">
557+
<title><constant>DTV_ATSCMH_SGN</constant></title>
558+
<para>Start group number.</para>
559+
<para>Possible values: 0, 1, 2, 3, ..., 14, 15</para>
560+
</section>
561+
<section id="DTV-ATSCMH-PRC">
562+
<title><constant>DTV_ATSCMH_PRC</constant></title>
563+
<para>Parade repetition cycle.</para>
564+
<para>Possible values: 1, 2, 3, 4, 5, 6, 7, 8</para>
565+
</section>
566+
<section id="DTV-ATSCMH-RS-FRAME-MODE">
567+
<title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title>
568+
<para>RS frame mode.</para>
569+
<para>Possible values are:</para>
570+
<programlisting>
571+
typedef enum atscmh_rs_frame_mode {
572+
ATSCMH_RSFRAME_PRI_ONLY = 0,
573+
ATSCMH_RSFRAME_PRI_SEC = 1,
574+
} atscmh_rs_frame_mode_t;
575+
</programlisting>
576+
</section>
577+
<section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE">
578+
<title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title>
579+
<para>RS frame ensemble.</para>
580+
<para>Possible values are:</para>
581+
<programlisting>
582+
typedef enum atscmh_rs_frame_ensemble {
583+
ATSCMH_RSFRAME_ENS_PRI = 0,
584+
ATSCMH_RSFRAME_ENS_SEC = 1,
585+
} atscmh_rs_frame_ensemble_t;
586+
</programlisting>
587+
</section>
588+
<section id="DTV-ATSCMH-RS-CODE-MODE-PRI">
589+
<title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title>
590+
<para>RS code mode (primary).</para>
591+
<para>Possible values are:</para>
592+
<programlisting>
593+
typedef enum atscmh_rs_code_mode {
594+
ATSCMH_RSCODE_211_187 = 0,
595+
ATSCMH_RSCODE_223_187 = 1,
596+
ATSCMH_RSCODE_235_187 = 2,
597+
} atscmh_rs_code_mode_t;
598+
</programlisting>
599+
</section>
600+
<section id="DTV-ATSCMH-RS-CODE-MODE-SEC">
601+
<title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title>
602+
<para>RS code mode (secondary).</para>
603+
<para>Possible values are:</para>
604+
<programlisting>
605+
typedef enum atscmh_rs_code_mode {
606+
ATSCMH_RSCODE_211_187 = 0,
607+
ATSCMH_RSCODE_223_187 = 1,
608+
ATSCMH_RSCODE_235_187 = 2,
609+
} atscmh_rs_code_mode_t;
610+
</programlisting>
611+
</section>
612+
<section id="DTV-ATSCMH-SCCC-BLOCK-MODE">
613+
<title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title>
614+
<para>Series Concatenated Convolutional Code Block Mode.</para>
615+
<para>Possible values are:</para>
616+
<programlisting>
617+
typedef enum atscmh_sccc_block_mode {
618+
ATSCMH_SCCC_BLK_SEP = 0,
619+
ATSCMH_SCCC_BLK_COMB = 1,
620+
} atscmh_sccc_block_mode_t;
621+
</programlisting>
622+
</section>
623+
<section id="DTV-ATSCMH-SCCC-CODE-MODE-A">
624+
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title>
625+
<para>Series Concatenated Convolutional Code Rate.</para>
626+
<para>Possible values are:</para>
627+
<programlisting>
628+
typedef enum atscmh_sccc_code_mode {
629+
ATSCMH_SCCC_CODE_HLF = 0,
630+
ATSCMH_SCCC_CODE_QTR = 1,
631+
} atscmh_sccc_code_mode_t;
632+
</programlisting>
633+
</section>
634+
<section id="DTV-ATSCMH-SCCC-CODE-MODE-B">
635+
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title>
636+
<para>Series Concatenated Convolutional Code Rate.</para>
637+
<para>Possible values are:</para>
638+
<programlisting>
639+
typedef enum atscmh_sccc_code_mode {
640+
ATSCMH_SCCC_CODE_HLF = 0,
641+
ATSCMH_SCCC_CODE_QTR = 1,
642+
} atscmh_sccc_code_mode_t;
643+
</programlisting>
644+
</section>
645+
<section id="DTV-ATSCMH-SCCC-CODE-MODE-C">
646+
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_C</constant></title>
647+
<para>Series Concatenated Convolutional Code Rate.</para>
648+
<para>Possible values are:</para>
649+
<programlisting>
650+
typedef enum atscmh_sccc_code_mode {
651+
ATSCMH_SCCC_CODE_HLF = 0,
652+
ATSCMH_SCCC_CODE_QTR = 1,
653+
} atscmh_sccc_code_mode_t;
654+
</programlisting>
655+
</section>
656+
<section id="DTV-ATSCMH-SCCC-CODE-MODE-D">
657+
<title><constant>DTV_ATSCMH_SCCC_CODE_MODE_D</constant></title>
658+
<para>Series Concatenated Convolutional Code Rate.</para>
659+
<para>Possible values are:</para>
660+
<programlisting>
661+
typedef enum atscmh_sccc_code_mode {
662+
ATSCMH_SCCC_CODE_HLF = 0,
663+
ATSCMH_SCCC_CODE_QTR = 1,
664+
} atscmh_sccc_code_mode_t;
665+
</programlisting>
666+
</section>
534667
</section>
535668
<section id="DTV-API-VERSION">
536669
<title><constant>DTV_API_VERSION</constant></title>
@@ -774,6 +907,33 @@ typedef enum fe_hierarchy {
774907
<listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
775908
</itemizedlist>
776909
</section>
910+
<section id="atscmh-params">
911+
<title>ATSC-MH delivery system</title>
912+
<para>The following parameters are valid for ATSC-MH:</para>
913+
<itemizedlist mark='opencircle'>
914+
<listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
915+
<listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
916+
<listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
917+
<listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
918+
<listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
919+
<listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
920+
<listitem><para><link linkend="DTV-ATSCMH-FIC-VER"><constant>DTV_ATSCMH_FIC_VER</constant></link></para></listitem>
921+
<listitem><para><link linkend="DTV-ATSCMH-PARADE-ID"><constant>DTV_ATSCMH_PARADE_ID</constant></link></para></listitem>
922+
<listitem><para><link linkend="DTV-ATSCMH-NOG"><constant>DTV_ATSCMH_NOG</constant></link></para></listitem>
923+
<listitem><para><link linkend="DTV-ATSCMH-TNOG"><constant>DTV_ATSCMH_TNOG</constant></link></para></listitem>
924+
<listitem><para><link linkend="DTV-ATSCMH-SGN"><constant>DTV_ATSCMH_SGN</constant></link></para></listitem>
925+
<listitem><para><link linkend="DTV-ATSCMH-PRC"><constant>DTV_ATSCMH_PRC</constant></link></para></listitem>
926+
<listitem><para><link linkend="DTV-ATSCMH-RS-FRAME-MODE"><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></link></para></listitem>
927+
<listitem><para><link linkend="DTV-ATSCMH-RS-FRAME-ENSEMBLE"><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></link></para></listitem>
928+
<listitem><para><link linkend="DTV-ATSCMH-CODE-MODE-PRI"><constant>DTV_ATSCMH_CODE_MODE_PRI</constant></link></para></listitem>
929+
<listitem><para><link linkend="DTV-ATSCMH-CODE-MODE-SEC"><constant>DTV_ATSCMH_CODE_MODE_SEC</constant></link></para></listitem>
930+
<listitem><para><link linkend="DTV-ATSCMH-SCCC-BLOCK-MODE"><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></link></para></listitem>
931+
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-A"><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></link></para></listitem>
932+
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-B"><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></link></para></listitem>
933+
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-C"><constant>DTV_ATSCMH_SCCC_CODE_MODE_C</constant></link></para></listitem>
934+
<listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-D"><constant>DTV_ATSCMH_SCCC_CODE_MODE_D</constant></link></para></listitem>
935+
</itemizedlist>
936+
</section>
777937
</section>
778938
<section id="frontend-property-cable-systems">
779939
<title>Properties used on cable delivery systems</title>

Documentation/DocBook/media/v4l/biblio.xml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,4 +197,33 @@ in the frequency range from 87,5 to 108,0 MHz</title>
197197
<title>NTSC-4: United States RBDS Standard</title>
198198
</biblioentry>
199199

200+
<biblioentry id="iso12232">
201+
<abbrev>ISO&nbsp;12232:2006</abbrev>
202+
<authorgroup>
203+
<corpauthor>International Organization for Standardization
204+
(<ulink url="http://www.iso.org">http://www.iso.org</ulink>)</corpauthor>
205+
</authorgroup>
206+
<title>Photography &mdash; Digital still cameras &mdash; Determination
207+
of exposure index, ISO speed ratings, standard output sensitivity, and
208+
recommended exposure index</title>
209+
</biblioentry>
210+
211+
<biblioentry id="cea861">
212+
<abbrev>CEA-861-E</abbrev>
213+
<authorgroup>
214+
<corpauthor>Consumer Electronics Association
215+
(<ulink url="http://www.ce.org">http://www.ce.org</ulink>)</corpauthor>
216+
</authorgroup>
217+
<title>A DTV Profile for Uncompressed High Speed Digital Interfaces</title>
218+
</biblioentry>
219+
220+
<biblioentry id="vesadmt">
221+
<abbrev>VESA&nbsp;DMT</abbrev>
222+
<authorgroup>
223+
<corpauthor>Video Electronics Standards Association
224+
(<ulink url="http://www.vesa.org">http://www.vesa.org</ulink>)</corpauthor>
225+
</authorgroup>
226+
<title>VESA and Industry Standards and Guidelines for Computer Display Monitor Timing (DMT)</title>
227+
</biblioentry>
228+
200229
</bibliography>

Documentation/DocBook/media/v4l/common.xml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -724,41 +724,49 @@ if (-1 == ioctl (fd, &VIDIOC-S-STD;, &amp;std_id)) {
724724
}
725725
</programlisting>
726726
</example>
727+
</section>
727728
<section id="dv-timings">
728729
<title>Digital Video (DV) Timings</title>
729730
<para>
730-
The video standards discussed so far has been dealing with Analog TV and the
731+
The video standards discussed so far have been dealing with Analog TV and the
731732
corresponding video timings. Today there are many more different hardware interfaces
732733
such as High Definition TV interfaces (HDMI), VGA, DVI connectors etc., that carry
733734
video signals and there is a need to extend the API to select the video timings
734735
for these interfaces. Since it is not possible to extend the &v4l2-std-id; due to
735-
the limited bits available, a new set of IOCTLs is added to set/get video timings at
736+
the limited bits available, a new set of IOCTLs was added to set/get video timings at
736737
the input and output: </para><itemizedlist>
737738
<listitem>
738-
<para>DV Presets: Digital Video (DV) presets. These are IDs representing a
739+
<para>DV Timings: This will allow applications to define detailed
740+
video timings for the interface. This includes parameters such as width, height,
741+
polarities, frontporch, backporch etc. The <filename>linux/v4l2-dv-timings.h</filename>
742+
header can be used to get the timings of the formats in the <xref linkend="cea861" /> and
743+
<xref linkend="vesadmt" /> standards.
744+
</para>
745+
</listitem>
746+
<listitem>
747+
<para>DV Presets: Digital Video (DV) presets (<emphasis role="bold">deprecated</emphasis>).
748+
These are IDs representing a
739749
video timing at the input/output. Presets are pre-defined timings implemented
740750
by the hardware according to video standards. A __u32 data type is used to represent
741751
a preset unlike the bit mask that is used in &v4l2-std-id; allowing future extensions
742-
to support as many different presets as needed.</para>
743-
</listitem>
744-
<listitem>
745-
<para>Custom DV Timings: This will allow applications to define more detailed
746-
custom video timings for the interface. This includes parameters such as width, height,
747-
polarities, frontporch, backporch etc.
748-
</para>
752+
to support as many different presets as needed. This API is deprecated in favor of the DV Timings
753+
API.</para>
749754
</listitem>
750755
</itemizedlist>
756+
<para>To enumerate and query the attributes of the DV timings supported by a device,
757+
applications use the &VIDIOC-ENUM-DV-TIMINGS; and &VIDIOC-DV-TIMINGS-CAP; ioctls.
758+
To set DV timings for the device, applications use the
759+
&VIDIOC-S-DV-TIMINGS; ioctl and to get current DV timings they use the
760+
&VIDIOC-G-DV-TIMINGS; ioctl. To detect the DV timings as seen by the video receiver applications
761+
use the &VIDIOC-QUERY-DV-TIMINGS; ioctl.</para>
751762
<para>To enumerate and query the attributes of DV presets supported by a device,
752763
applications use the &VIDIOC-ENUM-DV-PRESETS; ioctl. To get the current DV preset,
753764
applications use the &VIDIOC-G-DV-PRESET; ioctl and to set a preset they use the
754-
&VIDIOC-S-DV-PRESET; ioctl.</para>
755-
<para>To set custom DV timings for the device, applications use the
756-
&VIDIOC-S-DV-TIMINGS; ioctl and to get current custom DV timings they use the
757-
&VIDIOC-G-DV-TIMINGS; ioctl.</para>
765+
&VIDIOC-S-DV-PRESET; ioctl. To detect the preset as seen by the video receiver applications
766+
use the &VIDIOC-QUERY-DV-PRESET; ioctl.</para>
758767
<para>Applications can make use of the <xref linkend="input-capabilities" /> and
759768
<xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the
760769
video timings for the device.</para>
761-
</section>
762770
</section>
763771

764772
&sub-controls;

0 commit comments

Comments
 (0)