Marek Szyprowski [Tue, 17 Jun 2014 15:33:33 +0000 (17:33 +0200)]
usb: gadget: s3c-hsotg: delay enabling irq once hardware is configured properly
This patch fixes kernel panic/interrupt storm/etc issues if bootloader
left s3c-hsotg module in enabled state. Now interrupt handler is enabled
only after proper configuration of hardware registers.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I665fde86a7ca018e0d19610877828d0495535ade
Hyungwon Hwang [Fri, 20 Jun 2014 10:24:59 +0000 (19:24 +0900)]
arm: dts: odroid: make the gpio key node for power key common
The gpio key for power enable is common in both of Odroid X2 and U3. So move the
dt node to the common odroid dt file from the odroid x2 dt file.
Change-Id: Id295289e092bcd71f9854de6896cb7d5cfae9540
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Hyungwon Hwang [Fri, 20 Jun 2014 11:05:27 +0000 (20:05 +0900)]
mfd: max77686: check the interrupt is specified or not
For the cases which the interrupt for this device is not specified, it must be
checked whether it is or not. Without it, an error occurs, because some
operations are done on the interrupt number which is not specified well.
Change-Id: Idc0a4b0f1e99f0f1022795927c54c1d3f56a4459
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Hyungwon Hwang [Fri, 20 Jun 2014 08:37:10 +0000 (17:37 +0900)]
arm: tizen_odroid_defconfig: enable mmc unsafe resume
Enable mmc unsafe resume. This option is needed for the system which uses the mmc
card for rootfs. Without it, errors occur when the system is being suspended,
because the mmc card is removed too early.
Change-Id: Iba885bda33d426df1cd83f9b2bb22d3744ca3f44
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
YoungJun Cho [Wed, 18 Jun 2014 09:14:00 +0000 (18:14 +0900)]
drm/exynos: use wait_event_timeout() for safety usage
There could be the case that the page flip operation isn't finished correctly
with some abnormal condition such as panel reset. So this patch replaces
wait_event() with wait_event_timeout() to avoid waiting for page flip completion
infinitely.
And clears exynos_crtc->pending_flip in exynos_drm_crtc_page_flip()
when exynos_drm_crtc_mode_set_commit() is failed.
Change-Id: Ib110ff1d6089394da37ba5a8375a4efdd6128672
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
YoungJun Cho [Fri, 11 Apr 2014 08:34:30 +0000 (17:34 +0900)]
drm/exynos: dsi: move the EoT packets configuration point
This configuration could be used in MIPI DSI command mode also.
Change-Id: I7f0f088296cd56d8b68dc9ae6ff910dd63e84d89
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Sylwester Nawrocki [Thu, 12 Jun 2014 13:57:01 +0000 (15:57 +0200)]
ASoC: odroidx2_max98090: Drop unnecessary of_node check
There is no way we can have probe() called with dev->of_node being
NULL on Exynos, so remove the unneeded check.
Change-Id: Icc815a56d2c0da14240dabc2097836e59117ccac
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 12 Jun 2014 13:50:48 +0000 (15:50 +0200)]
ASoC: odroidx2_max98090: Drop unneeded assignment to NULL
odroidx2_dai is a static variable so reinitialization of some
of its members to NULL can be removed.
Change-Id: I8448a6166a5008640ef3fd5d467acbcbc8e3cea9
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Thu, 12 Jun 2014 13:48:29 +0000 (15:48 +0200)]
ASoC: odroidx2_max98090: Make debug logs dev_dbg()
It's just a debug information so make it dev_dbg(). While at it
use snd_pcm_stream_str() rather than open coding it.
Change-Id: Ib3c9820660bc69fb0c98a12762c6c009a55a6020
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Sylwester Nawrocki [Mon, 16 Jun 2014 14:08:48 +0000 (16:08 +0200)]
ASoC: odroidx2_max98090: Indentation changes
Purely cosmetic, i.e. no functionality changes.
Change-Id: I092e33f8a944c495cbb1ba6f1255c9794f4e76fc
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Huang Chao [Fri, 13 Jun 2014 05:28:36 +0000 (13:28 +0800)]
ASoC: samsung: dma: Implement audio pause/resume callback operations
When the dma operations get called from audio platform driver, and
users want to pause or resume the audio pcm stream when playback music,
there should be the related pause and release callback operations for
such requirements. This patch just implements the audio pause/resume
callback operations by simply call the corresponding functions from
the dma engine subsystem.
Change-Id: Ifed8d2acf1cbc09f1bd5d37151dcf74255b20da0
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Fri, 13 Jun 2014 06:11:11 +0000 (14:11 +0800)]
ASoC: samsung: dma: Add pause/resume support for pcm stream information
This patch expands the sound pcm hardware information set, which makes
dma driver support audio stream pause/resume when playback music, and
triggering the push/release commands respectively.
Change-Id: I2f89c13afd335c964d144e9ba1b9d101ceb14a0d
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Fri, 13 Jun 2014 05:58:31 +0000 (13:58 +0800)]
ASoC: samsung: dma: Implement audio stream pause/resume interfaces
This patch implements the pause/resume operations for audio stream
when users are playback the music, which will call the correlative
pause/resume callbacks from samsung dma operations set.
Change-Id: I151a9b48152dab52b9b618c54af4200fecd3fd8a
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Fri, 13 Jun 2014 04:36:49 +0000 (12:36 +0800)]
ASoC: samsung: dma: Define audio pause/resume callback operations
When this set of dma operations get called from audio platform
driver, and users want to set the audio pcm stream to pause or
resume state when playback music, there should be the related
pause and release callback operations for such requirements.
Change-Id: Id872285c0c4bc0c5cc537aad0622b1b6d697f049
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Fri, 13 Jun 2014 03:22:17 +0000 (11:22 +0800)]
dma: pl330: Implement the dma channel pause/resume interfaces
This patch implements dma pause and resume interfaces for the
pl330 dmac driver. When the dmaengine_pause callback is called
from audio platform driver, the pl330 driver should handle the
pause command. And when the dmaengine_resume callback function
is called, the pl330 driver should handle the resume command.
In order not to return error code for pause/resume operation,
currently there is nothing implemented for pause and resume
switch interfaces, and there might have some continuous work
for pl330 channel configuration in the future. However, the
odroidx2/u3 board can pause/resume with this implementation.
Change-Id: I584106a4d7861fde308997e6843088fbf0a9b1bb
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Inki Dae [Fri, 13 Jun 2014 08:44:40 +0000 (17:44 +0900)]
drm/exynos: hdmi: fix power order issue
This patch resolves page fault issue of Mixer when disabled.
The SFRs of VP and Mixer are updated by Vertical Sync of Timing
generator which is a part of HDMI so the sequence to disable TV
Subsystem should be as following:
VP -> Mixer -> HDMI
For this, this patch disables Mixer and VP (if used) prior to
disabling HDMI.
Change-Id: I85591e66264c9e5b7efe7ddf7fe71df1b9972356
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Inki Dae [Fri, 13 Jun 2014 06:25:32 +0000 (15:25 +0900)]
Revert "drm/exynos: do hdmi power control by crtc DPMS"
This reverts commit
4d1a75bbabd92b458e8f8cf1d3c071efc873cc87.
Change-Id: I4b56d6ac44586580c4a6d871e20064aacce30331
Hans Verkuil [Wed, 29 Jan 2014 16:36:53 +0000 (13:36 -0300)]
vb2: fix buf_init/buf_cleanup call sequences
Ensure that these ops are properly balanced.
There are two scenarios:
1) for MMAP buf_init is called when the buffers are created and buf_cleanup
must be called when the queue is finally freed. This scenario was always
working.
2) for USERPTR and DMABUF it is more complicated. When a buffer is queued
the code checks if all planes of this buffer have been acquired before.
If that's the case, then only buf_prepare has to be called. Otherwise
buf_cleanup needs to be called if the buffer was acquired before, then,
once all changed planes have been (re)acquired, buf_init has to be
called followed by buf_prepare. Should buf_prepare fail, then buf_cleanup
must be called on the newly acquired planes to release them in.
Finally, in __vb2_queue_free we have to check if the buffer was actually
acquired before calling buf_cleanup. While that it always true for MMAP
mode, it is not necessarily true for the other modes. E.g. if you just
call REQBUFS and close the file handle, then buffers were never queued and
so no buf_init was ever called.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
[Backport from upstream to support dmabuf memory]
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Change-Id: I9a020bd5bca6376f70f3a9a85cce63ff0ff555ed
Daniel Borkmann [Sun, 29 Dec 2013 17:27:12 +0000 (18:27 +0100)]
netfilter: x_tables: lightweight process control group matching
It would be useful e.g. in a server or desktop environment to have
a facility in the notion of fine-grained "per application" or "per
application group" firewall policies. Probably, users in the mobile,
embedded area (e.g. Android based) with different security policy
requirements for application groups could have great benefit from
that as well. For example, with a little bit of configuration effort,
an admin could whitelist well-known applications, and thus block
otherwise unwanted "hard-to-track" applications like [1] from a
user's machine. Blocking is just one example, but it is not limited
to that, meaning we can have much different scenarios/policies that
netfilter allows us than just blocking, e.g. fine grained settings
where applications are allowed to connect/send traffic to, application
traffic marking/conntracking, application-specific packet mangling,
and so on.
Implementation of PID-based matching would not be appropriate
as they frequently change, and child tracking would make that
even more complex and ugly. Cgroups would be a perfect candidate
for accomplishing that as they associate a set of tasks with a
set of parameters for one or more subsystems, in our case the
netfilter subsystem, which, of course, can be combined with other
cgroup subsystems into something more complex if needed.
As mentioned, to overcome this constraint, such processes could
be placed into one or multiple cgroups where different fine-grained
rules can be defined depending on the application scenario, while
e.g. everything else that is not part of that could be dropped (or
vice versa), thus making life harder for unwanted processes to
communicate to the outside world. So, we make use of cgroups here
to track jobs and limit their resources in terms of iptables
policies; in other words, limiting, tracking, etc what they are
allowed to communicate.
In our case we're working on outgoing traffic based on which local
socket that originated from. Also, one doesn't even need to have
an a-prio knowledge of the application internals regarding their
particular use of ports or protocols. Matching is *extremly*
lightweight as we just test for the sk_classid marker of sockets,
originating from net_cls. net_cls and netfilter do not contradict
each other; in fact, each construct can live as standalone or they
can be used in combination with each other, which is perfectly fine,
plus it serves Tejun's requirement to not introduce a new cgroups
subsystem. Through this, we result in a very minimal and efficient
module, and don't add anything except netfilter code.
One possible, minimal usage example (many other iptables options
can be applied obviously):
1) Configuring cgroups if not already done, e.g.:
mkdir /sys/fs/cgroup/net_cls
mount -t cgroup -o net_cls net_cls /sys/fs/cgroup/net_cls
mkdir /sys/fs/cgroup/net_cls/0
echo 1 > /sys/fs/cgroup/net_cls/0/net_cls.classid
(resp. a real flow handle id for tc)
2) Configuring netfilter (iptables-nftables), e.g.:
iptables -A OUTPUT -m cgroup ! --cgroup 1 -j DROP
3) Running applications, e.g.:
ping 208.67.222.222 <pid:1799>
echo 1799 > /sys/fs/cgroup/net_cls/0/tasks
64 bytes from 208.67.222.222: icmp_seq=44 ttl=49 time=11.9 ms
[...]
ping 208.67.220.220 <pid:1804>
ping: sendmsg: Operation not permitted
[...]
echo 1804 > /sys/fs/cgroup/net_cls/0/tasks
64 bytes from 208.67.220.220: icmp_seq=89 ttl=56 time=19.0 ms
[...]
Of course, real-world deployments would make use of cgroups user
space toolsuite, or own custom policy daemons dynamically moving
applications from/to various cgroups.
[1] http://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-biondi/bh-eu-06-biondi-up.pdf
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: cgroups@vger.kernel.org
Acked-by: Li Zefan <lizefan@huawei.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
[backport from upstream commit
82a37132f300ea53bdcd812917af5a6329ec80c3]
Signed-off-by: Przemyslaw Kedzierski <p.kedzierski@samsung.com>
Change-Id: Iac82ecef5b31a50f52ad9329bdd0403c667f154d
Huang Chao [Thu, 12 Jun 2014 06:42:58 +0000 (14:42 +0800)]
ASoC: samsung: odroidx2/u3: Remove unnecessary system clock setting
This patch removes the redundant sysclk setting of odroid cpu_dai.
Since the audio working mode has been changed from I2S master mode
to I2S slave mode, so we don't need to set the cpu_dai I2S clock
mode to operation any more. Besides, the hw_params function will
set cpu_dai I2S sysclk to CDCCLK mode, which makes the cpu_dai to
use the system clock generated by audio codec max98090.
Change-Id: Ia09f9774c07d22991a706eff6553892b9d7ca39c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Wed, 11 Jun 2014 04:23:14 +0000 (12:23 +0800)]
ASoC: samsung: odroidx2/u3: Add secondary I2S bind DAI link
This patch enables the I2S0 secondary DAI and create a
related audio playback device node, which will use the
internal DMA (IDMA) platform driver for PCM data transfer.
IDMA can support up to two channel sound for playback.
Change-Id: If7a84437cf0dda6d018ced22f52e4e995b72f01c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Thu, 12 Jun 2014 06:10:45 +0000 (14:10 +0800)]
ASoC: samsung: odroidx2/u3: Fix the checking out code style problem
This patch fix the redundant line continuation problem checked over:
./scripts/checkpatch.pl -f ./sound/soc/samsung/odroidx2_max98090.c
WARNING: Avoid unnecessary line continuations
\#52: FILE: sound/soc/samsung/odroidx2_max98090.c:52:
+ ((substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? \
total: 0 errors, 1 warnings, 145 lines checked
./sound/soc/samsung/odroidx2_max98090.c has style problems, please
review.
If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
Change-Id: Idf5a7c8a57c06e5b35401c24141d740887c5d65c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Michal Nazarewicz [Fri, 6 Jun 2014 09:12:52 +0000 (11:12 +0200)]
usb: gadget: f_fs: resurect usb_functionfs_descs_head structure
Even though usb_functionfs_descs_head structure is now deprecated,
it has been used by some user space tools. Its removel in commit
[ac8dde1: “Add flags to descriptors block”] was an oversight
leading to build breakage for such tools.
Bring it back so that old user space tools can still be build
without problems on newer kernel versions.
Reported-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Reported-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Cc: <stable@vger.kernel.org> # 3.14
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Commit taken from linux-usb mailing list. Not merged yet but
required to fix build of FFS apps.
Change-Id: I90fc3786f043aca9463e255ad9900c2d341fd17b
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Inha Song [Fri, 2 May 2014 04:37:06 +0000 (13:37 +0900)]
ASoC: samsung: add audio interface support for BT, modem, idma
- Support for BT and mode, add Digital Audio Interface 2 and 3.
- Support for idma, modify Secondary DAI's cpu_dai_name and platform_name.
Change-Id: I90fc3786f043aca9463e255ad3388c2d341fd17b
Signed-off-by: Inha Song <ideal.song@samsung.com>
Inha Song [Wed, 30 Apr 2014 11:09:09 +0000 (20:09 +0900)]
ASoC: samsung: Modify i2s driver to support idma
i2s-sec driver uses the internal dma.
Because ASoC idma devices are not registered as platform device,
asoc_idma_platform_register() should be called for idma registration.
Change-Id: Iaf7b0c0e3cdf66f4eda720cd705cf802c391d76b
Signed-off-by: Inha Song <ideal.song@samsung.com>
Inha Song [Wed, 30 Apr 2014 11:41:52 +0000 (20:41 +0900)]
arm: dts: exynos4: add i2s0 irq number for exynos4
Add i2s0 irq number by referring to the GIC interrupt table of exynos4.
Change-Id: I29cab56b672fa353f5acaecd34ed76804c182cbd
Signed-off-by: Inha Song <ideal.song@samsung.com>
Inha Song [Wed, 30 Apr 2014 11:05:03 +0000 (20:05 +0900)]
ASoC: Samsung: Add irq member in s3c_dma_params struct
ASoC dma/idma devices are not registered as platform device any more.
In order to save irq value, "irq" member is added to the s3c_dma_params
data structure.
Change-Id: I1bfd0cfd9a6b4d67582dddade52b4eb4822afcac
Signed-off-by: Inha Song <ideal.song@samsung.com>
Inha Song [Wed, 30 Apr 2014 07:04:28 +0000 (16:04 +0900)]
ASoC: Samsung: Don't register idma device as platform device
Previously, the ASoC idma was instantiated via a platform_device.
But it was a virtual device with sole purpose to call snd_soc_register_platform().
Each Samsung DAI now registers the ASoC 'platform' itself.
Change-Id: Ie1c9b2bdf5522dc085fe2bbb271cd9ceb86252f7
Signed-off-by: Inha Song <ideal.song@samsung.com>
Chao Bi [Mon, 14 Apr 2014 03:19:53 +0000 (11:19 +0800)]
usb: gadget: ffs: race between ffs_epfile_io() and ffs_func_eps_disable()
ffs_epfile_io() is called from userspace, while ffs_func_eps_disable() might be
called from USB disconnect interrupt, the two functions would run in parallel
but they are not well protected, that epfile->ep would be removed by
ffs_func_eps_disable() during ffs_epfile_io() is referring this pointer, then
it leads to kernel PANIC.
The scenario is as below:
Thread 1 Thread 2
| |
SyS_read dwc3_gadget_disconnect_interrupt
| |
ffs_epfile_read reset_config
| |
ffs_epfile_io ffs_func_eps_disable
| |
----- usb_ep_disable(): epfile->ep->ep->desc = NULL
| |
usb_ep_align_maybe(): -----
it refers ep->desc->wMaxPacketSize -----
Signed-off-by: Chao Bi <chao.bi@intel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[backport from upstream commit
97839ca4b06ab27790700ad7da6be9a75fc0cc1d]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: I97839ca4b06ab27790700ad7da6be9a75fc0cc1d
Mauro Carvalho Chehab [Thu, 26 Jun 2014 13:50:52 +0000 (10:50 -0300)]
Kconfig: enable snd-usb-audio module
HVR950Q analog TV outputs audi via snd-usb-audio. Enable
it, in order to have analog TV fully working.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:58 +0000 (13:54 -0300)]
upstream: [media] au0828: don't hardcode height/width
While this device doesn't have a scaler (or have it disabled),
the screen dimentions are a function of the standard. Ok, right
now, only 480 lines standards are implemented, although it
supports other ones. Yet, let's calculate the size, to make
easier to add more standards latter.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
1fe3a8fe4944
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:57 +0000 (13:54 -0300)]
upstream: [media] au0828: Only alt setting logic when needed
It seems that there's a bug at au0828 hardware/firmware
related to alternate setting: when the device is already at
alt 5, a further call causes the URBs to receive -ESHUTDOWN.
I found two different encarnations of this issue:
1) at qv4l2, it fails the second time we try to open the
video screen;
2) at xawtv, when audio underrun occurs, with is very
frequent, at least on my test machine.
The fix is simple: just check if alt=5 before calling
set_usb_interface().
Cc: stable@vger.kernel.org
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
64ea37bbd8a5
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:56 +0000 (13:54 -0300)]
upstream: [media] au0828/au8522: Add PAL-M support
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
f2fd7ce6f2db
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:55 +0000 (13:54 -0300)]
upstream: [media] au8522: Fix demod analog mode setting
There are several issues on the current code:
1) msleep(1) is actually equivalent to msleep(10);
2) au8522_video_set() will set reg 0xa4 to the
proper value for SIF, CVBS or S-Video. No need
to force it to CVBS;
3) Let's not hardcode 0x9d for CBS on audio_set.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
c9f5ccc24d1c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:54 +0000 (13:54 -0300)]
upstream: [media] au8522: cleanup s-video settings at setup_decoder_defaults()
setup_decoder_defaults() doesn't really care about the input
port. All it needs to know is if the input port is s-video or
not.
As the caller function already knows that, just pass a boolean
instead.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
65c8820912d9
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:53 +0000 (13:54 -0300)]
upstream: [media] au8522: be sure that we'll setup audio routing at the right time
Let's set the the audio routing also at stream start. With this change,
we don't risk enabling the analog demux while not streaming, reducing
the risk of interfering with a DVB demux that might be happening.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
d289cdf022c5
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:52 +0000 (13:54 -0300)]
upstream: [media] au8522: be sure that the setup will happen at streamon time
The same demod is used on both analog and digital mode. We should
not let the commands for analog mode to happen while the device
is in digital mode. So, monitor it via streamon.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
38fe3510fa8f
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Sun, 8 Jun 2014 16:54:51 +0000 (13:54 -0300)]
upstream: [media] au8522: move input_mode out one level
The input mode is used not only inside the setup_decoder_defaults()
but also at au8522_*_mode routines.
So, move it one level up. As an advantage, we can now group the
function that sets the input into just one.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
364693166cf4
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Mon, 9 Jun 2014 21:49:01 +0000 (18:49 -0300)]
upstream: [media] au0828: add missing tuner Kconfig dependency
The analog part of au0828 is missing the tuner Kconfig dependency.
That makes the device to not work while in analog mode.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
0bf49ec9f7e2
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 17:44:57 +0000 (14:44 -0300)]
upstream: [media] dib7000p: Callibrate signal strength
Calibrate the signal strength to dB.
For this callibration, I used adapter 0 (antenna 1), connected
via a normal cable to a DTF-2111 generator.
The same cabling and RF generator connected to adapter 1
(antenna 2) has a difference of +3dBm (signal was stronger
there).
Yet, changing the RF for a difference of, let's say, 6dB
reflected on a 6dB difference at the measured signal, with
is good.
So, the signal strengh can indeed be used to measure the
antenna gain, if the antenna is repositioned. It is
not precise to measure the absolute dBm value, however.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
3926d91a6b93
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 17:44:56 +0000 (14:44 -0300)]
upstream: [media] dib7000p: Add DVBv5 stats support
Adds DVBv5 stats support. For now, just mimic whatever dib8000
does, as they're very similar, with regards to statistics.
However, dib7000p_get_time_us() likely require some
adjustments, as I didn't actually reviewed the formula
for it to work with DVB-T. Still, better than nothing,
as latter patches can improve it.
This patch also doesn't show the signal strength in dB
yet. The code is already there, but it requires to be
callibrated.
A latter patch will do the calibration.
It seems that this patch is also a bug fix: Before this
patch, the frontend were not tuning with some userspace
tools. I suspect that dib7000p firmware or hardware
internally expects that the statistics to be collected,
in order for it to work. With this patch, the DVB core
will always retrive statistics, even if userspace doesn't
request. So, it makes the device work on all tested apps.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
041ad449683b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 12:20:17 +0000 (09:20 -0300)]
upstream: [media] dib8000: export just one symbol
Exporting multiple symbols don't work as it causes compilation
breakages, due to the way dvb_attach() works.
The bug happens when:
CONFIG_DVB_DIB8000=m
CONFIG_DVB_USB_DIB0700=y
As a bonus, dib8000 won't be loaded anymore if the device uses
a different frontend, reducing the memory footprint.
Tested with both Pixelview PV-D231 and MyGica S870.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
d44913c1e547
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 12:20:16 +0000 (09:20 -0300)]
upstream: [media] dib8000: rename dib8000_attach to dib8000_init
Well, what we call as "foo_attach" is the method that should
be called by the dvb_attach() macro.
It should be noticed that the name "dvb_attach" is really a
bad name and don't express what it does.
dvb_attach() basically does three things, if the frontend is
compiled as a module:
- It lookups for the module that it is known to have the
given symbol name and requests such module;
- It increments the module usage (anonymously - so lsmod
doesn't print who loaded the module);
- after loading the module, it runs the function associated
with the dynamic symbol.
When compiled as builtin, it just calls the function given to it.
As dvb_attach() increments refcount, it can't be (easily)
called more than once for the same module, or the kernel
will deny to remove the module, because refcount will never
be zeroed.
In other words, the function name given to dvb_attach()
should be one single symbol that will always be called
before any other function on that module to be used.
For almost all DVB frontends, there's just one function,
but, on dib8000, there are several exported symbols.
We need to get rid of all those direct calls, because they
cause compilation breakages when bridge is builtin and
frontend is module, we'll need to add a new function that
will be the first one to be called, whatever initialization
is needed.
So, let's rename this function, in order to prepare for
a next patch that will add a new attach() function that
will be the only one exported by this module.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
b9bc7d59b725
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 12:20:15 +0000 (09:20 -0300)]
upstream: [media] dib7000: export just one symbol
Exporting multiple symbols don't work as it causes compilation
breakages, due to the way dvb_attach() works.
This were reported several times, like:
drivers/built-in.o: In function `cxusb_dualdig4_rev2_tuner_attach':
>> cxusb.c:(.text+0x27d4b5): undefined reference to `dib7000p_get_i2c_master'
drivers/built-in.o: In function `dib7070_set_param_override':
cxusb.c:(.text+0x27d5a5): undefined reference to `dib0070_wbd_offset'
>> cxusb.c:(.text+0x27d5be): undefined reference to `dib7000p_set_wbd_ref'
drivers/built-in.o: In function `dib7070_tuner_reset':
>> cxusb.c:(.text+0x27d5f9): undefined reference to `dib7000p_set_gpio'
drivers/built-in.o: In function `cxusb_dualdig4_rev2_frontend_attach':
>> cxusb.c:(.text+0x27df5c): undefined reference to `dib7000p_i2c_enumeration'
In this specific report:
CONFIG_DVB_USB_CXUSB=y
CONFIG_DVB_DIB7000P=m
But the same type of bug can happen if:
CONFIG_DVB_DIB7000P=m
and one of the bridge drivers is compiled builtin (cxusb, cx23885-dvb
and/or dib0700).
As a bonus, dib7000p won't be loaded anymore if the device uses
a different frontend, reducing the memory footprint.
Tested with Hauppauge Nova-TD (2 frontends).
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
8abe4a0a3f6d
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 12:20:14 +0000 (09:20 -0300)]
upstream: [media] dib7000p: rename dib7000p_attach to dib7000p_init
Well, what we call as "foo_attach" is the method that should
be called by the dvb_attach() macro.
It should be noticed that the name "dvb_attach" is really a
bad name and don't express what it does.
dvb_attach() basically does three things, if the frontend is
compiled as a module:
- It lookups for the module that it is known to have the
given symbol name and requests such module;
- It increments the module usage (anonymously - so lsmod
doesn't print who loaded the module);
- after loading the module, it runs the function associated
with the dynamic symbol.
When compiled as builtin, it just calls the function given to it.
As dvb_attach() increments refcount, it can't be (easily)
called more than once for the same module, or the kernel
will deny to remove the module, because refcount will never
be zeroed.
In other words, the function name given to dvb_attach()
should be one single symbol that will always be called
before any other function on that module to be used.
For almost all DVB frontends, there's just one function.
However, the dib7000p initialization can require up to 3
functions to be called:
- dib7000p_get_i2c_master;
- dib7000p_i2c_enumeration;
- dib7000p_init (before this patch dib7000_attach).
(plus a bunch of other functions that the bridge driver will
need to call).
As we need to get rid of all those direct calls, because they
cause compilation breakages when bridge is builtin and
frontend is module, we'll need to add a new function that
will be the first one to be called, whatever initialization
is needed.
So, let's rename the function that probes and init the hardware
to dib7000p_init.
A latter patch will add a new dib7000p_attach that will be
used as originally conceived by dvb_attach() way.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
7f67d96ab181
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 12:20:13 +0000 (09:20 -0300)]
upstream: [media] dvbdev: add a dvb_detach() macro
The dvb_attach() was unbalanced, as there was no dvb_dettach. Ok,
on current cases, the dettach is done by dvbdev, but that are some
future corner cases where we may need to do this before registering
the frontend.
So, add a dvb_detach() and use it at dvb_frontend.c.
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
4647f487083d
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Robert Baldyga [Mon, 10 Mar 2014 08:33:37 +0000 (09:33 +0100)]
usb: gadget: f_fs: add missing spinlock and mutex unlock
This patch adds missing spin_unlock and mutex_unlock calls in
error handling code.
Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit
48968f8d5f2234fb1768c55cf7d96d0b87446cd6]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: I48968f8d5f2234fb1768c55cf7d96d0b87446cd6
Chuansheng Liu [Tue, 4 Mar 2014 07:34:57 +0000 (15:34 +0800)]
usb: gadget: return the right length in ffs_epfile_io()
When the request length is aligned to maxpacketsize, sometimes
the return length ret > the user space requested len.
At that time, we will use min_t(size_t, ret, len) to limit the
size in case of user data buffer overflow.
But we need return the min_t(size_t, ret, len) to tell the user
space rightly also.
[ balbi@ti.com: also fix comment's indentation ]
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Reviewed-by: David Cohen <david.a.cohen@linux.intel.com>
Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[backport from upstream commit
cfe919b53b807ab32e89e1c662c6d242948449bd]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: Icfe919b53b807ab32e89e1c662c6d242948449bd
Michal Nazarewicz [Fri, 28 Feb 2014 11:20:23 +0000 (16:50 +0530)]
usb: gadget: f_fs: Add flags to descriptors block
This reworks the way SuperSpeed descriptors are added and instead of
having a magic after full and high speed descriptors, it reworks the
whole descriptors block to include a flags field which lists which
descriptors are present and makes future extensions possible.
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[backport from upstream commit
410b1f0e1c86443c57dc70d78db7aec193c79787]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: I410b1f0e1c86443c57dc70d78db7aec193c79787
Manu Gautam [Fri, 28 Feb 2014 11:20:22 +0000 (16:50 +0530)]
usb: gadget: f_fs: Add support for SuperSpeed Mode
Allow userspace to pass SuperSpeed descriptors and
handle them in the driver accordingly.
This change doesn't modify existing desc_header and thereby
keeps the ABI changes backward compatible i.e. existing
userspace drivers compiled with old header (functionfs.h)
would continue to work with the updated kernel.
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[backport from upstream commit
8d4e897bd0150fab594a871484e554472ee01452]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: I8d4e897bd0150fab594a871484e554472ee01452
Marek Szyprowski [Wed, 4 Jun 2014 12:54:03 +0000 (14:54 +0200)]
usb: gadget: f_fs: fix aio support
Fix incompatible function signature caused by mainline backport
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: I7913fd834366aa23fc9261c4d5548c03fa8085ec
Łukasz Stelmach [Mon, 9 Jun 2014 11:43:19 +0000 (13:43 +0200)]
ARM: odroidx2/u3: Fix interrupt line assignment
According to circuit diagram[1] MAX98090 codec is hooked to GPX0[0]
and not to GPX0[1].
[1] https://drive.google.com/file/d/0B4UPrML8Nk9lSk5aai1MQ1VVTmc/edit?usp=sharing
Change-Id: I5d7d56c866dd4e7e6dcce744f43646babc7119d4
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Marek Szyprowski [Tue, 3 Jun 2014 09:18:16 +0000 (11:18 +0200)]
ARM: dts: Exynos4412-odroid: set available memory to 2 GiB
Both Odroid X2 and U2/U3 boards have 2 GiB of memory, so set the amount
of memory in the DTS file to 2 GiB.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: If435a2bc15af15ddaede4f9664b144540cc620a6
Marek Szyprowski [Wed, 4 Jun 2014 13:08:23 +0000 (15:08 +0200)]
ARM: Exynos: fix reboot hang on Odroid X2/U2/U3 with eMMC memory
Odroid X/X2/U2/U3 require special handling of SD4_nRESET_OUT line for eMMC
memory to perform complete reboot. This patch adds code for performing such
reset.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-id: I0dd05288da3d5e661772914cc853a1267609fc6d
Marek Szyprowski [Wed, 4 Jun 2014 09:29:35 +0000 (11:29 +0200)]
arm: tizen_odroid_defconfig: enable l2cache and tizen global lock
Enable Outer L2 CACHE controller and Tizen Global Lock.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie2b56773ef69fa12c2a8788272ffd99c75c0a0d7
Liu Peiwen [Thu, 29 May 2014 03:26:29 +0000 (11:26 +0800)]
ARM: config: enable ISDB-T usb tuner stick of S870
ISDB-T usb stick S870 consists of DIB8000 tuner ,RC controller and usb interface,
RC_CORE ,VIDEO_IR_I2C and MEDIA_RC_SUPPORT are enabled for supporting RC controller,
DVB_USB for supporting USB interface,DVB_DIB8000 for supporting tuner component.
Change-Id: I03a05c21762b133130ba22aa8d267b3b0b1b0740
Signed-off-by: Liu Peiwen <peiwen.liu@samsung.com>
Joonyoung Shim [Tue, 3 Jun 2014 05:43:42 +0000 (14:43 +0900)]
drm/exynos: do hdmi power control by crtc DPMS
The hdmi should turn off after mixer turns off by H/W limitation.
Otherwise, the TV power domain is not disabled. Generally, first it's
called DPMS function of encoder than DPMS function of crtc at from DPMS
off to DPMS on. It can be solution about the H/W dependency to control
hdmi power by crtc DPMS instead of encoder DPMS.
Change-Id: I86e39c438453af5bcc19b7109d2e3569d629d52f
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Tomasz Stanislawski [Wed, 16 Apr 2014 15:12:56 +0000 (17:12 +0200)]
drm: exynos: mixer: fix using usleep() in atomic context
This patch fixes calling usleep_range() after taking reg_slock
using spin_lock_irqsave(). The mdelay() is used instead.
Waiting in atomic context is not the best idea in general.
Hopefully, waiting occurs only when Video Processor fails
to reset correctly.
Change-Id: Ib2bf151cb4dcb45ab42e9d8f85bf27e1fab21757
Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Inha Song [Wed, 30 Apr 2014 06:42:58 +0000 (15:42 +0900)]
arm: tizen_defconfig: Disable unused configuration
This patch disable unused configuration
- ASoC: SMDK_WM8994: Machine, PCM, S/PDIF driver
Change-Id: I41fd503587fb7c0344add8b2a6db2f83ad1e9662
Signed-off-by: Inha Song <ideal.song@samsung.com>
Huang Chao [Mon, 26 May 2014 02:11:02 +0000 (10:11 +0800)]
ASoC: samsung: Expand odroidx2 compatible of match table
This patch updates the compatible match table for odroid.
Since the machine driver is not only used on odroidx2 board,
but is also used on odroidu3 board, so it's better to expand
the compatible match table string for compatibility concern.
Change-Id: I668ab8236091d1336a0101142cbbadf6a0e23591
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Inha Song [Fri, 2 May 2014 03:55:17 +0000 (12:55 +0900)]
arm: dts: trats2: change sound device name
Change sound device name from "exynos4-wm1811" to "trats2-wm1811"
Change-Id: Ibd94d99c1957359dd3a220dcb3908ca76c0700ce
Signed-off-by: Inha Song <ideal.song@samsung.com>
Inha Song [Fri, 2 May 2014 04:04:06 +0000 (13:04 +0900)]
arm: config: tizen: update to enable Audio
The machine driver name was changed from "exynos4-wm1811" to "trats2-wm1811".
Change-Id: I452b1321310d342a142e94e1671269e1e794b646
Signed-off-by: Inha Song <ideal.song@samsung.com>
Mauro Carvalho Chehab [Thu, 29 May 2014 20:30:02 +0000 (17:30 -0300)]
Enable several USB drivers for Odroid-X2/U3
Those USB drivers are the ones most commonly found nowadays
for ISDB-T, ATSC and DVB-T/T2.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Tue, 18 Mar 2014 00:26:33 +0000 (21:26 -0300)]
upstream: drxd: get rid of EXPORT_SYMBOL(drxd_config_i2c)
This symbol is not used externally. Get rid of it.
Upstream changeset:
016b003c188c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Wed, 21 May 2014 20:39:16 +0000 (17:39 -0300)]
upstream: [media] v4l: vsp1: Remove the unneeded vsp1_video_buffer video field
The field is assigned but never read, remove it.
This fixes a bug caused by the struct vb2_buffer field not being be the
very first field of the vsp1_video_buffer buffer structure as required
by videobuf2.
Cc: stable@vger.kernel.org
Reported-by: Takanari Hayama <taki@igel.co.jp>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 16:57:30 +0000 (13:57 -0300)]
upstream: [media] xc5000: delay tuner sleep to 5 seconds
Some drivers, like au0828 are very sensitive to tuner sleep and may
break if the sleep happens too fast. Also, by keeping the tuner alive
for a while could speedup tuning process during channel scan. So,
change the logic to delay the actual sleep to 5 seconds after its
command.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 16:41:01 +0000 (13:41 -0300)]
upstream: [media] xc5000: Don't use whitespace before tabs
WARNING: please, no space before tabs
+#define XC_PRODUCT_ID_FW_LOADED ^I0x1388$
WARNING: please, no space before tabs
+#define DK_SECAM_A2LDK3 ^I13$
WARNING: please, no space before tabs
+#define DK_SECAM_A2MONO ^I14$
WARNING: please, no space before tabs
+#define FM_RADIO_INPUT2 ^I21$
WARNING: please, no space before tabs
+#define FM_RADIO_INPUT1 ^I22$
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 16:23:27 +0000 (13:23 -0300)]
upstream: [media] xc5000: fix CamelCase
There are several CamelCase non-codingstyle compliances here.
Fix them.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 16:15:17 +0000 (13:15 -0300)]
upstream: [media] xc5000: Don't wrap msleep()
There's absolutely no reason to wrap msleep() call here.
Just rename all occurences of xc_wait() with msleep() and
remove the wrapper function.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 16:08:18 +0000 (13:08 -0300)]
upstream: [media] xc5000: get rid of positive error codes
Errors should also be negative and should follow the Kernel
standards.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 9 May 2014 09:17:55 +0000 (06:17 -0300)]
upstream: [media] au0828: reset streaming when a new frequency is set
As reported by Trevor, doing several opening/streaming/closing
operations to the demux causes it to fail.
I was able to simulate this bug too. I also noticed that,
sometimes, changing channels with au0828, the same thing
happens.
Most of the issues seem to be due to some hardware bug, that
causes the device to not fill all the URBs allocated. When
the bug happens, the only known fix is to either replug the
device, or to send an USB reset to it.
There's also a hack a the au0828 driver that starts a thread
that tries to reset the device when a package doesn't start
with a sync.
One of the culpits for this bad hardware behavior seem to be
caused by the lack of stopping and restarting the stream every
time a new channel is set.
This patch warrants that the stream will be properly reset
every time the set_frontend callback is called, partially
solving the problem.
A complete fix, however, would also need to check the PM
conditions for the tuner and demux.
Reported-by: Trevor Graffa <tlgraffa@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 12:35:06 +0000 (09:35 -0300)]
upstream: [media] au0828: Improve debug messages for urb_completion
Sometimes, it helps to know how much data was received by
urb_completion. Add that information to the optional debug
log.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 21 May 2014 20:40:25 +0000 (17:40 -0300)]
upstream: [media] dib0700: fix RC support on Hauppauge Nova-TD
The RC support o Nova-TD is broken, as the RC endpoint there
is an interrupt endpoint.
That produces an ugly calltrace at the Kernel logs:
WARNING: CPU: 2 PID: 56 at drivers/usb/core/urb.c:450 usb_submit_urb+0x1fd/0x5c0()
usb 1-1.2: BOGUS urb xfer, pipe 3 != type 1
Modules linked in: rc_dib0700_rc5(OF) dvb_usb_dib0700(OF) dib9000(OF) dib8000(OF) dib7000m(OF) dib0090(OF) dib0070(OF) dib7000p(OF) dib3000mc(OF) dibx000_common(OF) dvb_usb(OF) rc_core(OF) snd_usb_audio snd_usbmidi_lib snd_hwdep snd_rawmidi snd_seq snd_seq_device snd_pcm snd_timer snd soundcore bnep bluetooth 6lowpan_iphc rfkill au0828(OF) xc5000(OF) au8522_dig(OF) au8522_common(OF) tveeprom(OF) dvb_core(OF) nouveau i915 mxm_wmi ttm i2c_algo_bit drm_kms_helper drm r8169 mii i2c_core video wmi [last unloaded: au0828]
CPU: 2 PID: 56 Comm: khubd Tainted: GF O 3.14.2-200.fc20.x86_64 #1
Hardware name: SAMSUNG ELECTRONICS CO., LTD. 550P5C/550P7C/SAMSUNG_NP1234567890, BIOS P05ABI.016.130917.dg 09/17/2013
0000000000000000 00000000610866bc ffff880223703860 ffffffff816eec92
ffff8802237038a8 ffff880223703898 ffffffff8108a1bd ffff8800916a2180
ffff8801d5b16000 0000000000000003 0000000000000003 0000000000000020
Call Trace:
[<
ffffffff816eec92>] dump_stack+0x45/0x56
[<
ffffffff8108a1bd>] warn_slowpath_common+0x7d/0xa0
[<
ffffffff8108a23c>] warn_slowpath_fmt+0x5c/0x80
[<
ffffffff814e3ebd>] usb_submit_urb+0x1fd/0x5c0
[<
ffffffffa0445925>] dib0700_rc_setup+0xb5/0x120 [dvb_usb_dib0700]
[<
ffffffffa0445a58>] dib0700_probe+0xc8/0x130 [dvb_usb_dib0700]
...
Fix it by detecting if the endpoint is bulk or interrupt.
Tested with both Hauppauge Nova-TD model 52009 (interrupt) and with a
Prolink Pixelview SBTVD model PV-D231U (bulk).
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Peter Senna Tschudin [Tue, 20 May 2014 10:33:46 +0000 (07:33 -0300)]
upstream: [media] USB: as102_usb_drv.c: Remove useless return variables
This patch remove variables that are initialized with a constant,
are never updated, and are only used as parameter of return.
Return the constant instead of using a variable.
Verified by compilation only.
The coccinelle script that find and fixes this issue is:
// <smpl>
@@
type T;
constant C;
identifier ret;
@@
- T ret = C;
... when != ret
- return ret;
+ return C;
// </smpl>
Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Kamil Debski [Wed, 14 May 2014 14:31:09 +0000 (11:31 -0300)]
upstream: [media] v4l: Fix documentation of V4L2_PIX_FMT_H264_MVC and VP8 pixel formats
The 'Code' column in the documentation should provide the real fourcc
code that is used. Changed the documentation to provide the fourcc
defined in videodev2.h
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Tuomas Tynkkynen [Thu, 8 May 2014 11:13:17 +0000 (08:13 -0300)]
upstream: [media] staging: lirc: Fix sparse warnings
Fix sparse warnings by adding __user and __iomem annotations where
necessary and removing certain unnecessary casts. While at it,
also use u32 in place of __u32.
Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Matt DeVillier [Thu, 24 Apr 2014 14:16:31 +0000 (11:16 -0300)]
upstream: [media] fix mceusb endpoint type identification/handling
Change the I/O endpoint handling of the mceusb driver to respect the endpoint
type reported by device (bulk/interrupt), rather than treating all endpoints
as type interrupt, which breaks devices using bulk endpoints when connected
to a xhci controller. Accordingly, change the function calls to initialize
an endpoint's transfer pipe and urb handlers to use the correct function based
on the endpoint type.
[m.chehab@samsung.com: Fix merge conflicts and compilation breakage]
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Tested-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Manuel Schönlaub [Fri, 18 Apr 2014 17:43:35 +0000 (14:43 -0300)]
upstream: [media] az6027: Added the PID for a new revision of the Elgato EyeTV Sat DVB-S Tuner
There is another clone of AZ6027. This patch adds the relevant PID.
Signed-off-by: Manuel Schönlaub <manuel.schoenlaub@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Sun, 25 May 2014 14:15:03 +0000 (11:15 -0300)]
upstream: [media] DocBook media: fix typo
The reference to v4l2-event-source-change should have been v4l2-event-src-change.
This caused a failure when building the spec.
Fixed.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lars-Peter Clausen [Thu, 21 Nov 2013 14:23:45 +0000 (11:23 -0300)]
upstream: [media] adv7604: Add missing include to linux/types.h
The file is using u8 which is defined in linux/types.h.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Wed, 29 Jan 2014 13:07:13 +0000 (10:07 -0300)]
upstream: [media] v4l: Validate fields in the core code for subdev EDID ioctls
The subdev EDID ioctls receive a pad field that must reference an
existing pad and an EDID field that must point to a buffer. Validate
both fields in the core code instead of duplicating validation in all
drivers.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Wed, 29 Jan 2014 13:07:13 +0000 (10:07 -0300)]
upstream: [media] v4l: Add support for DV timings ioctls on subdev nodes
Validate the pad field in the core code whenever specified.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Wed, 29 Jan 2014 13:06:13 +0000 (10:06 -0300)]
upstream: [media] v4l: Improve readability by not wrapping ioctl number #define's
Wrapping the #define's at a 80 columns boundary just obfuscates the
code. Don't do that.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] tvp7002: Remove deprecated video-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated
and unused. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] ths8200: Remove deprecated video-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated
and unused. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] adv7842: Remove deprecated video-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated
and unused. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] adv7511: Remove deprecated video-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated
and unused. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] ad9389b: Remove deprecated video-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated
and unused. Remove them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 12:04:19 +0000 (09:04 -0300)]
upstream: [media] media: staging: davinci: vpfe: Switch to pad-level DV operations
The video-level enum_dv_timings and dv_timings_cap operations are
deprecated in favor of the pad-level versions. All subdev drivers
implement the pad-level versions, switch to them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 12:04:19 +0000 (09:04 -0300)]
upstream: [media] media: davinci: vpif: Switch to pad-level DV operations
The video-level enum_dv_timings and dv_timings_cap operations are
deprecated in favor of the pad-level versions. All subdev drivers
implement the pad-level versions, switch to them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 12:04:19 +0000 (09:04 -0300)]
upstream: [media] media: bfin_capture: Switch to pad-level DV operations
The video-level enum_dv_timings and dv_timings_cap operations are
deprecated in favor of the pad-level versions. All subdev drivers
implement the pad-level versions, switch to them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Scott Jiang <scott.jiang.linux@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] tvp7002: Add pad-level DV timings operations
The video enum_dv_timings operation is deprecated. Implement the
pad-level version of the operation to prepare for the removal of the
video version.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] ths8200: Add pad-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated.
Implement the pad-level version of those operations to prepare for the
removal of the video version.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] adv7842: Add pad-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated.
Implement the pad-level version of those operations to prepare for the
removal of the video version.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] adv7511: Add pad-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated.
Implement the pad-level version of those operations to prepare for the
removal of the video version.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Fri, 31 Jan 2014 11:51:18 +0000 (08:51 -0300)]
upstream: [media] ad9389b: Add pad-level DV timings operations
The video enum_dv_timings and dv_timings_cap operations are deprecated.
Implement the pad-level version of those operations to prepare for the
removal of the video version.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Wed, 29 Jan 2014 13:05:10 +0000 (10:05 -0300)]
upstream: [media] v4l: Add pad-level DV timings subdev operations
The dv_timings_cap and enum_dv_timings subdev operations are implemented
at the device level, but apply to pads. Create new variants of those
operations at the pad level. The device level variants will be removed
once all drivers are ported to the pad level DT timings operations.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Ismael Luceno [Sun, 18 May 2014 23:23:47 +0000 (20:23 -0300)]
upstream: [media] solo6x10: Kconfig: Add supported card list to the SOLO6X10 knob
Explicitly list the cards supported by and tested with this driver.
Signed-off-by: Ismael Luceno <ismael.luceno@corp.bluecherry.net>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Ismael Luceno [Sun, 18 May 2014 19:44:11 +0000 (16:44 -0300)]
upstream: [media] solo6x10: Reduce OSD writes to the minimum necessary
Instead of unconditionally writing SOLO_EOSD_EXT_SIZE() bytes to the OSD
area (which is 64 or 128 kB depending on the PCI board) we only
write the actual amount of data needed which is 16 * OSD_TEXT_MAX (= 16 * 44).
Signed-off-by: Ismael Luceno <ismael.luceno@corp.bluecherry.net>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Laurent Pinchart [Mon, 28 Apr 2014 19:53:01 +0000 (16:53 -0300)]
upstream: [media] v4l: subdev: Move [gs]_std operation to video ops
The g_std and s_std operations are video-related, move them to the video
ops where they belong.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Conflicts:
include/media/v4l2-subdev.h