platform/kernel/linux-3.10.git
10 years agoexynos_drm_fimc: simplify and rename fimc_dst_get_buf_seq
Andrzej Hajda [Wed, 9 Oct 2013 11:59:43 +0000 (13:59 +0200)]
exynos_drm_fimc: simplify and rename fimc_dst_get_buf_seq

fimc_dst_get_buf_seq returns number of buffers
so the name should be fimc_dst_get_buf_count.
Function body has been simplified.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoexynos_drm_fimc: replace mutex by spinlock
Andrzej Hajda [Wed, 9 Oct 2013 11:43:58 +0000 (13:43 +0200)]
exynos_drm_fimc: replace mutex by spinlock

Function fimc_dst_set_buf_seq is called
by irq handler so it should not use mutexes.
This patch fixes it.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoexynos_drm_fimc: replace hw access macros with functions
Andrzej Hajda [Wed, 9 Oct 2013 11:23:21 +0000 (13:23 +0200)]
exynos_drm_fimc: replace hw access macros with functions

HW access macros depended on presence of ctx local variable.
This patch replaces them with proper functions.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoexynos_drm_fimc: rename fimc_handle_irq to fimc_mask_irq
Andrzej Hajda [Wed, 9 Oct 2013 09:45:31 +0000 (11:45 +0200)]
exynos_drm_fimc: rename fimc_handle_irq to fimc_mask_irq

fimc_handle_irq suggests it is IRQ handler but it is
irq masking function. Additional small code improvement.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoexynos_drm_fimc: simplify pre-scaler ratio calculation
Andrzej Hajda [Wed, 9 Oct 2013 07:22:55 +0000 (09:22 +0200)]
exynos_drm_fimc: simplify pre-scaler ratio calculation

The patch replaces special function for scaling ratio
calculation by simple fls calls.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoexynos_drm: replace enums by __u32 in structs used in IOCTLs
Andrzej Hajda [Mon, 7 Oct 2013 13:59:40 +0000 (15:59 +0200)]
exynos_drm: replace enums by __u32 in structs used in IOCTLs

enum type has variable size depending on compiler options,
so it should be avoided in structs passed to userland.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoexynos_drm_ipp: fix get property IOCTL
Andrzej Hajda [Mon, 7 Oct 2013 07:22:02 +0000 (09:22 +0200)]
exynos_drm_ipp: fix get property IOCTL

Due to incorrect assignment in EXYNOS_IPP_GET_PROPERTY
IOCTL handler this IOCTL did not work at all.
The patch fixes it.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agomedia: s5p-jpeg: fix clock management in suspend/resume path
Marek Szyprowski [Thu, 10 Oct 2013 08:06:24 +0000 (10:06 +0200)]
media: s5p-jpeg: fix clock management in suspend/resume path

Standard suspend/resume path is called after runtime resume of the given
device, so suspend/resume callbacks must do all clock management done also
by runtime pm to allow proper power domain shutdown.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agomedia: fimc: fix clock management in suspend/resume path
Marek Szyprowski [Thu, 10 Oct 2013 08:05:06 +0000 (10:05 +0200)]
media: fimc: fix clock management in suspend/resume path

Standard suspend/resume path is called after runtime resume of the given
device, so suspend/resume callbacks must do all clock management done also
by runtime pm to allow proper power domain shutdown.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agodrivers: iommu: add workaround for multiple suspend/resume calls
Marek Szyprowski [Wed, 9 Oct 2013 13:30:13 +0000 (15:30 +0200)]
drivers: iommu: add workaround for multiple suspend/resume calls

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agoRevert "HACK: usb: gadget: Fix enumeration on boot"
Marek Szyprowski [Tue, 8 Oct 2013 11:03:25 +0000 (13:03 +0200)]
Revert "HACK: usb: gadget: Fix enumeration on boot"

This reverts commit b0c2c319763e2ace63ace30cd5b9e3e0eb0b9b48.

10 years agousb:gadget: Refcount for gadget pullup
Lukasz Majewski [Tue, 19 Jun 2012 13:28:05 +0000 (15:28 +0200)]
usb:gadget: Refcount for gadget pullup

This commit fixes the way gadget's pullup method (wrapped at
usb_gadget_connect/disconnect) is called in the udc-core.

The composite driver allows correct driver registration, even when it calls
the usb_gadget_disconnect method (composite driver configuration is defered
for user space - please look into the description of usb_composite_probe at
composite.c - line: 1623)

One such example is the CCG (Configurable Composite Gadget) driver (at
drivers/staging/ccg), which after its registration has no usb descriptor
(i.e. idProduct, idVendor etc.) and functions registered. Those are configured
after writing to /sys/module/g_ccg/parameters/ or /sys/class/ccg_usb/ccg0/.

Unfortunately, the code at 'usb_gadget_probe_driver' method (some code omitted):

if (udc_is_newstyle(udc)) {
bind(udc->gadget);
usb_gadget_udc_start(udc->gadget, driver);
usb_gadget_connect(udc->gadget);
}

Explicitly calls the usb_gadget_connect method for this driver. It looks like
the udc-core enables pullup for a driver, which has no functions and no
descriptor filled (those values are feed from userspace).

The USB composite driver API allows correct driver registration with calling
usb_gadget_disconnect method, but as it is now, _ALL_ newstyle usb gadgets are
connected by default. Therefore it violates the composite API.

The solution (at least until the udc-core is reworked) is to add atomic
variable, which helps in balancing the number of called usb_gadget_connect/
disconnect functions.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agodts:exynos4412-redwood: Adjust REDWOOD dts to support changed cpufreq
Lukasz Majewski [Tue, 8 Oct 2013 10:59:16 +0000 (12:59 +0200)]
dts:exynos4412-redwood: Adjust REDWOOD dts to support changed cpufreq

Overriding the freq_table attribute inherited from SLP_PQ (Proxima).
Remove bindings for overlocking (now it is called boost).

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agodts:thermal:exynos4212:pegasusD: Device tree node definition for TMU
Lukasz Majewski [Tue, 8 Oct 2013 10:14:28 +0000 (12:14 +0200)]
dts:thermal:exynos4212:pegasusD: Device tree node definition for TMU

Device tree nodes defined for Exynos4212 based PEGASUS D device.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agodts:cpufreq:exynos4212:pegasusD: Enable support for cpufreq at PEGASUS D via device...
Lukasz Majewski [Tue, 8 Oct 2013 10:13:21 +0000 (12:13 +0200)]
dts:cpufreq:exynos4212:pegasusD: Enable support for cpufreq at PEGASUS D via device tree

Enable cpufreq driver via DTS. Also empty freq_table is defined to override
"default" freq_table defined for PROXIMA PQ.

The volt_table has been defined to reflect MAX8997 based DVS on the PegasusD
device. This volt_table also can be overrided when defined as empty.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agocosmetic: Remove extern from exynos_of_parse_freq_table() declaration
Lukasz Majewski [Tue, 8 Oct 2013 10:07:43 +0000 (12:07 +0200)]
cosmetic: Remove extern from exynos_of_parse_freq_table() declaration

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agocpufreq: exynos4x12: Support the frequency change only with the common clock framework
Lukasz Majewski [Tue, 8 Oct 2013 10:06:59 +0000 (12:06 +0200)]
cpufreq: exynos4x12: Support the frequency change only with the common clock framework

The exynos4x12_pms_change() function has been removed since the PLL's S
parameter change is already preformed at PLL code.

Also the code which changed the S value at exynos4x12_set_frequency() has been
removed.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agoARM:clk:exynos:pll35xx: Extend pll35xx_set_rate to support only S parameter switch
Lukasz Majewski [Tue, 8 Oct 2013 10:02:53 +0000 (12:02 +0200)]
ARM:clk:exynos:pll35xx: Extend pll35xx_set_rate to support only S parameter switch

With PLL35xx device it is possible to switch PLL frequency without waiting
for locking.
This situation happens when P and M for new frequency are equal to
corresponding parameters for old frequency. Then only S needs to be changed.
In this patch support for such a change is provided.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agoARM: cpufreq: Parse CPUFREQ's voltage table passed as device tree node
Lukasz Majewski [Tue, 8 Oct 2013 09:57:13 +0000 (11:57 +0200)]
ARM: cpufreq: Parse CPUFREQ's voltage table passed as device tree node

Now it is possible to parse cpufreq's voltage table information passed as
device tree node. This is handy for various different PMICs.

It is also possible to override this device tree node by defining empty
"volt_table" node. Then default exynos4x12_volt_table[] is used.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agoregulator:dts:slp-PD: MAX8997 device tree nodes definitions for MIDAS (PEGASUS_D)
Lukasz Majewski [Tue, 8 Oct 2013 09:50:35 +0000 (11:50 +0200)]
regulator:dts:slp-PD: MAX8997 device tree nodes definitions for MIDAS (PEGASUS_D)

Adjustment of regulator configuration (max8997) for MIDAS (PEGASUSD) device.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
10 years agophy: exynos: Change order of initialization of phy in power_on
Kamil Debski [Mon, 7 Oct 2013 16:23:49 +0000 (18:23 +0200)]
phy: exynos: Change order of initialization of phy in power_on

The order was changed to turn power on first and the disable the physical
isolation.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Phy driver change - order of init - to be squashed

10 years agophy: exynos-usb: Fix referenct counting
Kamil Debski [Tue, 1 Oct 2013 13:48:13 +0000 (15:48 +0200)]
phy: exynos-usb: Fix referenct counting

This patch fixes the reference counting when powerin on/off the phy.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agodts: arm: Add voltage regulator and additional clock supply to ehci-s5p
Kamil Debski [Tue, 8 Oct 2013 08:53:58 +0000 (10:53 +0200)]
dts: arm: Add voltage regulator and additional clock supply to ehci-s5p

This patch adds voltage regulator and additional clock support to the
ehci-s5p driver.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoehci-s5p: Add second clock to the ehci-s5p driver
Kamil Debski [Mon, 7 Oct 2013 10:35:40 +0000 (12:35 +0200)]
ehci-s5p: Add second clock to the ehci-s5p driver

Adding the second clock was necessary for the USB HOST to work. Previously
it was working thanks to the USB DEVICE driver being loaded first.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoehci-s5p: Add power regulator support
Kamil Debski [Wed, 2 Oct 2013 09:08:17 +0000 (11:08 +0200)]
ehci-s5p: Add power regulator support

Add rgulator support for the ehci-s5p driver. Before this patch the driver
relied on the regulators being switched on either by bootloader or other
drivers.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agodts: arm: Add support for new Exynos USB phy driver to origen and universal
Kamil Debski [Tue, 8 Oct 2013 08:50:53 +0000 (10:50 +0200)]
dts: arm: Add support for new Exynos USB phy driver to origen and universal

This patch adds support for the new Exynos USB PHY driver. It also removes
remnants of the old driver's presence in the dts files.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agodts: arm: Add dts file for the exynos4412-odroidx2 board
Kamil Debski [Mon, 7 Oct 2013 16:21:43 +0000 (18:21 +0200)]
dts: arm: Add dts file for the exynos4412-odroidx2 board

This patch add support for the Exynos4412 based Origen-X2 board.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoehci-s5p: Use device tree to get name of desired phy
Kamil Debski [Thu, 26 Sep 2013 08:04:02 +0000 (10:04 +0200)]
ehci-s5p: Use device tree to get name of desired phy

With this patch the name of the phy that should be used is read from
the device tree. This gives more flexibility to use the driver without
recompiling.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoregulator: max77686: Support DVS control in max77686 regulator.
Jonghwa Lee [Mon, 7 Oct 2013 08:02:15 +0000 (17:02 +0900)]
regulator: max77686: Support DVS control in max77686 regulator.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agoarm: exynos: Fix SFR base address of DMC in EXYNOS4 series.
Jonghwa Lee [Mon, 7 Oct 2013 08:03:32 +0000 (17:03 +0900)]
arm: exynos: Fix SFR base address of DMC in EXYNOS4 series.

This patch fixes DMC's physical SFR address base which is used for
static memory mapping as EXYNOS4210 and EXYNOS4x12 uses different SFR
addresses for them.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agoARM: defconfig: enable the mmc clock-gating config
Jaehoon Chung [Mon, 7 Oct 2013 07:14:36 +0000 (16:14 +0900)]
ARM: defconfig: enable the mmc clock-gating config

Enable the MMC_CLK_CATING configuration.

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 years agoWORKAROUND: Temporary workaround for Suspend-To-Ram.
Jonghwa Lee [Mon, 7 Oct 2013 06:45:12 +0000 (15:45 +0900)]
WORKAROUND: Temporary workaround for Suspend-To-Ram.

*** Should be purged later.

Current issue :
@m0, When system wakes from suspend-to-ram state, it often
hangs out or shows data abort error due to invalidate PC value
(For more information, please reference 'BSP ISSUES'
on TizenKernel Wiki (http://10.252.81.130/mediawiki/)

Suspect :
Non boot CPUs' hotplugging. Without power-off of non-boot cpus,
it never happens.

Workaround :
Keep VDD_ARM regulator ON, even system's in STR state.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agodts: exynos4x12: Add device tree node for exynos4 busfreq.
Jonghwa Lee [Mon, 7 Oct 2013 06:37:19 +0000 (15:37 +0900)]
dts: exynos4x12: Add device tree node for exynos4 busfreq.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agodevfreq: exynos4: Support DT in exynos4 busfreq driver.
Jonghwa Lee [Mon, 7 Oct 2013 06:25:01 +0000 (15:25 +0900)]
devfreq: exynos4: Support DT in exynos4 busfreq driver.

This patch makes exynos4 busfreq driver to support device tree.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agoARM: dts: Correct audio clock number in exynos4412-slp_pq.dts
Marek Szyprowski [Wed, 2 Oct 2013 06:51:25 +0000 (08:51 +0200)]
ARM: dts: Correct audio clock number in exynos4412-slp_pq.dts

Audio block should use mout_clkout (396) as parent clock instead of
incorrect aclk400_mcuisp clokc (395).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agoarm: dst: add SLP Pegasus Dual board (for testing Exynos4212)
Marek Szyprowski [Wed, 25 Sep 2013 12:21:57 +0000 (14:21 +0200)]
arm: dst: add SLP Pegasus Dual board (for testing Exynos4212)

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agovideo: cdf-panel: support lcd class operations for s6d6aa1 panel
Donghwa Lee [Fri, 27 Sep 2013 07:42:08 +0000 (16:42 +0900)]
video: cdf-panel: support lcd class operations for s6d6aa1 panel

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agos5p-jpeg: Add support for Exynos4x12
Jacek Anaszewski [Thu, 26 Sep 2013 13:36:07 +0000 (15:36 +0200)]
s5p-jpeg: Add support for Exynos4x12

Added support for Exynos4x12 to the s5p-jpeg driver.
This is work-in-progress - only conversions among formats
compatible with S5P version are currently reliable.

Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
10 years agos5p-jpeg: Use mem-to-mem ioctl helpers
Sylwester Nawrocki [Sun, 25 Aug 2013 20:16:56 +0000 (22:16 +0200)]
s5p-jpeg: Use mem-to-mem ioctl helpers

Simplify the driver by using the m2m ioctl and vb2 helpers.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agos5p-jpeg: Initialize vfd_decoder->vfl_dir field
Jacek Anaszewski [Wed, 11 Sep 2013 10:11:48 +0000 (12:11 +0200)]
s5p-jpeg: Initialize vfd_decoder->vfl_dir field

This patch fixes regression introduced in the commit
5c77879ff9ab9e7 and caused by not initializing the
vfl_dir field of the vfd_decoder instance of the struct
video_device, after the field was introduced. It precluded
calling the driver ioctls which require vfl_dir not to be
equal to VFL_DIR_RX which is defined as 0 and uninitialized
vfl_dir field is interpreted as such. In effect the unlikely()
condition in the v4l_s_fmt function failed for the ioctls that
expect is_tx to be false, which prevented the ioctl callbacks
registered by the driver from being called.

Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
10 years agoV4L: Add mem2mem ioctl and file operation helpers
Sylwester Nawrocki [Sat, 14 Sep 2013 21:39:04 +0000 (23:39 +0200)]
V4L: Add mem2mem ioctl and file operation helpers

This patch adds ioctl helpers to the V4L2 mem-to-mem API, so we can avoid
several ioctl handlers in the mem-to-mem video node drivers that are simply
a pass-through to the v4l2_m2m_* calls. These helpers will only be useful
for drivers that use same mutex for both OUTPUT and CAPTURE queue, which
is the case for all currently in tree v4l2 m2m drivers. In order to use
the helpers the drivers are required to use struct v4l2_fh.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Changes since v1:
 - added v4l2_m2m_ioctl_create_buf().

10 years agousb: gadget: slp: remove rndis_init
Chanho Park [Thu, 26 Sep 2013 05:35:25 +0000 (14:35 +0900)]
usb: gadget: slp: remove rndis_init

This patch removes rndis_init because it was already enabled during module_init.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agodrm: exynos: support drm backlight dpms on/off
Donghwa Lee [Thu, 26 Sep 2013 05:38:02 +0000 (14:38 +0900)]
drm: exynos: support drm backlight dpms on/off

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agodrm: Add drm backlight subsystem support
Donghwa Lee [Thu, 26 Sep 2013 05:31:08 +0000 (14:31 +0900)]
drm: Add drm backlight subsystem support

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agoWIP: extcon: do not update cable state if notifier cannot handle it
Chanho Park [Wed, 25 Sep 2013 07:47:33 +0000 (16:47 +0900)]
WIP: extcon: do not update cable state if notifier cannot handle it

During probing a extcon-max77693 driver, extcon-port driver can't receive nb
callback due to initializing sequences.
Thus, if the callback can't be handled, we do not update the cable state.
I'm not sure this patch is good solution :)

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agotizen: Update default configuration to enable extcon-port driver
Chanwoo Choi [Mon, 9 Sep 2013 10:47:21 +0000 (19:47 +0900)]
tizen: Update default configuration to enable extcon-port driver

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoextcon: Add extcon-port platform device to update uevent of cable
Chanwoo Choi [Mon, 9 Sep 2013 10:44:31 +0000 (19:44 +0900)]
extcon: Add extcon-port platform device to update uevent of cable

This patch add extcon-port platform device to extcon-port driver
to bring up it. extcon-port driver can update uevent of cable
when cable is attached or detached.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoextcon: max77693: Define dock constant to remove compile error
Chanwoo Choi [Mon, 9 Sep 2013 10:43:13 +0000 (19:43 +0900)]
extcon: max77693: Define dock constant to remove compile error

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoextcon: Add extcon-port driver to maintain compatibility with old jack driver
Chanwoo Choi [Fri, 30 Aug 2013 08:15:53 +0000 (17:15 +0900)]
extcon: Add extcon-port driver to maintain compatibility with old jack driver

This patch add extcon-port driver which maintain compatibility with old JACK
driver(drivers/misc/jack.c). extcon-port driver send uevent to user-space
when receive notification of cable state from EXTCON.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Conflicts:

drivers/extcon/Kconfig
drivers/extcon/Makefile

10 years agodts: arm: add missing clock properties to MCT for Exynos4212
Marek Szyprowski [Wed, 18 Sep 2013 09:09:38 +0000 (11:09 +0200)]
dts: arm: add missing clock properties to MCT for Exynos4212

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agodmaengine: pl330: use dma_set_max_seg_size to set the sg limit
Vinod Koul [Mon, 2 Sep 2013 16:24:48 +0000 (21:54 +0530)]
dmaengine: pl330: use dma_set_max_seg_size to set the sg limit

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agodmaengine: dma_slave_caps: remove sg entries
Vinod Koul [Mon, 2 Sep 2013 12:17:33 +0000 (17:47 +0530)]
dmaengine: dma_slave_caps: remove sg entries

As pointed by Russell in [1], the sg properties are already availble in struct device,
so no need to duplicate here.

[1]: http://marc.info/?l=linux-omap&m=137416733628831

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agodma: pl330: Fix handling of TERMINATE_ALL while processing completed descriptors
Lars-Peter Clausen [Tue, 27 Aug 2013 18:34:05 +0000 (20:34 +0200)]
dma: pl330: Fix handling of TERMINATE_ALL while processing completed descriptors

The pl330 DMA driver is broken in regard to handling a terminate all request
while it is processing the list of completed descriptors. This is most visible
when calling dmaengine_terminate_all() from within the descriptors callback for
cyclic transfers. In this case the TERMINATE_ALL transfer will clear the
work_list and stop the transfer. But after all callbacks for all completed
descriptors have been handled the descriptors will be re-enqueued into the (now
empty) work_list. So the next time dma_async_issue_pending() is called for the
channel these descriptors will be transferred again which will cause data
corruption. Similar issues can occur if dmaengine_terminate_all() is not called
from within the descriptor callback but runs on a different CPU at the same time
as the completed descriptor list is processed.

This patch introduces a new per channel list which will hold the completed
descriptors. While processing the list the channel's lock will be held to avoid
racing against dmaengine_terminate_all(). The lock will be released when calling
the descriptors callback though. Since the list of completed descriptors might
be modified (e.g. by calling dmaengine_terminate_all() from the callback) we can
not use the normal list iterator macros. Instead we'll need to check for each
loop iteration again if there are still items in the list. The drivers
TERMINATE_ALL implementation is updated to move descriptors from both the
work_list as well the new completed_list back to the descriptor pool. This makes
sure that none of the descripts finds its way back into the work list and also
that we do not call any futher complete callbacks after
dmaengine_terminate_all() has been called.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agodmaengine: make dma_submit_error() return an error code
Dan Carpenter [Sat, 10 Aug 2013 07:46:50 +0000 (10:46 +0300)]
dmaengine: make dma_submit_error() return an error code

The problem here is that the dma_xfer() functions in
drivers/ata/pata_arasan_cf.c and drivers/mtd/nand/fsmc_nand.c expect
dma_submit_error() to return an error code so they return 1 when they
intended to return a negative.

So far as I can tell, none of the ->tx_submit() functions ever do
return error codes so this patch should have no effect in the current
code.

I also changed it from a define to an inline.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Dan Williams <djbw@fb.com>
10 years agodma: pl330: split off common code to give back descriptors
Chanho Park [Fri, 9 Aug 2013 11:11:33 +0000 (20:11 +0900)]
dma: pl330: split off common code to give back descriptors

This patch adds __pl330_giveback_descs which give back descriptors when fails
allocating descriptors. It requires to eliminate duplication for
pl330_prep_dma_sg which will be added later.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Acked-by : Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agodmaengine: add interface of dma_get_slave_channel
Zhangfei Gao [Fri, 28 Jun 2013 12:39:12 +0000 (20:39 +0800)]
dmaengine: add interface of dma_get_slave_channel

Suggested by Arnd, add dma_get_slave_channel interface
Dma host driver could get specific channel specificied by request line, rather than filter.

host example:
static struct dma_chan *xx_of_dma_simple_xlate(struct of_phandle_args *dma_spec,
struct of_dma *ofdma)
{
struct xx_dma_dev *d = ofdma->of_dma_data;
unsigned int request = dma_spec->args[0];

if (request > d->dma_requests)
return NULL;

return dma_get_slave_channel(&(d->chans[request].vc.chan));
}

probe:
of_dma_controller_register((&op->dev)->of_node, xx_of_dma_simple_xlate, d);

Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agodma: pl330: Implement device_slave_caps
Lars-Peter Clausen [Mon, 15 Jul 2013 15:53:08 +0000 (17:53 +0200)]
dma: pl330: Implement device_slave_caps

Implement the device_slave_caps() callback for the pl330 driver. This allows
dmaengine users like the generic ALSA dmaengine PCM driver to query the
capabilities of the driver. The PL330 supports all buswidths and both
mem-to-dev as well as dev-to-mem transfers. In theory there is no limit on the
number of segments that can be transferred (in practice you'll run out of memory
eventually) and the number of bytes per segment is limited by the size of the
PL330 program buffer. Due to the nature of the PL330 the maximum number of bytes
per segment depends on the burstsize, the driver sets it to the value for a
1-byte burstsize, since it is the smallest.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agodmaengine: add dma_slave_get_caps api
Vinod Koul [Mon, 8 Jul 2013 08:45:25 +0000 (14:15 +0530)]
dmaengine: add dma_slave_get_caps api

add new device callback .device_slave_caps api which can be used by clients to
query the dma channel capablties before they program the channel. This can help
is removing errors during the channel programming. Also add helper
dma_slave_get_caps API

This patch folds the work done by Matt earlier
https://patchwork.kernel.org/patch/2094891/

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
10 years agoRevert "exynos4-is: Ungate uart clocks on system suspend"
Sylwester Nawrocki [Fri, 13 Sep 2013 17:38:40 +0000 (19:38 +0200)]
Revert "exynos4-is: Ungate uart clocks on system suspend"

This reverts commit 85f406b4269d2c5905c59b7ca59484c7b7e00842.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoARM: dts: Assign correct UART gate clock to Exynos4x12 FIMC-IS
Sylwester Nawrocki [Fri, 13 Sep 2013 17:20:21 +0000 (19:20 +0200)]
ARM: dts: Assign correct UART gate clock to Exynos4x12 FIMC-IS

Use gate from CLK_GAT_IP_ISP register rather than MUX clock output gate
from CLK_SRC_MASK_ISP.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Disable ISP UART clock gating
Sylwester Nawrocki [Fri, 13 Sep 2013 17:16:07 +0000 (19:16 +0200)]
exynos4-is: Disable ISP UART clock gating

The ISP UART clock causes issues with power management and hangs
on system supend to RAM. Leave it temporarily always on until the
issue is properly resolved.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoARM: exynos: Make fimc-lite nodes children of fimc-is node
Sylwester Nawrocki [Fri, 13 Sep 2013 10:57:16 +0000 (12:57 +0200)]
ARM: exynos: Make fimc-lite nodes children of fimc-is node

FIMC-LITE devices are part of the FIMC-IS subsystem a have dependencies
on resources that are managed by FIMC-IS. Make fimc-lite nodes children
of fimc-is node, as in case of other FIMC-IS peripheral IP blocks.
This also removes now unnecessary 'samsung, power-domain' property from
the fimc-lite nodes.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Make fimc-lite dependency on fimc-is explicit in Kconfig
Sylwester Nawrocki [Fri, 13 Sep 2013 10:50:21 +0000 (12:50 +0200)]
exynos4-is: Make fimc-lite dependency on fimc-is explicit in Kconfig

For power/clock management reasons FIMC-LITE devices can be used only
when the FIMC-IS driver is initialized.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Do not unnecessarily activate fimc-is device in probe()
Sylwester Nawrocki [Thu, 12 Sep 2013 16:49:09 +0000 (18:49 +0200)]
exynos4-is: Do not unnecessarily activate fimc-is device in probe()

There is no use of temporarily activating the device in probe()
so remove the pm_runtime_get_sync(), pm_runtime_put() calls.
This also fixes a bug on error path.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Do not unnecessarily activate fimc devices in probe()
Sylwester Nawrocki [Thu, 12 Sep 2013 16:48:04 +0000 (18:48 +0200)]
exynos4-is: Do not unnecessarily activate fimc devices in probe()

There is no use of temporarily activating the device in probe()
so remove the pm_runtime_get_sync(), pm_runtime_put() calls.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Do not unnecessarily activate fimc-lite device in probe()
Sylwester Nawrocki [Thu, 12 Sep 2013 16:47:08 +0000 (18:47 +0200)]
exynos4-is: Do not unnecessarily activate fimc-lite device in probe()

There is no use of temporarily activating the device in probe()
so remove the pm_runtime_get_sync(), pm_runtime_put() calls.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Enable registration of fimc-lite devices as children of fimc-is
Sylwester Nawrocki [Thu, 12 Sep 2013 16:57:41 +0000 (18:57 +0200)]
exynos4-is: Enable registration of fimc-lite devices as children of fimc-is

This allows registration of FIMC-LITE devices also when they are
specified in device tree as fimc-is subnodes.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoARM: EXYNOS: Avoid potential invalid genpd pointer dereference
Sylwester Nawrocki [Mon, 5 Aug 2013 14:10:52 +0000 (16:10 +0200)]
ARM: EXYNOS: Avoid potential invalid genpd pointer dereference

dev_to_gend() may return an invalid pointer. Make
exynos_remove_device_from_domain() function return and do
nothing is such case. This prevents an invalid pointer
dereference further in the function.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agoUSB: gadget: s3c-hsotg: fix clear feature ENDPOINT_HALT
Robert Bałdyga [Wed, 11 Sep 2013 12:35:02 +0000 (14:35 +0200)]
USB: gadget: s3c-hsotg: fix clear feature ENDPOINT_HALT

This patch adds two fixes:
- Property halted of s3c_hsotg_ep structure is actually changed when halt is
  set/cleared.
- All requests for endpoint are completed when it was halted, and the halt was
  cleared by CLEAR_FEATURE, but not when new state is same as previous.

Signed-off-by: Robert Bałdyga <r.baldyga@samsung.com>
10 years agoUSB: gadget: s3c-hsotg: fix dedicated fifos handling
Robert Bałdyga [Mon, 9 Sep 2013 08:44:37 +0000 (10:44 +0200)]
USB: gadget: s3c-hsotg: fix dedicated fifos handling

This patch adds few fixes:
- In s3c_hsotg_write_fifo function PTxFEmp/NPTxFEmp interrupts are enabled
  only in shared-fifo mode. In dedicated-fifo mode they should not be used
  (when enabled then cause interrupt storm).
- When s3c_hsotg_trytx is called for ep without enqueued request, interrupts
  for this ep are disabled, to prevent interrupt flooding. Interrupts are
  enabled when new request for this ep is starting.
- In s3c_hsotg_core_init enabled INTknTXFEmpMsk, becouse without this mask
  TxFIFOEmpty interrupt does not occur.
- In OEPInt/IEPInt interrupts handling added bitwise and of DAINT and
  DAINTMSK, because we should handle masked interrupts only.

Signed-off-by: Robert Bałdyga <r.baldyga@samsung.com>
10 years agoUSB: gadget: s3c-hsotg: fix "protocol stall" handling
Robert Bałdyga [Mon, 9 Sep 2013 08:44:28 +0000 (10:44 +0200)]
USB: gadget: s3c-hsotg: fix "protocol stall" handling

After normal handling of SetupDone interrupt, XferCompl interrupt occurs, and
then we enqueue new setup request. But when ep0 is stalled, there is no
XferCompl, so we have to enqueue setup request immediately after stalling ep.
Otherwise incoming control requests won't be processed correctly.

Signed-off-by: Robert Bałdyga <r.baldyga@samsung.com>
10 years agousb/gadget: s3c-hsotg: fix non-dt build
Marek Szyprowski [Thu, 27 Jun 2013 05:33:28 +0000 (07:33 +0200)]
usb/gadget: s3c-hsotg: fix non-dt build

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agodrivers: usb: s3c-hsotg: fix gadget unregistering
Marek Szyprowski [Tue, 13 Aug 2013 10:59:10 +0000 (12:59 +0200)]
drivers: usb: s3c-hsotg: fix gadget unregistering

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agommc: core: Update the ext-csd.rev check for eMMC5.1
Yuvaraj Kumar C D [Tue, 21 May 2013 09:38:43 +0000 (15:08 +0530)]
mmc: core: Update the ext-csd.rev check for eMMC5.1

With the new eMMC5.1 spec, there is a new EXT_CSD register with
the revision number(EXT_CSD_REV) 7. This patch updates the check
for ext-csd.rev number as 7.

Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@samsung.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
10 years agoARM: dts: Correct USB PHY use in exynos4412-slp_pq.dts
Kamil Debski [Tue, 10 Sep 2013 16:08:49 +0000 (18:08 +0200)]
ARM: dts: Correct USB PHY use in exynos4412-slp_pq.dts

Some values (ranges, address-cells, size-cells) were not used hence they
were removed.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agophy: Correct Exynos USB PHY device tree documentation
Kamil Debski [Tue, 10 Sep 2013 16:07:12 +0000 (18:07 +0200)]
phy: Correct Exynos USB PHY device tree documentation

Some values (ranges, address-cells, size-cells) were not used hence
they were removed.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agommc: dw-mmc: check whether card is busy or not, before clock disabled.
Jaehoon Chung [Tue, 10 Sep 2013 08:43:03 +0000 (17:43 +0900)]
mmc: dw-mmc: check whether card is busy or not, before clock disabled.

Before disable the clock, must check whether card is busy or not.
(Refer to DesignWare TRM)

Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
10 years agodrm: exynos: fixed YCbCr start addresses port for input DMA with 0
Donghwa Lee [Tue, 10 Sep 2013 05:03:26 +0000 (14:03 +0900)]
drm: exynos: fixed YCbCr start addresses port for input DMA with 0

fixed YCbCr start addresses port for input DMA with 0.

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
10 years agotizen_defconfig update
Kamil Debski [Mon, 9 Sep 2013 14:52:59 +0000 (16:52 +0200)]
tizen_defconfig update

Enable the new USB PHY driver using the Generic PHY Framework and enable
EHCI driver (it works well with new PHY driver).
Disable the old USB PHY driver.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoARM: dts: Add new USB PHY driver to dts of exynos4412-slp_pq
Kamil Debski [Mon, 9 Sep 2013 14:43:47 +0000 (16:43 +0200)]
ARM: dts: Add new USB PHY driver to dts of exynos4412-slp_pq

This patch adds device tree nodes supporting new USB PHY driver using the
Generic PHY Framework to slp_pq target.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agousb: s3c-hsotg: Use the new Exynos USB phy driver with the generic phy framework
Kamil Debski [Wed, 31 Jul 2013 10:04:33 +0000 (12:04 +0200)]
usb: s3c-hsotg: Use the new Exynos USB phy driver with the generic phy framework

Change the used phy driver to the new Exynos USB phy driver that uses the
generic phy framework.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agousb: ehci-s5p: Change to use phy provided by the generic phy framework
Kamil Debski [Wed, 31 Jul 2013 08:43:00 +0000 (10:43 +0200)]
usb: ehci-s5p: Change to use phy provided by the generic phy framework

Change the phy provider used from the old usb phy specific to a new one
using the generic phy framework.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agophy: Add new Exynos USB PHY driver
Kamil Debski [Wed, 31 Jul 2013 08:35:15 +0000 (10:35 +0200)]
phy: Add new Exynos USB PHY driver

Add a new driver for the Exynos USB PHY. The new driver uses the generic
PHY framework.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agoWIP: usb: gadget: add slp composite gadget
Chanho Park [Mon, 9 Sep 2013 10:14:06 +0000 (19:14 +0900)]
WIP: usb: gadget: add slp composite gadget

This patch only enables 'rndis' and 'sdb' function gadgets. We may need to
verify 'mtp', 'accessary' and so on. The slp gadget should be removed after
we migrate to configfs-based gadget configuration successfully.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agousb: s3c-hsotg: do not disconnect gadget when receiving ErlySusp intr
Chanho Park [Mon, 9 Sep 2013 08:24:35 +0000 (17:24 +0900)]
usb: s3c-hsotg: do not disconnect gadget when receiving ErlySusp intr

DWC2 databook indicates if the core sets "ErlySusp" bit, an idle state has been
detected on the USB for 3 ms. This situation can be occurred when waiting
a request from user daemon. So, we should keep the connection between udc and
gadget even though this interrupt is occurred.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agoHACK: usb: gadget: Fix enumeration on boot
Chanho Park [Mon, 9 Sep 2013 08:23:54 +0000 (17:23 +0900)]
HACK: usb: gadget: Fix enumeration on boot

The Android gadget driver disconnects the gadget on bind
and expects the gadget to stay disconnected until it calls
usb_gadget_connect when userspace is ready. Removed the call
to usb_gadget_connect in usb_gadget_probe_driver to avoid
enabling the pullup before userspace is ready.

Signed-off-by: Benoit Goby <benoit@android.com>
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agotizen_defconfig update
Sylwester Nawrocki [Fri, 6 Sep 2013 13:22:30 +0000 (15:22 +0200)]
tizen_defconfig update

Enable s5p-jpeg, DRM FIMC and DRM image rotator drivers.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoARM: dts: Add common jpeg codec node for Exynos4 SoCs
Sylwester Nawrocki [Fri, 6 Sep 2013 10:20:31 +0000 (12:20 +0200)]
ARM: dts: Add common jpeg codec node for Exynos4 SoCs

Add common JPEG codec device node for Exynos4 SoCs.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
10 years agoARM: dts: Add node aliases for ISP_I2C bus controllers
Sylwester Nawrocki [Thu, 5 Sep 2013 17:09:51 +0000 (19:09 +0200)]
ARM: dts: Add node aliases for ISP_I2C bus controllers

Ensure the ISP I2C bus adapters have always same id.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agovideo: exynos_dsi: Use generic PHY driver
Sylwester Nawrocki [Thu, 4 Apr 2013 12:13:51 +0000 (14:13 +0200)]
video: exynos_dsi: Use generic PHY driver

Use the generic PHY API instead of the platform callback to control
the MIPI DSIM DPHY.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Changes since v4:
 - updated to latest version of the PHY framework - removed PHY
   labels.

10 years ago[media] exynos4-is: Use the generic MIPI CSIS PHY driver
Sylwester Nawrocki [Thu, 4 Apr 2013 12:15:04 +0000 (14:15 +0200)]
[media] exynos4-is: Use the generic MIPI CSIS PHY driver

Use the generic PHY API instead of the platform callback to control
the MIPI CSIS DPHY. The 'phy_label' field is added to the platform
data structure to allow PHY lookup on non-dt platforms

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
Changes since v4:
 - updated to latest version of the PHY framework - removed PHY
   labels.

10 years agophy: Add driver for Exynos MIPI CSIS/DSIM DPHYs
Sylwester Nawrocki [Wed, 4 Sep 2013 13:07:24 +0000 (15:07 +0200)]
phy: Add driver for Exynos MIPI CSIS/DSIM DPHYs

Add a PHY provider driver for the Samsung S5P/Exynos SoC MIPI CSI-2
receiver and MIPI DSI transmitter DPHYs.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Felipe Balbi <balbi@ti.com>
---
Changes since v4:
 - updated to new version of devm_phy_create().

Changes since v3:
 - replaced spin_(un)lock_irq_{save,restore} with spin_{lock,unlock}.
 - DT binding file renamed to samsung-phy.txt, so it can be used for
   other PHYs as well,
 - removed <linux/delay.h> inclusion,
 - added missing spin_lock_init().

10 years agodrivers: phy: add generic PHY framework
Kishon Vijay Abraham I [Tue, 13 Aug 2013 11:19:01 +0000 (16:49 +0530)]
drivers: phy: add generic PHY framework

The PHY framework provides a set of APIs for the PHY drivers to
create/destroy a PHY and APIs for the PHY users to obtain a reference to the
PHY with or without using phandle. For dt-boot, the PHY drivers should
also register *PHY provider* with the framework.

PHY drivers should create the PHY by passing id and ops like init, exit,
power_on and power_off. This framework is also pm runtime enabled.

The documentation for the generic PHY framework is added in
Documentation/phy.txt and the documentation for dt binding can be found at
Documentation/devicetree/bindings/phy/phy-bindings.txt

Cc: Tomasz Figa <t.figa@samsung.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoRevert "drivers: phy: add generic PHY framework"
Sylwester Nawrocki [Wed, 4 Sep 2013 09:40:06 +0000 (11:40 +0200)]
Revert "drivers: phy: add generic PHY framework"

This reverts commit 528bac1d1f2a8bb10ebc3e56dd8f22e2d76f197f.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoRevert "phy: Add driver for Exynos MIPI CSIS/DSIM DPHYs"
Sylwester Nawrocki [Wed, 4 Sep 2013 09:39:48 +0000 (11:39 +0200)]
Revert "phy: Add driver for Exynos MIPI CSIS/DSIM DPHYs"

This reverts commit e1beba577ab67fe06d0d75546b28eea767bae03d.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoRevert "[media] exynos4-is: Use the generic MIPI CSIS PHY driver"
Sylwester Nawrocki [Wed, 4 Sep 2013 09:39:36 +0000 (11:39 +0200)]
Revert "[media] exynos4-is: Use the generic MIPI CSIS PHY driver"

This reverts commit 88d0875e5d8cb005a3c21dff52581b08b6fd22eb.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoRevert "video: exynos_dsi: Use generic PHY driver"
Sylwester Nawrocki [Wed, 4 Sep 2013 09:38:47 +0000 (11:38 +0200)]
Revert "video: exynos_dsi: Use generic PHY driver"

This reverts commit 304105d59b61ac6800a274cdcf8f618b5007456a.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agotizen_defconfig update
Sylwester Nawrocki [Wed, 4 Sep 2013 10:53:48 +0000 (12:53 +0200)]
tizen_defconfig update

Enable M0 front facing camera sensor driver.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoexynos4-is: Fix the writeback clocks handling
Andrzej Hajda [Fri, 30 Aug 2013 07:37:43 +0000 (09:37 +0200)]
exynos4-is: Fix the writeback clocks handling

The patch fixes situation when during probe clk_get() on some clock did
not succeed and the driver tries to clk_put() invalid clocks.
The fix prevents faults as follows:

[   43.785000] Unable to handle kernel NULL pointer dereference at virtual address 00000044
[   43.785000] pgd = e6214000
[   43.785000] [00000044] *pgd=00000000
[   43.785000] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[   43.785000] Modules linked in: s5p_fimc(+) ipv6 s5p_csis s5k5baf v4l2_mem2mem videobuf2_dma_contig videobuf2_memops exynos4_is_common videobuf2_core m5mols
[   43.785000] CPU: 0 PID: 2496 Comm: modprobe Not tainted 3.11.0-rc2-00316-ga8cf411 #1612
[   43.785000] task: e71a0000 ti: e6a08000 task.ti: e6a08000
[   43.785000] PC is at __clk_put+0x1c/0x8c
[   43.785000] LR is at clk_prepare_lock+0xc/0xd8
[   43.785000] pc : [<c02f0d5c>]    lr : [<c02f00f0>]    psr: 60000013
[   43.785000] sp : e6a09d20  ip : e6a09cd0  fp : c0d9df7c
[   43.785000] r10: e6698940  r9 : e71b4a00  r8 : c0d9eca0
[   43.785000] r7 : e71b5400  r6 : c0d9eacc  r5 : fffffdfb  r4 : 00000000
[   43.785000] r3 : e71a0000  r2 : 00000001  r1 : 00000947  r0 : 00000044
[   43.785000] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
[   43.785000] Control: 10c5387d  Table: 6621404a  DAC: 00000015
[   43.785000] Process modprobe (pid: 2496, stack limit = 0xe6a08238)
[   43.785000] Stack: (0xe6a09d20 to 0xe6a0a000)
             ...
[   43.785000] [<c02f0d5c>] (__clk_put+0x1c/0x8c) from [<bf0992a0>] (fimc_md_put_clocks+0x48/0x6c [s5p_fimc])
[   43.785000] [<bf0992a0>] (fimc_md_put_clocks+0x48/0x6c [s5p_fimc]) from [<bf09a66c>] (fimc_md_probe+0x484/0x954 [s5p_fimc])
[   43.785000] [<bf09a66c>] (fimc_md_probe+0x484/0x954 [s5p_fimc]) from [<c0219c78>] (platform_drv_probe+0x18/0x1c)
[   43.785000] [<c0219c78>] (platform_drv_probe+0x18/0x1c) from [<c0218ab4>] (driver_probe_device+0x108/0x224)
[   43.785000] [<c0218ab4>] (driver_probe_device+0x108/0x224) from [<c0218c5c>] (__driver_attach+0x8c/0x90)
[   43.785000] [<c0218c5c>] (__driver_attach+0x8c/0x90) from [<c02171a8>] (bus_for_each_dev+0x54/0x88)
[   43.785000] [<c02171a8>] (bus_for_each_dev+0x54/0x88) from [<c02181c4>] (bus_add_driver+0xd4/0x22c)
[   43.785000] [<c02181c4>] (bus_add_driver+0xd4/0x22c) from [<c0219114>] (driver_register+0x78/0x14c)
[   43.785000] [<c0219114>] (driver_register+0x78/0x14c) from [<c00087a0>] (do_one_initcall+0xe4/0x140)
[   43.785000] [<c00087a0>] (do_one_initcall+0xe4/0x140) from [<c00672ac>] (load_module+0x17b4/0x1d4c)
[   43.785000] [<c00672ac>] (load_module+0x17b4/0x1d4c) from [<c006791c>] (SyS_init_module+0xd8/0xec)
[   43.785000] [<c006791c>] (SyS_init_module+0xd8/0xec) from [<c000e360>] (ret_fast_syscall+0x0/0x30)
[   43.785000] Code: 8a000012 ebfffce3 e2840044 f57ff05f (e1903f9f)

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
10 years agoARM: dts: exynos4210-trats: modify m5mols node according to driver
Andrzej Hajda [Tue, 3 Sep 2013 13:43:52 +0000 (15:43 +0200)]
ARM: dts: exynos4210-trats: modify m5mols node according to driver

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