Commit Graph

321669 Commits

Author SHA1 Message Date
Javier Martin
8f0755c06b [media] media: Add mem2mem deinterlacing driver
Some video decoders such as tvp5150 provide separate
video fields (V4L2_FIELD_SEQ_TB/BT). This driver uses
dmaengine to convert this format to V4L2_FIELD_INTERLACED_TB/BT
(weaving) or V4L2_FIELD_NONE (line doubling) so that the
image can be displayed or processed.

Of course there will be combing effect in the image but this
can be accepted for some low quality applications.

Currently only YUV420 and YUYV formats are supported but
it can be extended later.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-06 09:02:55 -03:00
Javier Martin
b6c14dc297 [media] Visstrim M10: Add support for Coda
Support the codadx6 that is included in
the i.MX27 SoC.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-06 09:02:54 -03:00
Javier Martin
186b250a07 [media] media: coda: Add driver for Coda video codec
Coda is a range of video codecs from Chips&Media that
support H.264, H.263, MPEG4 and other video standards.

Currently only support for the codadx6 included in the
i.MX27 SoC is added. H.264 and MPEG4 video encoding
are the only supported capabilities by now.

[mchehab@redhat.com: Add missing include linux/of.h]
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Reviewed-by: Philipp Zabel<p.zabel@pengutronix.de>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-06 09:02:23 -03:00
Javier Martin
6d8c4529f8 [media] i.MX: coda: Add platform support for coda in i.MX27
i.MX27 SoC include a codadx6 codec that is able to encode
and decode H.264, H.263 and MPEG4.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-06 08:32:23 -03:00
Mauro Carvalho Chehab
ccc0e3483c [media] move dvb-usb-ids.h to dvb-core
While this header were meant to be used just by dvb-usb driver, it
is now being used also by dvb-usb-v2 and cx231xx. So, move it to a
better place.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-05 19:53:26 -03:00
Antti Palosaari
355b4b2b5e [media] dvb_usbv2: rename dvb_usb_firmware to cypress_firmware
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:40 -03:00
Antti Palosaari
eb29fbeaed [media] af9015: remote controller fixes
1)
AF9015 remote controller query will fail rarely due to register
access failures and dvb_usb_v2 will stop rc polling when error
returned. Add logic to allow errors until two consecutive errors
occurs.

2)
Remote controller key map was not loaded in case of key map was set as
a device property. Fix it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:40 -03:00
Antti Palosaari
ad6b9e517b [media] dvb_usb_v2: move from dvb-usb to dvb-usb-v2
Move to own directory.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:40 -03:00
Antti Palosaari
4d2e596ac8 [media] gl861: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:40 -03:00
Antti Palosaari
8572211842 [media] mxl111sf: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:39 -03:00
Antti Palosaari
de73beeed0 [media] dvb_usb_v2: register device even no remote keymap defined
It failed to register device when remote keymap was not set.
Fix it to register device even keymap is NULL. In that case
just skip remote registration.

Driver should set RC_MAP_EMPTY to enable remote in case of
there is remote receiver but default keymap is unknown.

Reported-by: pierigno <pierigno@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:39 -03:00
Antti Palosaari
5674ca257c [media] dvb_usb_v2: remove usb_clear_halt() from stream
It works no longer as it was designed since we can change streaming
configuration during device operation.

Maybe it should be performed conditionally on cases when streaming
endpoint is changed. Anyhow, let it out now and add later if needed.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:39 -03:00
Antti Palosaari
b62fd172ff [media] dvb_usb_v2: do not try to remove non-existent adapter
Check that adapter exists before trying to remove it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:39 -03:00
Antti Palosaari
d10d1b9ac9 [media] dvb_usb_v2: use dev_* logging macros
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:39 -03:00
Antti Palosaari
a13a6e1f9d [media] dvb_usb_v2: change streaming control callback parameter
Pass frontend instead of adapter as some drivers need to make
decisions based frontend.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:38 -03:00
Antti Palosaari
18cfe03d32 [media] dvb_usb_v2: fix power_ctrl() callback error handling
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:38 -03:00
Antti Palosaari
12042b0593 [media] dvb_usb_v2: update copyrights
Signed-off-by: Antti Palosaari <crope@iki.fi>
Cc: Patrick Boettcher <patrick.boettcher@desy.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:38 -03:00
Antti Palosaari
edc7d44834 [media] dvb_usb_v2: remove unused variable
It was left from the legacy remote controller we do not support.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:38 -03:00
Antti Palosaari
f93c802887 [media] dvb_usb_v2: update header dvb_usb.h comments
Comment briefly all used structures and variables.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:38 -03:00
Antti Palosaari
1162c7b383 [media] dvb_usb_v2: refactor dvb_usbv2_generic_rw()
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:37 -03:00
Antti Palosaari
831511bdee [media] dvb_usb_v2: multiple small tweaks around the code
Naming, small code changes, debug writings, etc.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:37 -03:00
Antti Palosaari
9f6f82ee61 [media] dvb_usb_v2: move dvb_usbv2_generic_rw() debugs behind define
It is nice to have this debug, but as it generates very huge amount
of traffic, better to make it conditional. Use define macro to disable
it as I did not find out how to use dynamic debugs to dump variable
length buffers like that.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:37 -03:00
Antti Palosaari
41a0abf710 [media] dvb_usb_v2: merge files dvb_usb_init.c and dvb_usb_dvb.c
Merge files dvb_usb_init.c and dvb_usb_dvb.c to dvb_usb_core.c.
It is still under 1000 lines of code after all the optimization
so put it one file.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:37 -03:00
Antti Palosaari
62a5f449ca [media] dvb_usb_v2: refactor dvb_usb_ctrl_feed() logic
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:37 -03:00
Antti Palosaari
5cd983200a [media] dvb_usb_v2: remove num_adapters_initialized variable
We can live easily without it so remove it, make code and binary
few bytes smaller.

>From struct dvb_usb_device variable int num_adapters_initialized.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:37 -03:00
Antti Palosaari
a0921af7eb [media] dvb_usb_v2: use identify_state() to resolve firmware name
Merge get_firmware_name() to identify_state().

It is wise to resolve firmware name in that routine as it does
decision wether or not to load firmware at all. It is one very
rarely needed callback less.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:36 -03:00
Antti Palosaari
b905a2a133 [media] dvb_usb_v2: merge get_ts_config() to get_usb_stream_config()
Piggypag TS type callback to USB stream callback and change
callback name slightly to fit better.
Both of those are rather rare callback and has a relation. Transport
Stream, TS, is input stream and USB stream is output stream of
DVB USB bridge.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:36 -03:00
Antti Palosaari
ec0dd2f20c [media] dvb_usb_v2: use container_of() for adapter to device
We dont need that pointer as we can use container_of() macro thus
remove it.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:36 -03:00
Antti Palosaari
2731d4ed77 [media] ec168: use DVB UDB macros
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:36 -03:00
Antti Palosaari
232b6968b1 [media] ce6230: use DVB USB macros
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:36 -03:00
Antti Palosaari
a1da814642 [media] au6610: use DVB USB macros
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari
05cd62e0f8 [media] anysee: use DVB USB macros
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari
4edcf22bf2 [media] dvb_usb_v2: git rid of dvb_usb_adapter state variable
We can live without it easily.

Also USB data stream complete callback checks for feedcount
seems to be quite redundant so remove those also.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari
5da2aecb46 [media] af9035: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari
191f79a4d7 [media] dvb_usb_v2: use lock to sync feed and frontend control
There was synchronization problem when streaming was stopped.
Frontend was ran down before stream which causes problems.
Use mutex to synchronization. Now it looks like that:
LOCK
start frontend
UNLOCK
LOCK
start streaming
[...]
stop streaming
UNLOCK
LOCK
stop frontend
UNLOCK

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari
e80896616c [media] af9015: use helper macros for some pointers
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:35 -03:00
Antti Palosaari
f89f9ff883 [media] dvb_usb_v2: helper macros for device/adapter/frontend pointers
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari
1a590010a2 [media] af9015: update USB streaming configuration logic
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari
6400a8c5af [media] dvb_usb_v2: change USB stream config logic
Initial / default USB stream configuration is now set always as a
dvb_usb_device_properties. Dynamic configuration is done top of
that if callback .get_usb_stream_config() exists. Default values
are set when callback is called so callback needs only change
values that are different than default.

In addition of that define two macros DVB_USB_STREAM_BULK() and
DVB_USB_STREAM_ISOC() for filling struct usb_data_stream_properties

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari
12077a3aa4 [media] dvb_usb_v2: add macros to fill USB stream properties
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari
ddee56943a [media] dvb_usb_v2: .read_mac_address() callback changes
Give DVB adapter as a parameter for callback. MAC address is
adapter property and it could be (at least in theory) there
is devices having multiple adapters and all has own MAC.

Also add error handling. If callback fails error is returned
which leads device unregister.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari
dd5e52cdf9 [media] dvb_usb_v2: remove num_frontends_initialized from dvb_usb_adapter
We can live easily without that variable.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:34 -03:00
Antti Palosaari
6dca4ea3ec [media] dvb_usb_v2: move fe_ioctl_override() callback
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:33 -03:00
Antti Palosaari
d70521a396 [media] dvb_usb_v2: get rid of dvb_usb_device state
Remove state from struct dvb_usb_device as we can live without.
Add some debug logs.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:33 -03:00
Antti Palosaari
ad26183931 [media] dvb_usb_v2: simplify remote init/exit logic
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:33 -03:00
Antti Palosaari
6e3a5daa6e [media] dvb_usb_v2: try to remove all adapters on exit
It did not removed adapter on error case as .num_adapters_initialized
was set after success adapter initialization. It should be safe to
try remove all possible adapters in any-case.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:33 -03:00
Antti Palosaari
ffe4ac92ee [media] dvb_usb_v2: do not release USB interface when device reconnects
USB core will call disconnect and remove driver for us as device
will disconnect itself. After that it is loaded again as a new
device but it is warm and no firmware loading needed.

Reported-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:32 -03:00
Malcolm Priestley
c65bcb95be [media] dvb_usb_v2: return the download ret in dvb_usb_download_firmware
The first being this patch, no return value from dvb_usb_download_firmware
causes system wide dead lock with COLD disconnect as system attempts to continue
to warm state.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:32 -03:00
Antti Palosaari
a4e7c51edd [media] anysee: convert to new DVB USB
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:32 -03:00
Antti Palosaari
2cc53dc828 [media] dvb_usb_v2: attach tuners later
It is more than nice to have all those frontend pointers when
attaching tuner to the frontend in question. Make that possible
attaching tuners after dvb_register_frontend()

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-04 07:56:32 -03:00