platform/kernel/linux-3.10.git
10 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

10 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

10 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>
10 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

10 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

10 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

10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 years agoASoC: Samsung: standardize machine driver names 65/22265/1
Inha Song [Fri, 2 May 2014 02:11:37 +0000 (11:11 +0900)]
ASoC: Samsung: standardize machine driver names

The machine driver name of the existing "exynos4-wm1811" is Inappropriate.
Codec is dependent on board, not SoC.

So, Change machine dirver name from "exynos4-wm1811" to "trats2-wm1811"
to be used in trats2.

Change-Id: I06149430562514485a10eb580ab722857662aa22
Signed-off-by: Inha Song <ideal.song@samsung.com>
10 years agodts: arm: exynos4412-trats2: define address/size-cells 51/21451/2
Chanho Park [Wed, 21 May 2014 05:40:53 +0000 (14:40 +0900)]
dts: arm: exynos4412-trats2: define address/size-cells

This patch fixes compile warning when building a exynos4412-trats2.dtb.
The two field should be defined in the parent node.

Change-Id: I8cfab92992e8ebd3fb010c6bca73575c3d189f7f
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agodrm/panel/s6e8aa0: add backlight support 81/22181/2
Andrzej Hajda [Thu, 29 May 2014 14:30:21 +0000 (16:30 +0200)]
drm/panel/s6e8aa0: add backlight support

The patch adds backlight support to s6e8aa0 panel.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Change-Id: I8cf8717c84da1619ceb8a0d841935255f917030d

10 years agoDVB : frontend: enable no_poweroff to avoid firmware reloaded in xc5000 tuner 09/21309/3
Liu Peiwen [Mon, 19 May 2014 03:40:35 +0000 (11:40 +0800)]
DVB : frontend: enable no_poweroff to avoid firmware reloaded in xc5000 tuner

If open and close frontend cyclicly, firmware will be loaded repeatly without
no_poweroff setting, and TV service can not tolorate the waste of time of
loading firmware.

Change-Id: I8a2276424a283a9d52e512e61a055c5375e6c15c
Signed-off-by: Liu Peiwen <peiwen.liu@samsung.com>
10 years agoSound: Odroid: add DT binding document for Odroid 52/21652/6
Chen Zhen [Mon, 26 May 2014 05:53:17 +0000 (13:53 +0800)]
Sound: Odroid: add DT binding document for Odroid

This patch adds binding document for the Samsung OdroidX2/U3.

Change-Id: Ifd4cb398e939c14deb717bcb34d0ebb5a4cbb70e
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
10 years agoau0828: Cancel stream-restart operation if frontend is disconnected 05/21805/2
Changbing Xiong [Fri, 9 May 2014 04:54:11 +0000 (01:54 -0300)]
au0828: Cancel stream-restart operation if frontend is disconnected

If the tuner is already disconnected, It is meaningless to go on doing the
stream-restart operation, It is better to cancel this operation.

Change-Id: Ie63854352383cd300eb3626e63143e6a73d519d8
Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoASoC: max98090: add DT binding document for MAX98090 CODEC 92/21792/1
Stephen Warren [Wed, 4 Dec 2013 22:19:26 +0000 (15:19 -0700)]
ASoC: max98090: add DT binding document for MAX98090 CODEC

This binding mainly serves to document the list of input and output pins
that may be used in a sound card's audio routing table.

Change-Id: I95e020b542edd908627f60f4fac9d11c2ab6d2b7
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agoASoC: samsung: set clk_id to 0 to avoid misunderstanding 06/21606/3
Chen Zhen [Fri, 23 May 2014 09:59:45 +0000 (17:59 +0800)]
ASoC: samsung: set clk_id to 0 to avoid misunderstanding

it's obviously that codec driver has no routing handle for clk_id,
so just supply 0 for it.

Change-Id: I29b14ef8110b580a52502497728c049284b050a1
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
10 years agoebtables: ebtables support enable in Tizen linux-3.10. 46/21246/2
Jacek Pielaszkiewicz [Fri, 16 May 2014 10:35:54 +0000 (12:35 +0200)]
ebtables: ebtables support enable in Tizen linux-3.10.

Change-Id: Ib9650cf5fca7139a68af88edbcfb2f90777d8227
Signed-off-by: Jacek Pielaszkiewicz <j.pielaszkie@samsung.com>
10 years agoASoC: samsung: set format constant in the dai_link 99/21599/3
Chen Zhen [Fri, 23 May 2014 09:03:31 +0000 (17:03 +0800)]
ASoC: samsung: set format constant in the dai_link

Change-Id: I93731b6d92954be19f752a2b4283a611e7a793de
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
10 years agosii9234: Power on sii9234 only when MHL cable is connected. 28/20928/2
Jonghwa Lee [Fri, 9 May 2014 08:00:16 +0000 (17:00 +0900)]
sii9234: Power on sii9234 only when MHL cable is connected.

Change-Id: I9a1719f3e1f366bb9328fff48b6ada73022286e2
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agoRevert "regulator: Handle suspend and resume of regulators" 27/20927/2
Jonghwa Lee [Wed, 14 May 2014 01:36:00 +0000 (10:36 +0900)]
Revert "regulator: Handle suspend and resume of regulators"

This reverts commit bdc1383dd59ea144e4acdb97c6077c09f371df78.

I revert the commit because it is not merged to ML.

Change-Id: I8c616af1429a4c53d263c99baa05d35e379635e5
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agoPM / devfreq : Make exynos4 busfreq driver to use PPMU not DMC internal one.
Jonghwa Lee [Thu, 15 May 2014 09:42:34 +0000 (18:42 +0900)]
PM / devfreq : Make exynos4 busfreq driver to use PPMU not DMC internal one.

This patch modifies exynos4 busfreq driver to use global PPMU not DMC block's
internal PMU. The PPMU has different event set with DMC's and it'll be more
adaquate to profile bus utilization.

Change-Id: Ia5f6801cf6081edf5c76cad2af86978843bdf91a
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agoASoC: samsung: use codec as master instead of I2S(slave) 95/20695/4
Chen Zhen [Mon, 12 May 2014 06:17:37 +0000 (14:17 +0800)]
ASoC: samsung: use codec as master instead of I2S(slave)

In order to don't change the EPLL, the reasonable way is to make the
codec as master instead of i2s.

Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
Change-Id: Ia457d7625c9a87ac6c854176c0fe03f500923825
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
10 years agoclk: samsung: exynos4: Add ppmu clock's identical number 69/21169/1
Chanwoo choi [Wed, 14 May 2014 16:34:40 +0000 (01:34 +0900)]
clk: samsung: exynos4: Add ppmu clock's identical number

This patch add ppmu clock's identical number to get clock pointer on other
device driver through DT binding.

Change-Id: Ic55036e9c90409c8385dd365e75b4fbeefc0829c
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoPM / devfreq: Rewrite devfreq_update_status() to fix multiple bugs
Saravana Kannan [Fri, 28 Feb 2014 03:38:57 +0000 (19:38 -0800)]
PM / devfreq: Rewrite devfreq_update_status() to fix multiple bugs

The current devfreq_update_status() has the following bugs:
- If previous frequency doesn't have a valid level, it does an out of bounds
  access into the trans_table and causes memory corruption.
- When the new frequency doesn't have a valid level, the time spent in the
  new frequency is counted towards the next valid frequency switch instead of
  being ignored.
- The time spent on the previous frequency is added to the new frequency's
  stats instead of the previous frequency's stats.

This patch fixes all of this.

Change-Id: I9e3bb6ac6490d8f2e4bca2fd0d082f2fbd4a5b2e
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
10 years agoPM / devfreq: create_freezable_workqueue() doesn't return an ERR_PTR
Dan Carpenter [Wed, 14 May 2014 11:50:56 +0000 (20:50 +0900)]
PM / devfreq: create_freezable_workqueue() doesn't return an ERR_PTR

The create_freezable_workqueue() function returns a NULL on error and
not an ERR_PTR.

Change-Id: If805c1068d00d3a2e6897c890475e35c780ef8c7
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
10 years agoPM / devfreq: fix typo "CPU_EXYNOS4.12" twice
Paul Bolle [Wed, 13 Mar 2013 21:10:02 +0000 (21:10 +0000)]
PM / devfreq: fix typo "CPU_EXYNOS4.12" twice

Dependencies on CPU_EXYNOS4212 and CPU_EXYNOS4412 for the "ARM
Exynos4210/4212/4412 Memory Bus DEVFREQ Driver" were added in commit
7b4050381127ae11fcfc74a106d715a5fbbf888a ("PM/Devfreq: Add Exynos4-bus
device DVFS driver for Exynos4210/4212/4412."). The tree (at that time,
v3.3, and currently) makes clear that this should have been dependencies
on SOC_EXYNOS4212 and SOC_EXYNOS4412.

Change-Id: Ica470368f1e609199a5454d0de9d0448de2bccd2
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
10 years agoPM / devfreq: fix missing unlock on error in exynos4_busfreq_pm_notifier_event()
Wei Yongjun [Fri, 22 Feb 2013 04:33:50 +0000 (04:33 +0000)]
PM / devfreq: fix missing unlock on error in exynos4_busfreq_pm_notifier_event()

Add the missing unlock before return from function
exynos4_busfreq_pm_notifier_event() in the error
handling case.

This issue introduced by commit 8fa938
(PM / devfreq: exynos4_bus: honor RCU lock usage)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
[Resolved path conflicts by MyungJoo Ham]
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Change-Id: I6fed109f21b18b458d7f0311961a85f5b2ba4756

10 years agoPM / devfreq: add comments and Documentation
MyungJoo Ham [Tue, 5 Feb 2013 09:40:17 +0000 (09:40 +0000)]
PM / devfreq: add comments and Documentation

- Added missing ABI documents
- Added comments to clarify the objectives of functions

Change-Id: Ic2206ad6671156eedb28d450046e8e2ea876b18c
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Acked-by: Nishanth Menon <nm@ti.com>
Acked-by: Rajagopal Venkat <rajagopal.venkat@linaro.org>
10 years agoPM / devfreq: account suspend/resume for stats
Rajagopal Venkat [Tue, 8 Jan 2013 05:50:39 +0000 (05:50 +0000)]
PM / devfreq: account suspend/resume for stats

devfreq stats is not taking device suspend and resume into
account. Fix it.

Change-Id: I224e046c15b40a384e6c548c6bd569e90a877945
Signed-off-by: Rajagopal Venkat <rajagopal.venkat@linaro.org>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
10 years agoPM / devfreq: Add Exynos5-bus devfreq driver for Exynos5250
Abhilash Kesavan [Mon, 4 Feb 2013 12:14:48 +0000 (12:14 +0000)]
PM / devfreq: Add Exynos5-bus devfreq driver for Exynos5250

Exynos5-bus device devfreq driver monitors PPMU counters and
adjusts operating frequencies and voltages with OPP. ASV should
be used to provide appropriate voltages as per the speed group
of the SoC rather than using a constant 1.025V.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
[myungjoo.ham@samsung.com: minor style update]
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Cc: Jonghwan Choi <jhbird.choi@samsung.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Change-Id: I9cfb1f88fc61623425f34013d7c0f3a9bb474c55

10 years agoPM / devfreq: Move exynos4 devfreq driver into a new sub-directory
Abhilash Kesavan [Wed, 23 Oct 2013 12:01:44 +0000 (21:01 +0900)]
PM / devfreq: Move exynos4 devfreq driver into a new sub-directory

In anticipation of the new exynos5 devfreq and ppmu driver, create
an exynos sub-directory. Move the existing exynos4 devfreq driver
into the same.

Change-Id: I4734de3aa1da881996c580145cdc2f78d8df2553
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
10 years agoASoC: Samsung: reset the BUS clock divider ratio from 2 to 10 92/20692/3
Chen Zhen [Mon, 12 May 2014 05:51:00 +0000 (13:51 +0800)]
ASoC: Samsung: reset the BUS clock divider ratio from 2 to 10

when codec work at master mode, the CDCLK was used to MCLK for codec,
but previous CDCLK was too big for max98090,so change its divider
ratio from 2 to 10,and now the CDCLK is 19.2MHz.

Change-Id: I6246cdc85e1b33b0c2bc2128135b27bbc7c00ccb
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
10 years agoASoC: max98090: change the pclk value and its division factor 89/20689/4
Chen Zhen [Mon, 12 May 2014 05:36:52 +0000 (13:36 +0800)]
ASoC: max98090: change the pclk value and its division factor

when codec work at master mode,its MCLK was supported by CDCLK,so it's necessary
to change pclk and its division factor according to CDCLK.

Change-Id: I9e091b532b523e8788ce1ffe84bc40452bd52a19
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
10 years agopackaging: update kernel version to 3.10.39 19/21119/1
Marek Szyprowski [Thu, 15 May 2014 07:59:06 +0000 (09:59 +0200)]
packaging: update kernel version to 3.10.39

Recent rebase updated kernel base from 3.10.33 to 3.10.39, so update kernel version in the spec file too.

Change-Id: Ifc5239ea428e2178aa70ddd3b94364fdbb7ebadc
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agoARM: odroidx2: Fix initialization failed of WinTV-Aero-M
Changbing Xiong [Mon, 12 May 2014 03:16:22 +0000 (11:16 +0800)]
ARM: odroidx2: Fix initialization failed of WinTV-Aero-M

During the initianlization of the tuner, driver will allocate 360K bytes from
atomic DMA coherent pool, which is bigger than default size of the pool that
kernel used, So we need to expand the pool.

Change-Id: If1f869db25913ce8d5b30f31130a587efbf5b9c9
Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
10 years agoadd net_cls cgroup
Przemyslaw Kedzierski [Fri, 9 May 2014 10:36:21 +0000 (12:36 +0200)]
add net_cls cgroup

This patch adds net_cls cgroup.
It is needed for resourced.

Change-Id: I78ee6b2dbe34aa6ce9cacc203a0c378524d76bb6
Signed-off-by: Przemyslaw Kedzierski <p.kedzierski@samsung.com>
10 years agotizen: update tizen_defconfig after usb2 phy backport
Marek Szyprowski [Fri, 9 May 2014 07:01:48 +0000 (09:01 +0200)]
tizen: update tizen_defconfig after usb2 phy backport

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I999a3507e29ecfa3a95f3cdd6ec746073da32a3d

10 years agoTizen: update defconfig for Odroid X2 and U3 boards
Marek Szyprowski [Thu, 8 May 2014 08:06:34 +0000 (10:06 +0200)]
Tizen: update defconfig for Odroid X2 and U3 boards

New defconfig supports both Odroid X2 and U3, so renamed it
tizen_odroid_defconfig

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I19c966f05e92292ededd2f910cbf1190b5b2c45f

10 years agoARM: dts: exynos4x12: refactor common Odroid defs and add OdroidU3 support
Marek Szyprowski [Thu, 8 May 2014 07:43:02 +0000 (09:43 +0200)]
ARM: dts: exynos4x12: refactor common Odroid defs and add OdroidU3 support

Moved most of the common definitions to exynos4412-odroid-common.dtsi
and created exynos4412-odroidu3.dts for OdroidU3 board.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I30fcd329aff827e8c0e734ea6047782be03ed242

10 years agousb: usb5303: add support for reference clock specified in device tree
Marek Szyprowski [Wed, 7 May 2014 07:04:14 +0000 (09:04 +0200)]
usb: usb5303: add support for reference clock specified in device tree

USB3503 chip supports 8 values of reference clock. The value is
specified by REF_SEL[1:0] pins and INT_N line. This patch add support
for getting 'refclk' clock, enabling it and setting INT_N line according
to the value of the gathered clock. If no clock has been specified,
driver defaults to the old behaviour (assuming that clock has been
specified by REF_SEL pins from primary reference clock frequencies
table).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I3453e714f9a793640b8cb6c0b4ccf699661ec934

10 years agoARM: dts: update exynos usb2 phy nodes to match mainline driver
Marek Szyprowski [Thu, 8 May 2014 07:38:38 +0000 (09:38 +0200)]
ARM: dts: update exynos usb2 phy nodes to match mainline driver

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I9ac4bcd37e965b10d0add3030038635ec2d00130

10 years agousb: s5p-ehci: add support for more than one usb phy
Marek Szyprowski [Thu, 8 May 2014 05:45:59 +0000 (07:45 +0200)]
usb: s5p-ehci: add support for more than one usb phy

Based on 'usb: ehci-exynos: Change to use phy provided by the generic
phy framework' patch posted to usb ml.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I5f7574c0659905148f6e7af95ecd197e92e03d16

10 years agodrivers: phy: exynos4x12-phy: fix HSIC1 power on/off sequence
Marek Szyprowski [Wed, 7 May 2014 06:57:36 +0000 (08:57 +0200)]
drivers: phy: exynos4x12-phy: fix HSIC1 power on/off sequence

From experiments with real hardware, it seems that URSTCON bits for
HSIC0 and HSIC1 seems to be swapped, so updated macro definitions for
them. HSIC1 also requires enabling power to device phy to get properly
enabled (similar hack is already implemented for HSIC0).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Idcbe47f1a55d882394296837b9218e9f843e842c

10 years agophy: exynos: fix building as a module
Arnd Bergmann [Sat, 19 Apr 2014 03:21:41 +0000 (08:51 +0530)]
phy: exynos: fix building as a module

The top-level phy-samsung-usb2 driver may be configured as a
loadable module, which currently causes link errors because
of the dependency on the exynos{5250,4x12,4210}_usb2_phy_config
symbol. Solving this could be achieved by exporting these
symbols, but as the SoC-specific parts of the driver are not
currently built as modules, it seems better to just link
everything into one module and avoid the need for the export.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit d1481832f1dbb9d10fab27269631a130fa082f03]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I07f3a7ee523c55fab023b6c03caa6fba31bdec9b

10 years agophy: Add new Exynos USB 2.0 PHY driver
Kamil Debski [Thu, 6 Mar 2014 11:16:48 +0000 (12:16 +0100)]
phy: Add new Exynos USB 2.0 PHY driver

Add a new driver for the Exynos USB 2.0 PHY. The new driver uses the generic
PHY framework. The driver includes support for the Exynos 4x10 and 4x12
SoC families.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
[backport from upstream commit 06fb01373cae0bbf9af3a2b49e29c4341a5ba311]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I1f76ba5ecc23a49eeeec3c9a834a1e7fcc844834

10 years agoRevert "phy: Add new Exynos USB PHY driver"
Marek Szyprowski [Thu, 8 May 2014 05:29:00 +0000 (07:29 +0200)]
Revert "phy: Add new Exynos USB PHY driver"

This reverts commit 9eaa4d2322f94704866fbd0cbce260ba8dcb6de2.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ib0644b766b0174cdec43cc483b5ccc7f9487f411

10 years agoRevert "phy: exynos-usb: Fix referenct counting"
Marek Szyprowski [Thu, 8 May 2014 05:28:14 +0000 (07:28 +0200)]
Revert "phy: exynos-usb: Fix referenct counting"

This reverts commit 58ae84cefb54046335d9581f3d96e8a5b947a08b.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I3adfabef0633bdb8542940a506976afd12856f21

10 years agoRevert "phy: exynos: Change order of initialization of phy in power_on"
Marek Szyprowski [Thu, 8 May 2014 05:28:05 +0000 (07:28 +0200)]
Revert "phy: exynos: Change order of initialization of phy in power_on"

This reverts commit dbd99235197ce37b37f5e0c04fe7465a655f9c47.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I010965a1deb88f01b8a8c07e2c56910f5d73b9d2

10 years agoRevert "phy: exynos-usb: Remove ref counting for additional reset for Exynos4212"
Marek Szyprowski [Thu, 8 May 2014 05:27:55 +0000 (07:27 +0200)]
Revert "phy: exynos-usb: Remove ref counting for additional reset for Exynos4212"

This reverts commit f600e05157a6d3d38f87260f5caa88918cac129e.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Id87eb3479a353d34f58092973e2896bdacaf9c2a

10 years agoRevert "phy: exynos : add delay after reset phy for usb host"
Marek Szyprowski [Thu, 8 May 2014 05:27:43 +0000 (07:27 +0200)]
Revert "phy: exynos : add delay after reset phy for usb host"

This reverts commit 507ba96c49fe6e247dcb5a79e1aca7160def7254.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I57c35ef9ba7e3255562602662a81b3a8aa90461b

10 years agoRevert "phy: exynos4212-usb: Use refcount to power device PHY for HSIC0"
Marek Szyprowski [Thu, 8 May 2014 05:27:26 +0000 (07:27 +0200)]
Revert "phy: exynos4212-usb: Use refcount to power device PHY for HSIC0"

This reverts commit 16b990c41a9f1e31f4c51f66052a1c648a3c0b2e.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I49f69bf27d8226e05a3fb48c70b15f21e3685345

10 years agodrivers: of: add for_each_available_child_of_node() macro
Marek Szyprowski [Wed, 7 May 2014 14:38:43 +0000 (16:38 +0200)]
drivers: of: add for_each_available_child_of_node() macro

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I7713121fa18e780df480c5a5c6ebfa0972424f6f

10 years agophy: core: make NULL a valid phy reference if !CONFIG_GENERIC_PHY
Grygorii Strashko [Sat, 19 Apr 2014 03:21:44 +0000 (08:51 +0530)]
phy: core: make NULL a valid phy reference if !CONFIG_GENERIC_PHY

This fixes a regression on Keystone 2 platforms caused by patch
57303488cd37da58263e842de134dc65f7c626d5
"usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
optional support of generic phy in DWC3 core.

On Keystone 2 platforms the USB is not working now because
CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
return -ENOSYS always. The log shows:
 dwc3 2690000.dwc3: failed to initialize core
 dwc3: probe of 2690000.dwc3 failed with error -38

Hence, fix it by making NULL a valid phy reference in Generic PHY
APIs stubs in the same way as it was done by the patch
04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
a valid phy reference".

Acked-by: Felipe Balbi <balbi@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit 2b97789fa289d531e767d994a77e34ec58f328c4]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iad7bfec8716de065eb2707a0fe9f123eed691c3f

10 years agophy: fix kernel oops in phy_lookup()
Sergei Shtylyov [Sat, 19 Apr 2014 03:21:43 +0000 (08:51 +0530)]
phy: fix kernel oops in phy_lookup()

The kernel oopses in phy_lookup() due to 'phy->init_data' being NULL if we
register PHYs from a device tree probing driver and then call phy_get() on a
device that has no representation in the device tree (e.g. a PCI device).
Checking the pointer before dereferening it and skipping an interation if
it's NULL prevents this kernel oops.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit 743bb387a1edbf1ebbba6cf77c1af3e488886c39]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iea16343af63965d19960fc8acf89e0a65b806440

10 years agophy: core: Add devm_of_phy_get to phy-core
Kamil Debski [Thu, 6 Mar 2014 11:16:47 +0000 (12:16 +0100)]
phy: core: Add devm_of_phy_get to phy-core

Adding devm_of_phy_get will allow to get phys by supplying a
pointer to the struct device_node instead of struct device.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
[backport from upstream commit b5d682f4eb76c98f2ca5658926df43dd05cf2c37]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie1d75af85ef1072457074d94ab268c5d570ed930

10 years agophy: core: Add an exported of_phy_get function
Kamil Debski [Thu, 6 Mar 2014 11:16:46 +0000 (12:16 +0100)]
phy: core: Add an exported of_phy_get function

Previously the of_phy_get function took a struct device * and
was declared static. It was impossible to call it from
another driver and thus it was impossible to get phy defined
for a given node. The old function was renamed to _of_phy_get
and was left for internal use. of_phy_get function was added
and it was exported. The function enables to get a phy for
a given device tree node.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
[backport from upstream commit 0b3f3b2c777a2f7d20c9826a190ffd5bbd288f8f]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Id5aef3fdb574ba269f938428375cc4e88e5e59c0

10 years agophy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to caller
Hans de Goede [Mon, 17 Feb 2014 08:59:23 +0000 (14:29 +0530)]
phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to caller

The phy-core allows phy_init and phy_power_on to be called multiple times,
but before this patch -ENOSUPP from phy_pm_runtime_get_sync would be
propagated to the caller for the 2nd and later calls.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit 767a1b5d6ec4ac5335dde17100880347ed154ce2]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If65ef9e8d070b4f3d601e139a28246fab36cb40e

10 years agophy-core: phy_get: Leave error logging to the caller
Hans de Goede [Mon, 17 Feb 2014 08:59:22 +0000 (14:29 +0530)]
phy-core: phy_get: Leave error logging to the caller

In various cases errors may be expected, ie probe-deferral or a call to
phy_get from a driver where the use of a phy is optional.

Rather then adding all sort of complicated checks for this, and/or adding
special functions like devm_phy_get_optional, simply don't log an error,
and let deciding if get_phy returning an error really should result in a
dev_err up to the caller.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit f40037fd3677ae240978f469cc4155bf3ca7c076]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iafe801b4c0a2419abc8f20717a3f441a2d9a2ab1

10 years agodrivers: phy: Add support for optional phys
Andrew Lunn [Tue, 4 Feb 2014 17:33:12 +0000 (18:33 +0100)]
drivers: phy: Add support for optional phys

Add devm_phy_optional_get and phy_optional_get, which should be used
when the phy is optional. They does not return an error when the phy
does not exist, rather they returns NULL, which is considered as a valid
phy, but results in NOPs when used with the consumer API.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
[backport from upstream commit 788a4d56ff378bff0b8e685d03a962b36903a149]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I76c9bb54d4bd11b742522c91c28f48b82ca4aa41

10 years agophy: add phy_get_bus_width()/phy_set_bus_width() calls
Matt Porter [Thu, 19 Dec 2013 14:23:02 +0000 (09:23 -0500)]
phy: add phy_get_bus_width()/phy_set_bus_width() calls

This adds a pair of APIs that allows the generic PHY subsystem to
provide information on the PHY bus width. The PHY provider driver may
use phy_set_bus_width() to set the bus width that the PHY supports.
The controller driver may then use phy_get_bus_width() to fetch the
PHY bus width in order to properly configure the controller.

Signed-off-by: Matt Porter <mporter@linaro.org>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
[backport from upstream commit 8feed347d33bb630d426b9f2ed88cbdf9795f624]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I327ac9c7fb50d39e0351c15ea72b3748957ea03d

10 years agodrivers: phy: Make NULL a valid phy reference
Andrew Lunn [Tue, 4 Feb 2014 17:33:11 +0000 (18:33 +0100)]
drivers: phy: Make NULL a valid phy reference

The common clock framework considers NULL a valid clock
reference. This makes handling optional clocks simple, in that if the
optional clock is not available, a NULL reference can be used in the
place of a real clock, simplifying the clock consumer.

Extend this concept to the phy consumer API. A NULL can be passed to
the release calls, the phy_init() and phy_exit() calls, and
phy_power_on() and phy_power_off() and a NOP is performed.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
[backport from upstream commit 04c2facad8fee66c981a51852806d8923336f362]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I387a29962849f50fa8df1ab684babcbbe3227c84

10 years agophy: phy-core.c: remove unnecessary initialization of local variables
Kishon Vijay Abraham I [Thu, 19 Dec 2013 14:31:44 +0000 (20:01 +0530)]
phy: phy-core.c: remove unnecessary initialization of local variables

There were a few places where variables are initialized unncessarily.
Remove those initializations.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
[backport from upstream commit d18c960430ca341e5c12a023c805ff8fd10032a6]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ib80f6930d91c01a1e2c9f70ae4e61519eadd37d1

10 years agophy: phy-core: increment refcounting variables only on 'success'
Kishon Vijay Abraham I [Fri, 20 Dec 2013 05:06:49 +0000 (10:36 +0530)]
phy: phy-core: increment refcounting variables only on 'success'

Increment 'init_count' only if the 'init' callback succeeded and decrement
'init_count' only if the 'exit' callback succeded. Increment 'power_count'
only if 'power_on' callback succeded and if it failed disable the clocks using
phy_pm_runtime_put_sync(). Also decrement 'power_count' only if 'power_off'
callback succeded and if it failed do not disable the clocks.

Reported-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
[backport from upstream commit 637d378cea0b463c466a61a6564cdd541d689af5]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I482404787fa520568d365fbc39ab81d812689f20

10 years agophy: core: properly handle failure of pm_runtime_get functions
Felipe Balbi [Fri, 20 Dec 2013 21:00:48 +0000 (15:00 -0600)]
phy: core: properly handle failure of pm_runtime_get functions

In case pm_runtime_get*() fails, it still
increments pm usage counter, so we *must*
make sure to pm_runtime_put() even in those
cases.

This patch fixes that mistake the same way
usbcore treats those possible failures.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
[backport from upstream commit cedb7f89d1e1f631b7e5d920fe1ea7f742d07f79]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I8de0a4c76c5ad3de2d45996504f3f1aa716dc017

10 years agodrivers: phy: tweaks to phy_create()
Dan Carpenter [Fri, 6 Dec 2013 12:21:19 +0000 (17:51 +0530)]
drivers: phy: tweaks to phy_create()

If this was called with a NULL "dev" then it lead to a NULL dereference
when we called dev_WARN().  I have changed it to WARN_ON() so that we
get a stack dump and can fix the caller.

The rest of this patch is just cleanup like returning directly instead
of having do-nothing gotos.  Using descriptive labels instead of
GW-BASIC style "err0" and "err1".  I also flipped the order of
put_device() and ida_remove() so they are a mirror reflection of the
order they were allocated.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit 52797d293287f5a98bd686616527b102b077ac39]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I695ba238d040b484d1be1f10f7752a7dac164aab

10 years agodrivers: phy: Fix memory leak
Sachin Kamat [Fri, 6 Dec 2013 12:21:18 +0000 (17:51 +0530)]
drivers: phy: Fix memory leak

'phy' was not being freed upon error in one of the cases.
Adjust the 'goto's to fix this.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[backport from upstream commit c1b1731d2002b93857810aa5da856b43f46bb470]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I170f5d157e97077e50f059dbecdcb0877fd1a680

10 years agodrivers: phy: reset to mainline ff764963479a1b18721ab96e531404c50fefe8b1
Marek Szyprowski [Wed, 7 May 2014 14:45:53 +0000 (16:45 +0200)]
drivers: phy: reset to mainline ff764963479a1b18721ab96e531404c50fefe8b1

Change-Id: Ic98c8f884f28553dd50c91d441e605b4c0283aad
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agoARM: odroidx2: update defconfig to support Hauppauge WinTV-Aero-M
Changbing Xiong [Sun, 4 May 2014 09:46:16 +0000 (17:46 +0800)]
ARM: odroidx2: update defconfig to support Hauppauge WinTV-Aero-M

This modification will build drivers of WinTV-Aero-M into kernel,
So that odroidx2 target could support this kind of tuner.

Change-Id: I0788bda220e7151249d553274050a2b523a34e41
Signed-off-by: Changbing Xiong <cb.xiong@samsung.com>
10 years agoARM: dts: trats2: remove property from nodes of keys
Beomho Seo [Wed, 7 May 2014 05:30:18 +0000 (14:30 +0900)]
ARM: dts: trats2: remove property from nodes of keys

This patch removed interrupt-parent and interrupts propertoes from
nodes of the keys. Because they are not part of the device tree bindings.

Change-Id: I73af25dde2308769a453a43133cc65f33dd3aef0
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agommc: dw_mmc-exynos: add the MMC_CAP_ERASE capability
Jaehoon Chung [Wed, 7 May 2014 08:26:40 +0000 (17:26 +0900)]
mmc: dw_mmc-exynos: add the MMC_CAP_ERASE capability

To use the erase command, add the MMC_CAP_ERASE capability by default.

Change-Id: Ia9c600eafb08bebb7a60b3b3147a8c8baf303cd0
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 years agodrm/exynos: hdmi: fix dt broken issue
Inki Dae [Wed, 30 Apr 2014 09:20:51 +0000 (18:20 +0900)]
drm/exynos: hdmi: fix dt broken issue

This patch resolves the issue that the use of existing dtb is broken.

This patch gets existing dt nodes directly and checks if existing dtb
should be supported or not.
For this, it adds a soc_ver varable to hdmi_context structure to distinguish
SoC version because it should get dt node corresponding to SoC correctly.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoRevert "drm/exynos: add mout_hdmi clock in hdmi driver to change parent"
Tomasz Stanislawski [Wed, 30 Apr 2014 08:26:31 +0000 (17:26 +0900)]
Revert "drm/exynos: add mout_hdmi clock in hdmi driver to change parent"

Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: release unhandled page flip events at postclose.
Inki Dae [Tue, 1 Oct 2013 05:51:37 +0000 (14:51 +0900)]
drm/exynos: release unhandled page flip events at postclose.

This patch resolves a dead lock issue that could be incurred when
exynos_drm_crtc_dpms function was called.

The exynos_drm_crtc_dpms function waits for the completion of pended
page flip events. However, preclose callback - this releases all unhandled
page flip events - is called prior to the exynos_drm_crtc_dpms function call
when drm is closed. So at this time, this will make the exynos_drm_crtc_dpms
to wait infiniately for the completion of the page flip events.

This patch releases the unhandled page flip events at postclose instead
of preclose so that exynos_drm_crtc_dpms function can be waked up.

Changelog v2:
- fix a memory leak when drm is closed.
  . it has a memory leak when a requeste page flip is handled after
    drm_events_release() is called and before drm_fb_release()
    is called. At this time, a drm_pending_event will not be freed.
    So also this chage releases the drm_pending_event at postclose().
    And it calls drm_vblank_put() for pair if there is any unhandled page
    flip event.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agoARM: config: tizen: update defconfig
Inki Dae [Mon, 28 Apr 2014 12:32:15 +0000 (21:32 +0900)]
ARM: config: tizen: update defconfig

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: fimd: clear channel before enabling iommu
Akshu Agrawal [Mon, 28 Apr 2014 12:26:39 +0000 (21:26 +0900)]
drm/exynos: fimd: clear channel before enabling iommu

If any fimd channel was already active, initializing iommu will result
in a PAGE FAULT (e.e. u-boot could have turned on the display and
not disabled it before the kernel starts). This patch checks if any
channel is active before initializing iommu and disables it.

Changelog v2:
- consider SoC without SHADOWCON register

Signed-off-by: Akshu Agrawal <akshu.a@samsung.com>
Signed-off-by: Prathyush K <prathyush.k@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: universal: fix display dt bindings
Inki Dae [Mon, 28 Apr 2014 11:24:52 +0000 (20:24 +0900)]
ARM: dts: universal: fix display dt bindings

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: trats: fix display dt bindings
Inki Dae [Mon, 28 Apr 2014 11:22:51 +0000 (20:22 +0900)]
ARM: dts: trats: fix display dt bindings

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: trats2: fix display dt bindings
Inki Dae [Mon, 28 Apr 2014 08:43:07 +0000 (17:43 +0900)]
ARM: dts: trats2: fix display dt bindings

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: fimd: update dt bindings
Inki Dae [Mon, 28 Apr 2014 08:42:12 +0000 (17:42 +0900)]
drm/exynos: fimd: update dt bindings

This patch removes wrong dt bindings and adds new ones.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/panel: add S6E8AA0 driver
Andrzej Hajda [Wed, 2 Apr 2014 07:35:27 +0000 (16:35 +0900)]
drm/panel: add S6E8AA0 driver

The patch adds MIPI-DSI based S6E8AA0 AMOLED LCD panel driver.
Driver uses mipi_dsi bus to communicate with panel and exposes drm_panel
interface.

v2
- added bus error handling,
- set maxmimum DSI packet size on init,
- removed unsupported brightness drm_panel callbacks,
- minor improvements

v3
- switched to gpiod framework,
- minor fixes in error handling

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/panel: add ld9040 driver
Andrzej Hajda [Wed, 26 Mar 2014 08:17:18 +0000 (09:17 +0100)]
drm/panel: add ld9040 driver

The patch adds LD9040 parallel RGB panel driver with SPI control interface.
The driver uses drm_panel framework.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: remove MODULE_DEVICE_TABLE definitions
Inki Dae [Fri, 25 Apr 2014 09:43:08 +0000 (18:43 +0900)]
drm/exynos: remove MODULE_DEVICE_TABLE definitions

This patch removes MODULE_DEVICE_TABLE definition to of_device_id
of MIPI-DSI driver.

Eyxnos drm should be built as single module so these definitions
should be removed.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: add DSIM driver
Andrzej Hajda [Fri, 25 Apr 2014 09:41:36 +0000 (18:41 +0900)]
drm/exynos: add DSIM driver

The patch adds driver for Exynos DSI master (DSIM). It is a platform driver
which is registered as exynos_drm_display sub-driver of exynos_drm framework
and implements DRM encoder/connector pair.
It is also MIPI-DSI host driver and provides DSI bus for panels.
It interacts with its panel(s) using drm_panel framework.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm: add MIPI DSI encoder and connector types
Shobhit Kumar [Fri, 25 Apr 2014 09:38:44 +0000 (18:38 +0900)]
drm: add MIPI DSI encoder and connector types

Signed-off-by: Shobhit Kumar <shobhit.kumar@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Dave Airlie <airlied@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/mipi_dsi: add flags to DSI messages
Andrzej Hajda [Fri, 28 Mar 2014 11:52:36 +0000 (12:52 +0100)]
drm/mipi_dsi: add flags to DSI messages

This patch adds flags field to mipi_dsi_msg structure and two flags:
- MIPI_DSI_MSG_REQ_ACK - request ACK from peripheral for given message,
- MIPI_DSI_MSG_USE_LPM - use Low Power Mode to transmit message.
The first flag is usually helpful during DSI diagnostic, the second
flag is required by some peripherals during configuration phase.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: disallow fbdev initialization if no device is connected
Andrzej Hajda [Fri, 28 Mar 2014 11:52:38 +0000 (12:52 +0100)]
drm/exynos: disallow fbdev initialization if no device is connected

This patch adds explicit check if there is a connector with
connected status before fbdev initialization. It prevents creation
of default fbdev 1024x768 which is unusable on panels with bigger resolutions.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: Replace DRM_LOG_KMS() by DRM_DEBUG_KMS()
Lespiau, Damien [Mon, 24 Mar 2014 15:53:10 +0000 (15:53 +0000)]
drm/exynos: Replace DRM_LOG_KMS() by DRM_DEBUG_KMS()

There are only a few users of the DRM_LOG_KMS() macro. We can simplify
the DRM code a bit by replacing them by DRM_DEBUG_KMS().

Cc: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/exynos: fimd: remove unused variable
Andrzej Hajda [Thu, 20 Mar 2014 08:09:00 +0000 (17:09 +0900)]
drm/exynos: fimd: remove unused variable

The patch removes unused vidcon0 field from fimd_context structure.

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>
10 years agodrm/exynos: restore parallel output interface support
Andrzej Hajda [Fri, 25 Apr 2014 07:47:37 +0000 (16:47 +0900)]
drm/exynos: restore parallel output interface support

The patch adds parallel output interface to FIMD device driver.
It also restores support for panels initialized by boot loader,
but without proper kernel driver.
Driver uses video interface bindings to find connected panel.
It uses drm_panel interface to interact with the panel.

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>
10 years agodrm/exynos: select DRM_PANEL
Inki Dae [Fri, 25 Apr 2014 09:26:26 +0000 (18:26 +0900)]
drm/exynos: select DRM_PANEL

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/panel: fix build error
Inki Dae [Fri, 25 Apr 2014 09:26:10 +0000 (18:26 +0900)]
drm/panel: fix build error

Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/mipi_dsi: create dsi devices only for nodes with reg property
Andrzej Hajda [Fri, 28 Mar 2014 11:52:37 +0000 (12:52 +0100)]
drm/mipi_dsi: create dsi devices only for nodes with reg property

MIPI DSI host node can contain child nodes which are not DSI devices.
Checking for existence of reg property can be used to distinguish such nodes.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm: Add MIPI DSI bus support
Andrzej Hajda [Wed, 4 Dec 2013 15:35:12 +0000 (16:35 +0100)]
drm: Add MIPI DSI bus support

MIPI DSI bus allows to model DSI hosts and DSI peripherals using the
Linux driver model. DSI hosts are registered by the DSI host drivers.
During registration DSI peripherals will be created from the children
of the DSI host's device tree node. Support for registration from
board-setup code will be added later when needed.

DSI hosts expose operations which can be used by DSI peripheral drivers
to access associated devices.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/panel: add support for LG LD070WX3-SL01 panel
Alexandre Courbot [Tue, 21 Jan 2014 09:57:10 +0000 (18:57 +0900)]
drm/panel: add support for LG LD070WX3-SL01 panel

This panel is used by Tegra Note 7 and supported by the simple-panel
driver.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agodrm/panel: add support for LG LH500WX1-SD03 panel
Alexandre Courbot [Tue, 21 Jan 2014 09:57:09 +0000 (18:57 +0900)]
drm/panel: add support for LG LH500WX1-SD03 panel

This panel is used by the NVIDIA SHIELD and supported by the
simple-panel driver.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>