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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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().
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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.
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().
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>
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>
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>
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>
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>
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>
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>
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>