OSDN Git Service
Mauro Carvalho Chehab [Thu, 28 May 2015 16:10:38 +0000 (13:10 -0300)]
[media] DocBook: better document FE_DISEQC_RESET_OVERLOAD
Use the new format for the ioctl documentation and put the
struct dvb_diseqc_slave_reply together with the ioctl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Thu, 28 May 2015 15:49:34 +0000 (12:49 -0300)]
[media] DocBook: better document FE_DISEQC_SEND_MASTER_CMD
Use the new format for the ioctl documentation and put the
struct dvb_diseqc_slave_reply together with the ioctl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Thu, 28 May 2015 15:37:00 +0000 (12:37 -0300)]
[media] DocBook: better document FE_DISEQC_RECV_SLAVE_REPLY
Use the new format for the ioctl documentation and put the
struct dvb_diseqc_slave_reply together with the ioctl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Thu, 28 May 2015 01:20:14 +0000 (22:20 -0300)]
[media] DocBook: better document FE_DISEQC_SEND_BURST ioctl
Use the proper format for FE_DISEQC_SEND_BURST documentation
and improve the documentation.
Keep the enum fe_sec_mini_cmd description together with
the ioctl, as both are used together.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Wed, 27 May 2015 10:15:50 +0000 (07:15 -0300)]
[media] DocBook: better document FE_SET_TONE ioctl
Use the proper format for FE_SET_TONE documentation and
improve the documentation.
Keep the enum fe_sec_tone_mode description together with
the ioctl, as both are used together.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 22:33:58 +0000 (19:33 -0300)]
[media] DocBook: better document FE_SET_VOLTAGE ioctl
Use the proper format for FE_SET_VOLTAGE documentation and fix
the documentation. The description for the enum is not 100%,
and it is missing the voltage off value.
Also, it is better to keep the enum description together with
the ioctl, as both are used together.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 21:48:33 +0000 (18:48 -0300)]
[media] DocBook: reformat FE_ENABLE_HIGH_LNB_VOLTAGE ioctl
Use the proper format for FE_ENABLE_HIGH_LNB_VOLTAGE documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 21:36:26 +0000 (18:36 -0300)]
[media] DocBook: reformat FE_SET_FRONTEND_TUNE_MODE ioctl
Use the proper format for FE_SET_FRONTEND_TUNE_MODE documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 21:15:26 +0000 (18:15 -0300)]
[media] DocBook: move FE_GET_PROPERTY to its own xml file
That helps the xref logic at the Makefile to point to the
right place. Also, it becomes more organized and easier to
maintain if each ioctl have its own xml file.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 21:10:43 +0000 (18:10 -0300)]
[media] DocBook: Rename ioctl xml files
for the xml files describing ioctls, use the same nomenclature
as on V4L2: the ioctl name, in lower case, using - instead of _.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 20:29:22 +0000 (17:29 -0300)]
[media] DocBook: Fix false positive undefined ioctl references
The new code that detects undocumented ioctls hits some false
positives:
This one is not documented, nor it should, as this is
there just to reserve namespace:
Warning: can't find reference for VIDIOC_RESERVED ioctl
But those are already documented together with other ioctls:
Warning: can't find reference for VIDIOC_UNSUBSCRIBE_EVENT ioctl
Warning: can't find reference for FE_GET_PROPERTY ioctl
Warning: can't find reference for VIDIOC_SUBDEV_G_EDID ioctl
Warning: can't find reference for VIDIOC_SUBDEV_S_EDID ioctl
Warning: can't find reference for VIDIOC_SUBDEV_S_DV_TIMINGS ioctl
Warning: can't find reference for VIDIOC_SUBDEV_G_DV_TIMINGS ioctl
Warning: can't find reference for VIDIOC_SUBDEV_QUERY_DV_TIMINGS ioctl
So, we need to just be sure to point to the right documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 19:58:26 +0000 (16:58 -0300)]
[media] DocBook: remove duplicated ioctl from v4l2-subdev
Those ioctls are already parsed. No need to explicitly add
them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 15:42:08 +0000 (12:42 -0300)]
[media] DocBook: Improve xref check for undocumented ioctls
There are several badly documented undocumented ioctls.
Currently, it just generates an empty link. Instead of doing that,
only add references to the ones that exists, and add a warning
for all references that weren't found.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 14:35:44 +0000 (11:35 -0300)]
[media] DocBook: Add xref links for DTV propeties
Create xref links for all DTV properties and link the frontend.h
to each. Also use them at the DVB frontent API example.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 14:04:14 +0000 (11:04 -0300)]
[media] DocBook: Improve the description of the properties API
Make the text clearer about what the properties API does.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 13:28:05 +0000 (10:28 -0300)]
[media] DocBook: Merge FE_SET_PROPERTY/FE_GET_PROPERTY ioctl description
Instead of having two refentries, merge them into just one,
like what's done with other similar ioctls at V4L2 side.
That makes the entry cleaner and will allow to add the associated
structures together with the refentry.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 12:03:55 +0000 (09:03 -0300)]
[media] DocBook: fix xref to the FE open() function
Instead of going to the V4L2 open(), use the xref to the
proper place at the frontend ioctls that were already
reformatted.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 11:48:51 +0000 (08:48 -0300)]
[media] DocBook: rewrite FE_GET_PROPERTY/FE_SET_PROPERTY to use the std way
Use the standard way of documenting ioctls for FE_GET_PROPERTY
and FE_SET_PROPERTY.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 11:47:47 +0000 (08:47 -0300)]
[media] DocBook: move DVB properties to happen earlier at the document
The DVBv5 API uses DVB properties as the main way to set the frontend
and collect statistics. Move the definition to happen earlier, in
order to reflect its importance.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 11:17:53 +0000 (08:17 -0300)]
[media] DocBook: improve documentation for FE_READ_STATUS
Move the ioctl and enum fe_status to a separate xml file and
put it into a better format.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 10:39:46 +0000 (07:39 -0300)]
[media] DocBook: move FE_GET_INFO to a separate xml file
Keeping everything altogether makes harder to reorganize the
DocBook. So, move the FE_GET_INFO ioctl and the associated structures
into a separate file.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 01:56:03 +0000 (22:56 -0300)]
[media] DocBook: reformat FE_GET_INFO ioctl documentation
The DVB part of the docbook has a completely different format
than the V4L2 part, as it was written as a separate document.
As the V4L2 documentation is on better shape, and its format
allows adding more information, let's use it for FE_GET_INFO
and gradually update the non-legacy DVB ioctls using the new
format.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 26 May 2015 10:34:21 +0000 (07:34 -0300)]
[media] dvb: split enum from typedefs at frontend.h
Using typedefs is already bad enough, but doing it together
with enum declaration is even worse.
Also, it breaks the scripts at DocBook that would be generating
reference pointers for the enums.
Well, we can't get rid of typedef right now, but let's at least
declare it on a separate line, and let the scripts to generate
the cross-reference, as this is needed for the next DocBook
patches.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Mon, 25 May 2015 19:44:40 +0000 (16:44 -0300)]
[media] DocBook: move DVBv3 frontend bits to a separate section
Although the recommended usage is the DVBv5 API calls, the
documentation doesn't make it clear about what's the recommended
calls and what's legacy.
So, move the legacy API bits to a separate xml, putting them into
a new section.
Please notice that more changes are needed, since some of the
bits there are cross-referenced elsewhere.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Mon, 25 May 2015 17:24:38 +0000 (14:24 -0300)]
[media] DocBook: Improve DVB frontend description
The DVB frontend API got bitrotten. Update it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Mon, 25 May 2015 17:31:02 +0000 (14:31 -0300)]
[media] DocBook: fix emphasis at the DVB documentation
Currently, it is using 'role="tt"', but this is not defined at
the DocBook 4.5 spec. The net result is that no emphasis happens.
So, replace them to bold emphasis.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Mon, 25 May 2015 16:40:28 +0000 (13:40 -0300)]
[media] DocBook: add drawing with a typical media device
An illustration of what's considered a typical media device
may help people to better understand the contents of the media
infrastructure API docbook. So, add it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Mon, 25 May 2015 16:39:48 +0000 (13:39 -0300)]
[media] DocBook: add a note about the ALSA API
The Docbook mistakenly makes to believe that all needed APIs for
media devices are there. Add a note there pointing that some
sub-devices are actually be controlled via ALSA API.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Mon, 25 May 2015 16:38:01 +0000 (13:38 -0300)]
[media] DocBook: Update DVB supported standards at introduction
The list of standards at the media docbook is incomplete, and it
is mentioning that the DVB-S2 & friends is "currently being updated".
That's wrong, as such update occurred back in 2008.
So, provide a more complete list of supported standards and add
a reference to the actual list.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Wed, 20 May 2015 14:57:49 +0000 (11:57 -0300)]
[media] cx24120: Assume ucb registers is a counter
The ucblocks register is probably a counter and not a rate; assume
it is so and change the calculations as required.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Tue, 14 Apr 2015 18:12:54 +0000 (15:12 -0300)]
[media] dvb-core: fix 32-bit overflow during bandwidth calculation
Frontend bandwidth calculation overflows on very high DVB-S/S2
symbol rates. Use mult_frac() macro in order to keep calculation
correct.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Wed, 20 May 2015 16:52:48 +0000 (13:52 -0300)]
[media] e4000: Fix rangehigh value
As reported by smatch:
drivers/media/tuners/e4000.c:287:32: warning: constant
2208000000 is so big it is long long
drivers/media/tuners/e4000.c:287:32: warning: decimal constant
2208000000 is between LONG_MAX and ULONG_MAX. For C99 that means long long, C90 compilers are very likely to produce unsigned long (and a warning) here
drivers/media/tuners/e4000.c:287:3: warning: this decimal constant is unsigned only in ISO C90
.rangehigh =
2208000000,
^
Cc: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Tue, 12 May 2015 17:26:07 +0000 (14:26 -0300)]
[media] e4000: implement V4L2 subdevice tuner and core ops
Implement V4L2 subdevice tuner and core ops. After that this driver
is hybrid driver implementing both V4L2 and DVB ops.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Tue, 21 Apr 2015 20:13:39 +0000 (17:13 -0300)]
[media] e4000: various small changes
* Rename device state from 's' to 'dev'.
* Move single include to driver private header.
* Change error handling type of each function to one I tend use
nowadays.
* Remove dummy register write from init. Even Windows driver does this
multiple times remove it as I have never seen any I2C errors.
* Define I2C client pointer for each function and use it.
* Do not clean tuner ops during driver remove - not needed.
* Disable sysfs device bind / unbind. We are not allowed manually
bind / unbind device from the driver currently.
* Rename some other variables.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 22 Apr 2015 00:18:45 +0000 (21:18 -0300)]
[media] e4000: revise synthesizer calculation
Update synthesizer calculation to model I prefer nowadays. It is
mostly just renaming some variables to ones I think are most standard.
Also add 'schematic' of synthesizer following my current understanding.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Dan Carpenter [Thu, 14 May 2015 08:39:17 +0000 (05:39 -0300)]
[media] rtl2832_sdr: cleanup some set_bit() calls
This code works fine but static checkers complain. The test_bit()
function takes the bit number and not a mask. Then the other issue is
that we were using USB_STATE_URB_BUF which is BIT(0) instead of URB_BUF.
Also we were open coding that instead of using the test/clear/set_bit()
functions.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Tue, 12 May 2015 11:52:21 +0000 (08:52 -0300)]
[media] cobalt: add new driver
The cobalt device is a PCIe card with 4 HDMI inputs (adv7604) and a
connector that can be used to hook up an adv7511 transmitter or an
adv7842 receiver daughterboard.
This device is used within Cisco but is sadly not available outside
of Cisco. Nevertheless it is a very interesting driver that can serve
as an example of how to support HDMI hardware and how to use the popular
adv devices.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Thu, 7 May 2015 13:37:57 +0000 (10:37 -0300)]
[media] adv7604/adv7842: replace FMT_CHANGED by V4L2_DEVICE_NOTIFY_EVENT
This makes it easier for the bridge driver to just passthrough such
events to the corresponding device node.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
jean-michel.hautbois@vodalys.com [Wed, 18 Mar 2015 10:21:47 +0000 (07:21 -0300)]
[media] v4l2-subdev: allow subdev to send an event to the v4l2_device notify function
All drivers use custom notifications, in particular when source changes.
The bridge only has to map the subdev that sends it to whatever video node it is connected to.
Signed-off-by: Jean-Michel Hautbois <jean-michel.hautbois@vodalys.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Tue, 20 Jan 2015 15:18:16 +0000 (12:18 -0300)]
[media] vb2: allow requeuing buffers while streaming
vb2_buffer_done() already allows STATE_QUEUED, but currently only when not
streaming. It is useful to allow it while streaming as well, as this makes
it possible for drivers to requeue buffers while waiting for a stable
video signal.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Fri, 1 May 2015 14:31:30 +0000 (11:31 -0300)]
[media] adv7842: Make output format configurable through pad format operations
Replace the dummy video format operations by pad format operations that
configure the output format.
Copied from the adv7604 driver.
Note: while arch/blackfin/mach-bf609/boards/ezkit.c uses adv7842_platform_data
this source has not been updated because it is broken since the very
beginning. It depends on a struct adv7842_output_format that does not
exist.
And besides that gcc has no support for bf609 so nobody can compile it
except by installing a toolchain from ADI.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Patrick Boettcher [Wed, 20 May 2015 07:58:49 +0000 (04:58 -0300)]
[media] cx24120: fix minor checkpatch-error
Remove multiple blank likes.
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 19 May 2015 20:32:55 +0000 (17:32 -0300)]
[media] cx24120: Update comment & fix typo
These state vars are used for more than just ber calculation, also
fix typo.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 19 May 2015 20:23:14 +0000 (17:23 -0300)]
[media] cx24120: Check for lock before updating BER & UCB
BER & UCB aren't available unless we're locked; don't update dvbv5
stats when not locked and mark these counters as unavailable.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 19 May 2015 18:52:46 +0000 (15:52 -0300)]
[media] cx24120: Convert ucblocks to dvbv5 stats
DVBv3 is a legacy API. Drivers should use DVBv5, in order to support
modern applications. So, implement UCB using dvbv5.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 19 May 2015 18:29:44 +0000 (15:29 -0300)]
[media] cx24120: Convert read_ber to retrieve from cache
Instead of reading BER again for DVBv3 call, use the value from the cache.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 19 May 2015 18:17:23 +0000 (15:17 -0300)]
[media] cx24120: Add in dvbv5 stats for bit error rate
DVBv3 is a legacy API. Drivers should use DVBv5, in order to support
modern applications. So, implement BER using dvbv5.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Mauro Carvalho Chehab [Tue, 19 May 2015 11:19:47 +0000 (08:19 -0300)]
[media] cx24120: constify static data
Use const on the static data, as gcc may optimize better the
code. Also, would prevent that some code would override the
data there.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Mauro Carvalho Chehab [Tue, 19 May 2015 11:06:52 +0000 (08:06 -0300)]
[media] cx24120: declare cx24120_init() as static
drivers/media/dvb-frontends/cx24120.c:1182:5: warning: no previous prototype for 'cx24120_init' [-Wmissing-prototypes]
int cx24120_init(struct dvb_frontend *fe)
^
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Mauro Carvalho Chehab [Tue, 19 May 2015 11:04:35 +0000 (08:04 -0300)]
[media] cx24120: don't initialize a var that won't be used
As reported by smatch:
drivers/media/dvb-frontends/cx24120.c: In function 'cx24120_message_send':
drivers/media/dvb-frontends/cx24120.c:368:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
int ret, ficus;
^
The values written by cx24120 are never checked. So, remove the
check here too. That's said, the best would be to do the reverse,
but globally: to properly handle the error codes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Jemma Denson [Fri, 15 May 2015 19:08:26 +0000 (16:08 -0300)]
[media] cx24120: Complete modfec_table
Add in all the likely values for setting fec on tuning. Some values
yet to be tested but very likely to be correct.
In the very unlikely event that these are wrong tuning with
FEC_AUTO will still work.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 15 May 2015 18:40:29 +0000 (15:40 -0300)]
[media] b2c2: Reset no_base_addr on skystarS2 attach failure
If set, all the other drivers reset no_base_addr on failure to
attach - git commit for this being added to some of them seems to
be
eccd15aad72f774b2059f708bc422dbb8493bb30
This driver has been floating around outside the mainline for so
long it hasn't had this fix, so add it in.
Whilst here tidy surrounding code to fix style issues.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 8 May 2015 20:36:19 +0000 (17:36 -0300)]
[media] cx24120: More tidying in cx24120_init
Remove reg1 by refactoring for loops
Change ret into an int as it's only used for return values now,
and remove reset_result by using ret instead.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 8 May 2015 20:26:34 +0000 (17:26 -0300)]
[media] cx24120: Tidy cx24120_init
Use reg instead of ret for all calls to readreg, remove ret_EA
as it doesn't need to be a separate var anymore.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 8 May 2015 19:57:56 +0000 (16:57 -0300)]
[media] cx24120: Remove unneccesary assignments in cx24120_init
Probably a remnant of this driver being reverse engineered,
cx24120_init assigned ret on each call to writereg - they're not
used for anything so remove them to clear up the codebase.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 8 May 2015 19:34:31 +0000 (16:34 -0300)]
[media] cx24120: Tidy up calls to dev_dbg
Remove __func__ from calls to dev_dbg as dynamic debug can add in
the function name anyway.
Remove debug call in dvbv3 read_signal_strength as userspace has
this value anyway.
Reword some strings to make them simpler / more obvious.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 8 May 2015 18:52:45 +0000 (15:52 -0300)]
[media] cx24120: Move CNR to DVBv5 stats
Better to report CNR via DVBv5 stats, as scale can be used.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 21:33:27 +0000 (18:33 -0300)]
[media] cx24120: Fix disecq_send_burst command
Previous version of this driver had a memset before every call
to cmd. This meant the default value of cmd.arg[1] was zero unless
burst is set. Make sure it remains zero.
Also fe_sec_mini_cmd_t is an enum, so test against it.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 21:31:10 +0000 (18:31 -0300)]
[media] cx24120: More coding style fixes
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 21:09:45 +0000 (18:09 -0300)]
[media] cx24120: Improve cooked signal strength value
Algorithm copied from cx24117.c - it seems to work. Showing 95% on
a signal I know to be somewhere around 74dBuV.
[mchehab@osg.samsung.net: merged two patches, to avoid breaking compilation]
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 20:47:55 +0000 (17:47 -0300)]
[media] cx24120: Return DVBv3 signal strength from cache
This patch changes DVBv3 signal strength to read from the cache by
moving the signal strength reading routine into get_stat, and
reducing read_signal_strength to just returning the cached value.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 20:18:11 +0000 (17:18 -0300)]
[media] cx24120: Remove additional calls to read_status
get_frontend was making a call to read_status, which is being
called periodically anyway. Have read_status store fe_status in
the state struct instead and use that within get_frontend.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 20:10:13 +0000 (17:10 -0300)]
[media] cx24120: Enable DVBv5 signal strength stats
Previous patch added in collection, this patch enables them by
signalling they are available.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 5 May 2015 19:59:27 +0000 (16:59 -0300)]
[media] cx24120: Add DVBv5 signal strength stats
Add new get_stats function, called from read_status, for
collecting DVBv5 stats into the frontend cache. Only signal
strength for now, can add others later.
Not currently marked as available, future patch will enable.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Sun, 3 May 2015 11:55:15 +0000 (08:55 -0300)]
[media] cx24120: Rework vco function to remove xxyyzz variable
Change calculate_vco function to send_vco to tidy up cx24120_init
function.
xxyyzz variable is remnants of a manual div & remainder codepath
to perform a u64 rounded div; replace with kernel macro
DIV_ROUND_CLOSEST_ULL
Hex values provided to the message are mainly variables calculated
within this function, replace with these to remove hardcoding.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Fri, 1 May 2015 19:20:16 +0000 (16:20 -0300)]
[media] cx24120: Fix hexdump length in writeregs
msg.len has been ++'d so msg.len is one too many.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Thu, 30 Apr 2015 20:05:14 +0000 (17:05 -0300)]
[media] cx24120: Add missing command to cx24120_check_cmd
This patch adds in a missing command to cx24120_check_cmd. This part
of the old reverse engineered driver was quite hard to follow - it's
presumed the compiler did some neat optimisation that wasn't easy to
decode. This command was checked for in that version but not copied
across to the new switch statement.
For reference, old reverse engineered code:
xxzz = cmd->id - 0x11; // look for specific message id
if ( xxzz <= 0x13 ) {
msg_cmd_mask = 1 << xxzz;
//0x0F8021 // if cmd_id 17 or 22 or 33-36, 42, 47, 57-61 etc. disable mpeg output
if ( msg_cmd_mask & 0x0F8021 ) { //
000011111000000000100001b
cx24120_msg_mpeg_output_global_config(state, 0);
msleep(100);
state->dvb_s2_mode &= 0xFD; // reset mpeg out enable flag
}
}
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Thu, 30 Apr 2015 19:37:42 +0000 (16:37 -0300)]
[media] cx24120: Move clock set to read_status
This patch removes the requirement of waiting for tune in
set_frontend by moving the clock set call into read_status
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Thu, 30 Apr 2015 18:01:11 +0000 (15:01 -0300)]
[media] cx24120: Fix minor style typo in Kconfig
This patch changes DVB-S/DVB-S2 to the more commonly used
DVB-S/S2 in the description for DVB_CX24120
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Patrick Boettcher [Tue, 28 Apr 2015 16:39:20 +0000 (13:39 -0300)]
[media] cx24120: fix strict checkpatch-errors
This patches fixes all checkpatch-errors.
Even the ones created --strict.
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Patrick Boettcher [Tue, 28 Apr 2015 16:18:05 +0000 (13:18 -0300)]
[media] cx24120: fix codingstyle issue first round
Mauro pointed out some coding style issues in his review.
This patch fixes them.
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Patrick Boettcher [Tue, 28 Apr 2015 05:53:13 +0000 (02:53 -0300)]
[media] MAINTAINERS: add cx24120-maintainer
Add maintainer for the cx24120 frontend-driver.
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Patrick Boettcher [Tue, 28 Apr 2015 05:47:42 +0000 (02:47 -0300)]
[media] cx24120: i2c-max-write-size is now configurable
Some i2c-hosts are quite limited regarding maximum
i2c-burst-write-sizes. This patch makes the previously
hardcoded field configurable by users of the driver.
Signed-off-by: Patrick Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Patrick Boettcher [Fri, 17 Apr 2015 09:04:53 +0000 (06:04 -0300)]
[media] cx24120: minor checkpatch fixes
This patch fixes printk-related checkpatch warnings. All printks
have been converted to pr_warn or pr_info or pr_err.
Signed-off-by: Patrick.Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Jemma Denson [Tue, 14 Apr 2015 12:04:50 +0000 (09:04 -0300)]
[media] Add support for TechniSat Skystar S2
This patch adds support for the Technisat Skystar S2 - this
has been tried before but the cx24120 driver was a bit out of shape
and it didn't got any further:
https://patchwork.linuxtv.org/patch/10575/
It is an old card, but currently being sold off for next to nothing,
so it's proving quite popular of late. Noticing it's quite similar
to the cx24116 and cx24117 I've rewritten the driver in a similar way.
There were a few registers and commands from those drivers
missing from this one I've tested out and found they do something so
they've been added in to speed up tuning and to make get_frontend
return something useful.
Signed-off-by: Jemma Denson <jdenson@gmail.com>
Signed-off-by: Patrick.Boettcher <patrick.boettcher@posteo.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Fri, 15 May 2015 10:28:02 +0000 (07:28 -0300)]
[media] DocBook/media: fix syntax error
Missing varlistentry tags.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Fri, 8 May 2015 10:55:01 +0000 (07:55 -0300)]
[media] DocBook/media: improve timestamp documentation
Explain which clock was used to make the timestamp.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Fri, 8 May 2015 10:54:35 +0000 (07:54 -0300)]
[media] DocBook/media: remove spurious space
Looks ugly, a space before a period at the end of a sentence. Remove it.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Thu, 7 May 2015 06:26:21 +0000 (03:26 -0300)]
[media] rcar-vin: use monotonic timestamps
Even though the rcar-vin driver tells userspace that it will give a monotonic
timestamp, it is actually using gettimeofday. Replace this with a proper
monotonic timestamp.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Hans Verkuil [Thu, 7 May 2015 06:22:14 +0000 (03:22 -0300)]
[media] sta2x11: use monotonic timestamp
V4L2 drivers should use MONOTONIC timestamps instead of gettimeofday, which is
affected by daylight savings time.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Federico Vaga <federico.vaga@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Prashant Laddha [Tue, 5 May 2015 13:16:27 +0000 (10:16 -0300)]
[media] v4l2-dv-timings: fix overflow in gtf timings calculation
The intermediate calculation in the expression for hblank can exceed
32 bit signed range. This overflow can lead to negative values for
hblank. Typecasting intermediate variable to higher precision.
Cc: Martin Bugge <marbugge@cisco.com>
Signed-off-by: Prashant Laddha <prladdha@cisco.com>
[hans.verkuil@cisco.com: made the denominator u32, since that's what div_u64 expects]
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Ricardo Ribalda [Mon, 4 May 2015 08:07:32 +0000 (05:07 -0300)]
[media] media/vivid: Code cleanout
Remove code duplication by merging two cases in a switch.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Ricardo Ribalda [Mon, 4 May 2015 08:07:29 +0000 (05:07 -0300)]
[media] media/vivid: Add support for Y16 format
Support for V4L2_PIX_FMT_Y16, a 16 bit greyscale format.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Mon, 4 May 2015 00:48:47 +0000 (21:48 -0300)]
[media] rtl28xxu: load SDR module for fc2580 based devices
Load rtl2832_sdr driver for devices having fc2580 tuner.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Mon, 4 May 2015 00:45:43 +0000 (21:45 -0300)]
[media] rtl2832_sdr: add support for fc2580 tuner
Add initial support for fc2580 tuner based devices.
Tuner is controlled via V4L2 subdevice API.
Passes v4l2-compliance tests.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Mon, 4 May 2015 00:42:02 +0000 (21:42 -0300)]
[media] fc2580: implement V4L2 subdevice for SDR control
Implement V4L2 subdevice for bandwidth and frequency controls of
SDR usage. That driver now implements both DVB frontend and V4L2
subdevice. Driver itself is I2C driver. Lets see how it works.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Sun, 3 May 2015 18:16:52 +0000 (15:16 -0300)]
[media] fc2580: calculate filter control word dynamically
Calculate low-pass filter control word dynamically from given radio
channel bandwidth.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Fri, 24 Apr 2015 01:54:03 +0000 (22:54 -0300)]
[media] rtl28xxu: set correct FC2580 tuner for RTL2832 demod
rtl2832 demod driver has support for FC2580 tuner config, no need to
abuse FC0012 settings anymore.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Fri, 24 Apr 2015 01:52:07 +0000 (22:52 -0300)]
[media] rtl2832: add inittab for FC2580 tuner
Add reg/val inittab for FC2580 tuner.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Thu, 16 Apr 2015 10:36:51 +0000 (07:36 -0300)]
[media] tua9001: use div_u64() for frequency calculation
Use div_u64() to simplify and remove home made divides.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 23:38:43 +0000 (20:38 -0300)]
[media] tua9001: use regmap for I2C register access
Use regmap for I2C register access.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 23:26:06 +0000 (20:26 -0300)]
[media] tua9001: various minor changes
Fix logging. Style issues. Rename things.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 22:33:13 +0000 (19:33 -0300)]
[media] tua9001: remove media attach
We are using I2C client binding now, so remove old media attach.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 22:25:32 +0000 (19:25 -0300)]
[media] rtl28xxu: bind tua9001 using I2C binding
Change tua9001 driver from media binding to I2C client binding.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 22:18:40 +0000 (19:18 -0300)]
[media] af9035: bind tua9001 using I2C binding
Change tua9001 driver from media binding to I2C client binding.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 22:12:34 +0000 (19:12 -0300)]
[media] tua9001: add I2C bindings
Add I2C bindings.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 18:01:22 +0000 (15:01 -0300)]
[media] af9035: fix device order in ID list
Driver supports multiple chipset versions. Devices are ordered to
ID table per used chipset type. "ITE 9303 Generic" device uses IT9303
chipset and was added mistakenly between IT9135 IDs.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 16:51:29 +0000 (13:51 -0300)]
[media] fc2580: use regmap for register I2C access
Replace home made register access routines with regmap.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 15:35:47 +0000 (12:35 -0300)]
[media] fc2580: cleanups and variable renames
Rename driver state from priv to dev.
Remove legacy i2c-gate control.
Use I2C client for proper dev_() logging.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari [Wed, 15 Apr 2015 15:10:54 +0000 (12:10 -0300)]
[media] fc2580: improve set params logic
Calculate PLL dividers slightly differently, most likely it is now
correct. Move some register values to innitab. Use jiffies to poll
filter lock. Fix logging.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>