Sylwester Nawrocki [Wed, 2 Jul 2014 13:40:58 +0000 (15:40 +0200)]
clk: samsung: Add suspend/resume pm ops for audss clk controller
Ensure the Exynos audio subsystem clock controller registers are
preserved across suspend/resume.
Change-Id: I57f4dcbbc9d02f7dfa2cd68508a9cefba010b9e5
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Huang Chao [Wed, 9 Jul 2014 03:26:10 +0000 (11:26 +0800)]
ASoC: samsung: i2s: Add DT interrupts property description
When the interrupts node is introduced in DT, we need to
describe the property and give usage example.
Change-Id: I2ac28a9e37e0a0fecf7f5712fd45ae36929e3c43
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Wed, 9 Jul 2014 04:34:32 +0000 (12:34 +0800)]
ASoC: samsung: i2s: Correct documentation colon formats
The colons should be used as the same format, without a
space before it.
Change-Id: I44ebcba9c8b36fb492a056ac053720afdd732aa1
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Kamil Debski [Wed, 25 Jun 2014 12:56:07 +0000 (14:56 +0200)]
ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator
On Odroid U2/U3 BUCK8 is used for providing power to also to P3V3
source, which is also connected to LAN9730 chip's nRESET signal. To
reset lan chip on system reboot, the BUCK8 output should not be used in
'always on' mode. This change has no impact on X/X2 boards.
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Change-Id: I27f942711c53ae9abf5a71034388d1f0081aa359
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:40 +0000 (14:15 -0300)]
upstream: [media] dib8000: improve the message that reports per-layer locks
The message is currently highly encoded:
[70299.863521] DiB8000: Mpeg locks [ L0 : 0 | L1 : 1 | L2 : 0 ]
And doesn't properly reflect that some problems might have happened.
Instead, display it as:
[75160.822321] DiB8000: Not all ISDB-T layers locked in 32 ms: Layer A NOT LOCKED, Layer B locked, Layer C not enabled
In order to better reflect what's happening with layer locking.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
3c0d394ea702
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:39 +0000 (14:15 -0300)]
upstream: [media] dib8000: improve debug messages
When debug is enabled:
- Report when frontend gets restarted;
- Be coherent on the displayed lines;
- Show the transmission mode;
- Hide unused layers.
No functional changes (except at the printk's).
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
ecc31d557e0b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:38 +0000 (14:15 -0300)]
upstream: [media] dib8000: Update the ADC gain table
This table doesn't match the new one.
Update it.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
a768f90ef0a2
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:37 +0000 (14:15 -0300)]
upstream: [media] dib8000: use jifies instead of current_kernel_time()
Instead of doing the tuning delays and timeouts using
current_kernel_time(), use jiffies. That consumes less
CPU cycles, and it is monotonic.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
d6c62b7638d2
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:36 +0000 (14:15 -0300)]
upstream: [media] dib0090: Fix the sleep time at the state machine
msleep() is not too precise: its precision depends on the
HZ config. As the driver selects precise timings for the
state machine, change it to usleep_range().
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
0de04ca1dc0b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:35 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix the sleep time at the state machine
msleep() is not too precise: its precision depends on the
HZ config. As the driver selects precise timings for the
state machine, change it to usleep_range().
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
4607bb7a4724
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:34 +0000 (14:15 -0300)]
upstream: [media] dib0700: better document struct init
Instead of using anonymous initialization for dib0896 structs,
identify each field by name. That helps to understand what's
being initialized.
No functional changes.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
40d1a7c3ded0
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:33 +0000 (14:15 -0300)]
upstream: [media] dib8000: Restart sad during dib8000_reset
Just like the Windows driver, restart SAD during reset
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
6d38454a59a0
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:32 +0000 (14:15 -0300)]
upstream: [media] dib8000: In auto-search, try first with partial reception enabled
TV broadcasters generally use partial reception. So, enable it by
default in auto-search mode. The driver will latter detect if the
transmission is on some other mode.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
dde8e115365c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:31 +0000 (14:15 -0300)]
upstream: [media] dib8000: remove a double call for dib8000_get_symbol_duration()
The symbol duration was already obtained at CT_DEMOD_START.
No need to do it again at CT_DEMOD_STEP_3.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
08623517f4fd
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:30 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix: add missing 4K FFT mode
Without that, tuning may fail on 4K FFT mode, as the transmission
parameter cache will be initialized with a wrong value.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
7fec1c80a78e
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:29 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix alignments at dib8000_tune()
There are two tabs instead of one aligning this struct.
Worse than that, on some places, the alignment is wrong.
Fix it.
No functional changes.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
7fa676c6f4d7
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:28 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix ADC OFF settings
The ADC OFF values are wrong. This causes troubles on detecting
weak signals.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
c063c7c6a355
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:27 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix handling of interleave bigger than 2
If interleave is bigger than 2, the code will set it to 0, as
dib8000 registers use a log2(). So, change the code to handle
it accordingly.
Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=
34ba2e65bab3
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Kamil Debski [Thu, 26 Jun 2014 10:32:55 +0000 (12:32 +0200)]
s5p-mfc: Change buffer allocation per LSI suggestions
When using IOMMU page fault were observed. This patches increases the DPB
size for interlaced streams. In addition the reported size of the DPB is
also increased for all tpes of stream.
Change-Id: I5597abe8f9a4a5194a017631d004dcf1e5101237
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Kamil Debski [Wed, 2 Apr 2014 09:18:54 +0000 (11:18 +0200)]
s5p-mfc: Add special handling for MPEG2 decoding with IOMMU use case
The DPB sizes for decoding MPEG2 when IOMMU is used and the stream is
interlaced should be doubled.
Change-Id: I0c69a1fa9be05a3050ae50bc14f10821a455dbcc
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Kamil Debski [Wed, 2 Apr 2014 09:08:37 +0000 (11:08 +0200)]
s5p-mfc: Fix the calculation of DPB size for non H264 video
Image size was used instead of the buffer size which resulted in a smaller
than necessary buffer allocation.
Change-Id: Ia457957cf8e2777e01c3d9f18216156b0dce4856
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Kamil Debski [Tue, 1 Apr 2014 11:23:16 +0000 (13:23 +0200)]
s5p-mfc: Optimize use of s5p_mfc_ctx parameters
luma_dpb_size, chroma_dpb_size and me_buffer_size were added with MFC v6 to
be used by the encoder. Their function directly maps to the previously used
luma_size, chroma_size and mv_size.
Change-Id: I7e585013d173f0349dd18cf52f2639d03ab16d36
Signed-off-by: Kamil Debski <k.debski@samsung.com>
YoungJun Cho [Wed, 18 Jun 2014 09:28:24 +0000 (18:28 +0900)]
drm/exynos: dsi: add driver data to support Exynos5420
The offset of register DSIM_PLLTMR_REG in Exynos5420 is
different from the one in Exynos4 SoC.
In case of Exynos5420 SoC, there is no frequency band bit
in DSIM_PLLCTRL_REG,
and it uses DSIM_PHYCTRL_REG and DSIM_PHYTIMING*_REG instead.
So this patch adds driver data to distinguish it.
Change-Id: Id5fad2e6042d28a73ed38de8657db9599d2cb782
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>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
YoungJun Cho [Wed, 18 Jun 2014 09:27:23 +0000 (18:27 +0900)]
drm/exynos: fimd: support LCD I80 interface
To support MIPI command mode based I80 interface panel,
FIMD should do followings:
- Sets LCD I80 interface timings configuration.
- Uses "lcd_sys" as an IRQ resource and sets relevant IRQ configuration.
- Sets LCD block configuration for I80 interface.
- Sets ideal(pixel) clock is 2 times faster than the original one to
generate frame done IRQ prior to the next TE signal.
- Implements trigger feature that transfers image data if there is page
flip request, and implements TE handler to call trigger function.
Change-Id: I3a620a40e4d9c03a2d41b61ffb6cc7c43e782d1f
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>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
YoungJun Cho [Thu, 24 Apr 2014 05:07:09 +0000 (14:07 +0900)]
drm/exynos: dsi: add TE handler to support LCD I80 interface
To support LCD I80 interface, the DSI host calls this handler
to notify the panel tearing effect synchronization signal to
the CRTC device manager to trigger to transfer video image.
Change-Id: Ic07e1bc6ee5744c7f7abea2e4ff99eeca86c8a3f
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>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
YoungJun Cho [Wed, 18 Jun 2014 09:15:41 +0000 (18:15 +0900)]
drm/exynos: add TE handler to support LCD I80 interface
To support LCD I80 interface, the panel should generates
Tearing Effect synchronization signal between MCU and FB
to display video images.
And the display controller should trigger to transfer
video image at this signal.
So the panel receives the TE IRQ, then calls this handler
chains to notify it to the display controller.
Change-Id: Ie60112b9b135bb8a1b05a01fedcd62bd65fc59cd
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>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
YoungJun Cho [Fri, 11 Apr 2014 12:45:11 +0000 (21:45 +0900)]
ARM: dts: samsung-fimd: add LCD I80 interface specific properties
In case of using MIPI DSI based I80 interface panel,
the relevant registers should be set.
So this patch adds relevant DT bindings.
Change-Id: Ifc476d834f0bf25d9d908ec681fb80f17abf8b8c
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>
Andrzej Hajda [Thu, 3 Jul 2014 01:26:41 +0000 (10:26 +0900)]
exynos/fimd: add parallel output related bindings
The patch adds bindings required to add support
for parallel output.
Change-Id: I36199e9fce05bb1cfbd2f1447ff9d8c0ccbca0e1
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Chanho Park [Thu, 3 Jul 2014 07:38:27 +0000 (16:38 +0900)]
tizen: odroid: update defconfig
Enable slp gadget
Enable Network configurations
Enable smack
Change-Id: I6d0e5b0b4ae40cef54c5763bf566a17719290fdc
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Huang Chao [Tue, 1 Jul 2014 09:08:05 +0000 (17:08 +0800)]
dma: pl330: Modify pause/resume cmd capability flag for slave dma
Since the pl330 dma pause/resume capability is supported now,
the corresponding flag should be set as true.
Change-Id: I2dfe6575e6407232f3dcb441e1690650e571f66c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Tue, 1 Jul 2014 01:41:12 +0000 (09:41 +0800)]
ASoC: samsung: dma: Replace the private pcm operations with the generic ones
This patch reshapes the whole samsung platform driver which is composed by
samsung private dmaengine pcm operations, replacing them with the generic
asoc dmaengine pcm operations implemented by alsa soc subsystem.
The dma channel is requested in open callback, and will be released when
the pcm stream is closed. And the pcm trigger operations are also changed
to the asoc generic dmaengine based pcm trigger implementation.
Change-Id: Ib70b973720e5d57a40c7d583b74c11b971b4776c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Tue, 1 Jul 2014 00:45:29 +0000 (08:45 +0800)]
ASoC: samsung: Kconfig: Support sound generic dmaengine pcm operations
This patch makes the generic dmaengine support for samsung pcm operations,
which can be used to substitute for samsung private dmaengine operations.
Change-Id: I4ab828fc95199bda7999e1c0c770100000aa2f74
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Mon, 30 Jun 2014 08:35:47 +0000 (16:35 +0800)]
ASoC: samsung: i2s: Configure dmaengine playback/capture DAI DMA data
This patch configures the standard alsa dmaengine configure dai data.
The dma address, width and maxburst size will be initialized during
cpu dai probe process, in which the address width is assigned with
a default value as four bytes. Then when the hardware parameters are
configured as playback or capture are started, the dma address width
will be configured again according to current sound channels.
After the configuration, this patch will set the dai dma data into
the private dma data field in snd_soc_dai structure.
Change-Id: I46ece6472464d003a19d409441619ebbe4ef30cd
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Mon, 30 Jun 2014 07:45:06 +0000 (15:45 +0800)]
ASoC: samsung: i2s: Add sound dmaengine playback/capture DAI DMA data
This patch adds the standard alsa dmaengine configuration dai data,
which can make the dma slave channel runtime data be configured by
generic sound dmaengine slave config callback. This dmaengine dai
configuration data mainly contain dma address, width and maxburst.
Change-Id: Ief0688913ef89faafb90a1cf72c8a0977f3cb688
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Tue, 24 Jun 2014 05:01:46 +0000 (13:01 +0800)]
dma: pl330: Implement the DMA channel PAUSE/RESUME interfaces
This patch implements the DMA_PAUSE/DMA_RESUME interfaces in pl330 DMAC
driver, which will call the dma pause/resume operations to set the dma
channel status respectively.
When DMA_PAUSE is called from dma subsystem during audio playback, the
DMAC should halt the transfer execution of the channel thread and wait
for the resume event occurs, which is specified by the event number in
INTEN register. The channel thread is stalled by the DMAWFE instruction.
After that, when DMA_RESUME is called, which means that the resume event
occurs, this patch will signal an interrupt to send the DMASEV instruction
and restart the channel thread, and then the channel thread moves to the
Executing state and the DMAC clears the event.
Change-Id: I5d990f0efb31b7e37673a060fdcbc9002b6ea488
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Tue, 24 Jun 2014 03:17:45 +0000 (11:17 +0800)]
dma: pl330: Enumerate the DMA channel PAUSE/RESUME operations
This patch expands the pl330 dma channel operation enumerations,
which will support to pause data transfer and halt dma channel
on DMA_PAUSE command and resume data transfer and restart dma
channel on DMA_RESUME command.
Change-Id: I5d129063edca747a6c03f23a67c82ef508e4de17
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Huang Chao [Mon, 30 Jun 2014 06:15:35 +0000 (14:15 +0800)]
ASoC: samsung: i2s: Fix the checked out code style problems
This patch just fix the code style issues about required space
missing and redundant line continuations have been checked out:
./scripts/checkpatch.pl -f ./sound/soc/samsung/i2s.c
ERROR: space required before the open brace '{'
\#1033: FILE: sound/soc/samsung/i2s.c:1033:
+ if (!IS_ERR(i2s->op_clk)){
WARNING: Avoid unnecessary line continuations
\#1225: FILE: sound/soc/samsung/i2s.c:1225:
+ dev_err(&pdev->dev, "idma address is not"\
total: 1 errors, 1 warnings, 1398 lines checked
./sound/soc/samsung/i2s.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: I51f2bf0f6b203613b3a81d604b69c6e08ed97507
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Kamil Debski [Mon, 23 Jun 2014 10:35:16 +0000 (12:35 +0200)]
extcon: max77693: Remove initial path setting
Setting the muic to UART regardles of what is connected results in
havoc on the USB bus if it is connected at the time of boot.
Change-Id: I4f1867afee717635874e905faaffd7398afe050a
Signed-off-by: Kamil Debski <k.debski@samsung.com>
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>
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>
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>
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>
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
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>
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
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>
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>
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>
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>
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>
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>
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: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