platform/kernel/linux-3.10.git
9 years agodts: Enable host port in ehci-exynos in Trats2
Kamil Debski [Tue, 17 Jun 2014 12:17:51 +0000 (14:17 +0200)]
dts: Enable host port in ehci-exynos in Trats2

This patch enables the external host port of the ehci-exynos module in the
Trats2 board.

Change-Id: I60f3a9bdb4baa3acb939c73640200ce44173b763
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agodts: Enabled ohci-exynos in Trats2 board
Kamil Debski [Tue, 17 Jun 2014 12:16:30 +0000 (14:16 +0200)]
dts: Enabled ohci-exynos in Trats2 board

This patch enabled support for the ohci-exynos module in the Trats2 board.

Change-Id: Ibfa78d4fc9f1a04429e65ba2b7ad211178e5ba3b
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agodts: Add support for the exynos-ohci driver for Exynos4
Kamil Debski [Tue, 17 Jun 2014 12:14:56 +0000 (14:14 +0200)]
dts: Add support for the exynos-ohci driver for Exynos4

This patch adds support for the exynos-ohci driver for Exynos4.

Change-Id: I7f195feabe0dfce25bb46fb31c91b3117da5a61c
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agomax77693: Add support for OTG host power supply
Kamil Debski [Tue, 17 Jun 2014 11:49:22 +0000 (13:49 +0200)]
max77693: Add support for OTG host power supply

The max77693_otg_control function was adapted from the 3.0 vendor kernel.
The modification were done to the max77693_read_reg and max77693_write_reg
calls. In the 3.10 kernel these functions use regmap.

Change-Id: If6e42fa3ef1ef5fdc1fe846b3b8a1c517928b626
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agousb: ohci-exynos: Add facility to use phy provided by the generic phy framework
Vivek Gautam [Mon, 5 May 2014 05:02:57 +0000 (10:32 +0530)]
usb: ohci-exynos: Add facility to use phy provided by the generic phy framework

Add support to consume phy provided by Generic phy framework.
Keeping the support for older usb-phy intact right now, in order
to prevent any functionality break in absence of relevant
device tree side change for ohci-exynos.
Once we move to new phy in the device nodes for ohci, we can
remove the support for older phys.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: If4e12fb15edcf179e4433da08d7c06c226e05a63

9 years agousb: gadget: udc: Fix initialization sequence with extcon present
Kamil Debski [Mon, 9 Jun 2014 12:12:41 +0000 (14:12 +0200)]
usb: gadget: udc: Fix initialization sequence with extcon present

Prior to this patch during initialization the udc would switch off regardless
of the current state of the cable. Then it would be enabled if the cable is
present. After applying this patch the udc would be disabled only if the cable
is not present during initialization.

Change-Id: Icfd7e42f9890798afb92428f4041dcffefaa2a08
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agophy: phy-samsung-usb2: Change phy power on/power off sequence
Kamil Debski [Tue, 24 Jun 2014 12:04:54 +0000 (14:04 +0200)]
phy: phy-samsung-usb2: Change phy power on/power off sequence

The Exynos4412 USB 2.0 PHY hardware differs from the description provided
in the documentation. Some register bits have different function. This
patch fixes the defines of register bits and changes the way how phys are
powered on and off.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Change-Id: I05f2568157c3d857b71d47c0e6506b35bf969699

9 years agoASoC: odroidx2_max98090: Support audio routing specified in DT
Sylwester Nawrocki [Thu, 12 Jun 2014 17:29:44 +0000 (19:29 +0200)]
ASoC: odroidx2_max98090: Support audio routing specified in DT

This patch adds support for specifying the audio routing in device
tree.

Change-Id: Iebbd8d4dff79afba888f4e7620cbf1f2debc81de
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
9 years agoASoC: odroidx2_max98090: Allow defining sound card name in DT
Sylwester Nawrocki [Thu, 12 Jun 2014 14:10:57 +0000 (16:10 +0200)]
ASoC: odroidx2_max98090: Allow defining sound card name in DT

The 'samsung,model' property allows to define the sound card name
in device tree, rather than relying on single name coded in the driver
for all Odroid boards.

Change-Id: Iad446b3d95d578d8d5390af5d0a9d8f9dcdd2a46
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
9 years agoARM: dts: Add audio model and audio-routing information for Odroid X2/U3
Sylwester Nawrocki [Thu, 12 Jun 2014 16:13:01 +0000 (18:13 +0200)]
ARM: dts: Add audio model and audio-routing information for Odroid X2/U3

This will specify the sound card name and the audio routing.

Change-Id: I54e042266cc937e97849ca146e40b65cd9bdaa6f
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
9 years agoASoC: odroidx2_max98090: Add missing of_node_put() calls
Sylwester Nawrocki [Mon, 23 Jun 2014 13:28:36 +0000 (15:28 +0200)]
ASoC: odroidx2_max98090: Add missing of_node_put() calls

Ensure the acquired references to the DT nodes are properly released
on error paths and upon the driver's removal.

Change-Id: I8ffff330041ad6d6adbc1afff3c85154e18dd85d
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
9 years agousb: s5p-ehci: fix the status when the device is being resumed
Hyungwon Hwang [Fri, 20 Jun 2014 11:00:59 +0000 (20:00 +0900)]
usb: s5p-ehci: fix the status when the device is being resumed

The device is powered down when it is suspended. So the status must be set as
hibernated when it is being resumed.

Change-Id: Ie67613f0e5e19f4412e46c25a9ea082c31beb0e2
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
9 years agopackaging: use upstream tags
Philippe Coval [Thu, 12 Jun 2014 15:30:20 +0000 (17:30 +0200)]
packaging: use upstream tags

Change-Id: I19ec564fa7fb0e6b88ed64390efd33b430b25894
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
9 years agousb: gadget: s3c-hsotg: delay enabling irq once hardware is configured properly
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

9 years agoarm: dts: odroid: make the gpio key node for power key common
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>
9 years agomfd: max77686: check the interrupt is specified or not
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>
9 years agoarm: tizen_odroid_defconfig: enable mmc unsafe resume
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>
9 years agodrm/exynos: use wait_event_timeout() for safety usage
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>
9 years agodrm/exynos: dsi: move the EoT packets configuration point
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>
9 years agoASoC: odroidx2_max98090: Drop unnecessary of_node check
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>
9 years agoASoC: odroidx2_max98090: Drop unneeded assignment to NULL
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>
9 years agoASoC: odroidx2_max98090: Make debug logs dev_dbg()
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>
9 years agoASoC: odroidx2_max98090: Indentation changes
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>
9 years agoASoC: samsung: dma: Implement audio pause/resume callback operations
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>
9 years agoASoC: samsung: dma: Add pause/resume support for pcm stream information
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>
9 years agoASoC: samsung: dma: Implement audio stream pause/resume interfaces
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>
9 years agoASoC: samsung: dma: Define audio pause/resume callback operations
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>
9 years agodma: pl330: Implement the dma channel pause/resume interfaces
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>
9 years agodrm/exynos: hdmi: fix power order issue
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>
9 years agoRevert "drm/exynos: do hdmi power control by crtc DPMS"
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

9 years agovb2: fix buf_init/buf_cleanup call sequences
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

9 years agonetfilter: x_tables: lightweight process control group matching
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

9 years agoASoC: samsung: odroidx2/u3: Remove unnecessary system clock setting
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>
9 years agoASoC: samsung: odroidx2/u3: Add secondary I2S bind DAI link
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>
9 years agoASoC: samsung: odroidx2/u3: Fix the checking out code style problem
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>
9 years agousb: gadget: f_fs: resurect usb_functionfs_descs_head structure
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>
9 years agoASoC: samsung: add audio interface support for BT, modem, idma
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>
9 years agoASoC: samsung: Modify i2s driver to support idma
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>
9 years agoarm: dts: exynos4: add i2s0 irq number for exynos4
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>
9 years agoASoC: Samsung: Add irq member in s3c_dma_params struct
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>
9 years agoASoC: Samsung: Don't register idma device as platform device
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>
9 years agousb: gadget: ffs: race between ffs_epfile_io() and ffs_func_eps_disable()
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

9 years agoKconfig: enable snd-usb-audio module
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>
9 years agoupstream: [media] au0828: don't hardcode height/width
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>
9 years agoupstream: [media] au0828/au8522: Add PAL-M support
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>
9 years agoupstream: [media] au8522: Fix demod analog mode setting
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>
9 years agoupstream: [media] au8522: cleanup s-video settings at setup_decoder_defaults()
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>
9 years agoupstream: [media] au8522: be sure that we'll setup audio routing at the right time
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>
9 years agoupstream: [media] au8522: be sure that the setup will happen at streamon time
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>
9 years agoupstream: [media] au8522: move input_mode out one level
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>
9 years agoupstream: [media] au0828: add missing tuner Kconfig dependency
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>
9 years agoupstream: [media] dib7000p: Callibrate signal strength
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>
9 years agoupstream: [media] dib7000p: Add DVBv5 stats support
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>
9 years agoupstream: [media] dib8000: export just one symbol
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>
9 years agoupstream: [media] dib8000: rename dib8000_attach to dib8000_init
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>
9 years agoupstream: [media] dib7000: export just one symbol
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>
9 years agoupstream: [media] dib7000p: rename dib7000p_attach to dib7000p_init
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>
9 years agoupstream: [media] dvbdev: add a dvb_detach() macro
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>
9 years agousb: gadget: f_fs: add missing spinlock and mutex unlock
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

9 years agousb: gadget: return the right length in ffs_epfile_io()
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

9 years agousb: gadget: f_fs: Add flags to descriptors block
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

9 years agousb: gadget: f_fs: Add support for SuperSpeed Mode
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

9 years agousb: gadget: f_fs: fix aio support
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

9 years agoARM: odroidx2/u3: Fix interrupt line assignment
Ł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>
9 years agoARM: dts: Exynos4412-odroid: set available memory to 2 GiB
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

9 years agoARM: Exynos: fix reboot hang on Odroid X2/U2/U3 with eMMC memory
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

9 years agoarm: tizen_odroid_defconfig: enable l2cache and tizen global lock
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

9 years agoARM: config: enable ISDB-T usb tuner stick of S870
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>
9 years agodrm/exynos: do hdmi power control by crtc DPMS
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>
9 years agodrm: exynos: mixer: fix using usleep() in atomic context
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>
9 years agoarm: tizen_defconfig: Disable unused configuration
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>
9 years agoASoC: samsung: Expand odroidx2 compatible of match table
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>
9 years agoarm: dts: trats2: change sound device name
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>
9 years agoarm: config: tizen: update to enable Audio
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>
9 years agoEnable several USB drivers for Odroid-X2/U3
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>
9 years agoupstream: drxd: get rid of EXPORT_SYMBOL(drxd_config_i2c)
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>
9 years agoupstream: [media] v4l: vsp1: Remove the unneeded vsp1_video_buffer video field
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>
9 years agoupstream: [media] xc5000: delay tuner sleep to 5 seconds
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>
9 years agoupstream: [media] xc5000: Don't use whitespace before tabs
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>
9 years agoupstream: [media] xc5000: fix CamelCase
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>
9 years agoupstream: [media] xc5000: Don't wrap msleep()
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>
9 years agoupstream: [media] xc5000: get rid of positive error codes
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>
9 years agoupstream: [media] au0828: reset streaming when a new frequency is set
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>
9 years agoupstream: [media] au0828: Improve debug messages for urb_completion
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>
9 years agoupstream: [media] dib0700: fix RC support on Hauppauge Nova-TD
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>
9 years agoupstream: [media] USB: as102_usb_drv.c: Remove useless return variables
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>
9 years agoupstream: [media] v4l: Fix documentation of V4L2_PIX_FMT_H264_MVC and VP8 pixel formats
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>
9 years agoupstream: [media] staging: lirc: Fix sparse warnings
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>
9 years agoupstream: [media] fix mceusb endpoint type identification/handling
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>
9 years agoupstream: [media] az6027: Added the PID for a new revision of the Elgato EyeTV Sat...
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>
9 years agoupstream: [media] DocBook media: fix typo
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>
9 years agoupstream: [media] adv7604: Add missing include to linux/types.h
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>
9 years agoupstream: [media] v4l: Validate fields in the core code for subdev EDID ioctls
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>
9 years agoupstream: [media] v4l: Add support for DV timings ioctls on subdev nodes
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>
9 years agoupstream: [media] v4l: Improve readability by not wrapping ioctl number #define's
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>
9 years agoupstream: [media] tvp7002: Remove deprecated video-level DV timings operations
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>
9 years agoupstream: [media] ths8200: Remove deprecated video-level DV timings operations
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>
9 years agoupstream: [media] adv7842: Remove deprecated video-level DV timings operations
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>
9 years agoupstream: [media] adv7511: Remove deprecated video-level DV timings operations
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>
9 years agoupstream: [media] ad9389b: Remove deprecated video-level DV timings operations
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>