Xing Zheng [Tue, 21 Jun 2016 04:53:28 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: include rk3288 downstream muxes into fractional dividers
During the initial conversion to the newly introduced combined fractional
dividers+muxes the rk3228 clocks were left out, so convert them now.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
c73f689eea9f1e1706a600a506ba89f82bd84349)
Change-Id: Iea91d23ec1fa09c4777f7ccdb016514c301f90ec
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 21 Jun 2016 04:53:27 +0000 (12:53 +0800)]
UPSTREAM: clk: rockchip: fix incorrect rk3228 clock registers
Due to copy and paste carelessly, RK3288_CLKxxx references are incorrect,
we need to fix them.
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
67de7901c441f7516d3ca967fa64533556cae4e7)
Change-Id: I3910b05343e0f8353ee277f969e4ab32ed94ad6d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Shawn Lin [Sun, 13 Mar 2016 04:13:22 +0000 (12:13 +0800)]
UPSTREAM: clk: rockchip: release io resource when failing to init clk
We should call iounmap to relase reg_base since it's not going
to be used any more if failing to init clk.
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
1d003eb0805ac5b549e76202a1e95da33f62cb9a)
Change-Id: Ia0161885786d6504fee7e76c6620df98bb2cdb21
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Shawn Lin [Tue, 26 Jan 2016 03:30:18 +0000 (11:30 +0800)]
UPSTREAM: clk: rockchip: fix wrong mmc phase shift for rk3228
mmc sample shift is 0 for rk3228 refer to user manaul.
So it's broken if we enable mmc tuning for rk3228.
Fixes: 307a2e9ac ("clk: rockchip: add clock controller for rk3228")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Reviewed-by: Xing Zheng <zhengxing@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
bb07698fc8d13ec74f4f5bd87b04953777ee6982)
Change-Id: I9bb7e18fe8c1cdb5661219f078f4992de7ad06bd
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Yakir Yang [Wed, 24 Feb 2016 10:16:28 +0000 (18:16 +0800)]
UPSTREAM: clk: rockchip: set the clock ids for RK3228 HDMI
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next from commit
bdc7deec2fe86555ab0039ba52bcf35721dc1577)
Change-Id: I33e4850717853d3ea94479b087d32f114e5b1a59
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Yakir Yang [Wed, 24 Feb 2016 10:54:18 +0000 (18:54 +0800)]
UPSTREAM: clk: rockchip: set the clock ids for RK3228 VOP
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next from commit
0a9d4ac08ebc6bddc97228600c4d7e247d9d7a36)
Change-Id: I9e995f3e1fe35d5b3b44adec174fd58df9b90380
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Yakir Yang [Wed, 24 Feb 2016 10:14:25 +0000 (18:14 +0800)]
UPSTREAM: clk: rockchip: add the new clock ids for RK3228 HDMI
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-shared/clkids commit
2d2671ea4b35454b30a69744ce258489920e4d2b)
Change-Id: I670ae08d8cac91e0cf4985ca50e3f64916d527ba
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Yakir Yang [Wed, 24 Feb 2016 10:08:20 +0000 (18:08 +0800)]
UPSTREAM: clk: rockchip: add the new clock ids for RK3228 VOP
There are four clocks that vop module would need to operate:
DCLK_VOP, HCLK_VOP, SCLK_VOP, ACLK_VOP,
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-shared/clkids commit
31b1fed36eb56ae8bd25af42ad1625c4110615eb)
Change-Id: Iea57109b85928c4139283e366ce5d60430e8984b
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Caesar Wang [Mon, 15 Feb 2016 07:33:27 +0000 (15:33 +0800)]
UPSTREAM: clk: rockchip: add the tsadc clocks found on rk3228 SoCs
This patch adds the needed clocks for rk3228 tsadc.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Acked-by: Michael Turquette <mturquette@baylibre.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
a3cb9aa4bad3392e23c48e186714a1c96c7d0d6b)
Change-Id: Ie7328cc5de2e3909360e5655acb93d4f0eff025c
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Caesar Wang [Mon, 15 Feb 2016 07:33:26 +0000 (15:33 +0800)]
UPSTREAM: clk: rockchip: add id of the tsadc clock found on rk3228 SoCs
This patch adds 'SCLK_TSADC' and 'PCLK_TSADC' id found on rk3228 SoCs.
That will be needed by TSADC controller.
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Acked-by: Michael Turquette <mturquette@baylibre.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
3629e70b8c78ec7a40d5c4fd1356b9dc1937d326)
Change-Id: Ia4c926d4decc9affd63510a794d7f2553f6be3a5
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Jeffy Chen [Fri, 11 Dec 2015 01:30:50 +0000 (09:30 +0800)]
BACKPORT: clk: rockchip: add clock controller for rk3228
Add the clock tree definition for the new rk3228 SoC.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-clk/next commit
307a2e9ac524bbec707c0e2b47ca50adaecc23f2)
[zx:
previouslly we miss the clock driver for rk3228, it may cause
conflict with struct rockchip_clk_provider on the new CCF,
let's update them directly, therefore, there are include 4
BACKPORT CLs in gerrit:
https://10.10.10.29/#/c/20659/1
https://10.10.10.29/#/c/20661/1
https://10.10.10.29/#/c/20662/1
https://10.10.10.29/#/c/20663/1
]
Change-Id: I8d335e17340291f00f8e1643c8e893f88b06457c
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Jeffy Chen [Wed, 9 Dec 2015 09:04:07 +0000 (17:04 +0800)]
UPSTREAM: clk: rockchip: add dt-binding header for rk3228
Add the dt-bindings header for the rk3228, that gets shared between
the clock controller and the clock references in the dts.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git
v4.8-shared/clkids commit
abf1296599fd679ece61a6c145cc7ee0c490e573)
Change-Id: Id164aa064046276f22dc763c746e9e85c344cd81
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Huibin Hong [Wed, 22 Jun 2016 10:21:29 +0000 (18:21 +0800)]
fiq debugger: add resume for debug uart
The uart power domain is off after suspend, which makes
uart registers reseted. So, when resume, uart driver gets
wrong registers value, and enters endless loop.
Change-Id: I90eb805d85cc27486e94949b9a84c4f8a12430b7
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Rafael J. Wysocki [Mon, 11 Jan 2016 23:12:19 +0000 (00:12 +0100)]
UPSTREAM: platform: Do not detach from PM domains on shutdown
Shutdown is carried out when the driver is still bound to the
device, so it is incorrect to detach it from a PM domain (if any)
at this point.
Change-Id: I325d018c98307fc3386273e2ca6f021ead5069b5
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reported-and-tested-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit
2d30bb0b3889adf09b342722b2ce596c0763bc93)
Mark Yao [Wed, 22 Jun 2016 02:43:35 +0000 (10:43 +0800)]
drm/rockchip: enable pm_runtime after clock enable
Power domain recommand order is that:
-> enable clock
-> pm_runtime_get_sync
-> pm_runtime_put
-> disable clock
Change-Id: Ia8d5c961afe8da6407a7cca1e48696a285460686
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Mark Yao [Wed, 22 Jun 2016 02:36:39 +0000 (10:36 +0800)]
ARM64: dts: rk3399: add powerdomain for vop
Change-Id: I308b22833c00b6ae6e19a53335b34bca31a92804
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Xing Zheng [Sat, 30 Apr 2016 12:57:57 +0000 (20:57 +0800)]
clk: rockchip: rk3399: Add support frac mode frequencies for independent VPLL
These clock rate are used for HDMI display.
Change-Id: I4742dcfe8ddedfa6b86c38ce03bcaa5c28b34c4e
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Frank Wang [Tue, 21 Jun 2016 08:58:53 +0000 (16:58 +0800)]
phy: rockchip-inno-usb2: support phy default parameters tunning.
This patch does not aim to upstream, just use locally.
If needed, the different SoC can register its own callback function
to tunning the default parameters of phy.
Change-Id: I19b2a4f9e0cb04b139dd64eae1c856fbe9142665
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Huibin Hong [Mon, 13 Jun 2016 08:46:02 +0000 (16:46 +0800)]
ARM64: dts: rk3399: android: add fiq_debugger
Change-Id: I537633e25241531ce49bad896f5a18d7f2835aa8
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Mon, 13 Jun 2016 08:42:35 +0000 (16:42 +0800)]
ARM64: dts: rk3399: android: enable early console only
Disable the normal console of 8250, because we use fiq_debugger
console named ttyFIQ0.
Change-Id: I107cf950d646f8d42d2f3e7a6846762a59f3eb97
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Sat, 30 Jan 2016 08:57:10 +0000 (16:57 +0800)]
arm64: configs: rockchip_defconfig select fiq debugger
Change-Id: I96a45e0b580430a67c89f3b7d1bb952124928791
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Mon, 13 Jun 2016 08:41:07 +0000 (16:41 +0800)]
fiq_debugger: fix code error in fiq_debugger_arm64.c
Change-Id: I6163602bf0190db85714c68086f61c89b7629687
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Sat, 30 Jan 2016 08:54:36 +0000 (16:54 +0800)]
soc: rockchip: add rk fiq debugger platform driver
Change-Id: Ibb32efc190ce49d657973133a30632c71f0d806c
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Elaine Zhang [Tue, 21 Jun 2016 07:18:00 +0000 (15:18 +0800)]
clk: rockchip: rk3399: add 65M for PLL freq
VPLL need 65M freq for some HDMI display.
Change-Id: I4f07c97282fb48fc504b54a07838ccb0bbb0355a
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
David Wu [Fri, 17 Jun 2016 21:34:02 +0000 (05:34 +0800)]
i2c: rk3x: sync with i2c-next branch
Change-Id: Id698758616934b8816f0b8be12ea45887dc0aca9
Signed-off-by: David Wu <david.wu@rock-chips.com>
Sugar Zhang [Mon, 20 Jun 2016 06:47:44 +0000 (14:47 +0800)]
ARM64: dts: rk3399: add another pinctrl for spdif
rk3399 has two spdif pinctrl, product need select the one
based on the design.
Change-Id: I5c1d61dd591658b8ffd445dfb27938c8a081c058
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Zorro Liu [Sat, 18 Jun 2016 10:01:09 +0000 (18:01 +0800)]
ARM64: dts: rk3399-vr: mpu6xxx: modified orientation for product and some other config
Change-Id: I389534a6994f42c4a82df2f4b2915031b3f1a6cf
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Aiyoujun [Mon, 6 Jun 2016 15:29:12 +0000 (23:29 +0800)]
ARM64: configs: rockchip_defconfig: enable xz3216 DCDC regulator
Change-Id: I5500acd5d1b6e3c16e03aa67086d00cc05b89108
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
Aiyoujun [Mon, 6 Jun 2016 15:24:29 +0000 (23:24 +0800)]
regulator: xz3216: add driver with xz3216 series of DCDC devices to compile.
Change-Id: I5883e142c17a60cbba7e37bd4a9303efb3c867bf
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
Zorro Liu [Fri, 17 Jun 2016 03:43:19 +0000 (11:43 +0800)]
driver, iio, mpuxxx: do nothing when fifo count is zero
if fifo count is zero, just wait for data ready, there is
no need to reset HW and SW fifo, or things may worse
Change-Id: Ie65cdfde9c4939be772861f5c0842fb66c384827
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Huang Jiachai [Fri, 17 Jun 2016 03:25:32 +0000 (11:25 +0800)]
video: rockchip: only vop big support 8x2560 linebuffer
Change-Id: Iee29c98d28375964a5af3b224350d00cb45d184d
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Shawn Lin [Thu, 16 Jun 2016 07:45:25 +0000 (15:45 +0800)]
ARM64: dts: rk3399-evb: add keep-power-in-suspend for sdhci
We not ONLY keep card power despite of the power status of Soc,
so we should add this tag to speed up the wake.
Change-Id: I318342829cf2f5ef6d3e250c59979c156b412123
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Shawn Lin [Thu, 16 Jun 2016 07:31:33 +0000 (15:31 +0800)]
mmc: block: Fix tag condition with packed writes
Apparently a cut-and-paste error, 'do_data_tag' is using 'brq' for data
size even though 'brq' has not been set up. Instead use blk_rq_sectors().
Change-Id: I721c02d7a937844ecedeb6c24d8439f8a9c29fef
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Chen Liang [Wed, 15 Jun 2016 11:12:18 +0000 (19:12 +0800)]
ARM64: dts: rk3399: support more frequency for evb2
RK3399 evb2 support A72 1.8G / A53 1.5G.
Change-Id: If3b034b3e2b57e1a867d99593529efc95dd51b66
Signed-off-by: Chen Liang <cl@rock-chips.com>
Huang Jiachai [Thu, 16 Jun 2016 12:31:12 +0000 (20:31 +0800)]
video: rockchip: vop: 3399: restore interrupt reg config
Change-Id: I8b2c7d34ec83f437771b240f7fc8d544ae1382a0
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Caesar Wang [Thu, 19 May 2016 23:56:21 +0000 (07:56 +0800)]
UPSTREAM: spi/rockchip: add the rk3036/rk3228/rk3368 to match for driver
In gerenal, the "rockchip,rockchip-spi" string will match the dts
that's great in spi driver. After all the most of rockchip SoCs ar
same spi controller.
Then, we should keep the old style to match the dts various.
Change-Id: Ib6e7b6e778e875f644a832a6c02d94bca8d60b48
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from git.kernel.org next/linux-next.git master
commit
aa29ea3df27dbba19ef59023d0f7330f2fdc58ae)
Caesar Wang [Thu, 19 May 2016 23:56:20 +0000 (07:56 +0800)]
UPSTREAM: spi/rockchip: add rk3036/rk3228/rk3368 SoCs for spi document
We had supported the rk3036/rk3066/rk3188/rk3228/rk3288/rk3368/rk3399
family SoCs in linux kernel.
Let's add the other SoCs, in order to a better understanding from the
rockchip spi document.
Change-Id: If527c4356c2049a2d5bfc88ffec4cd1350f7b9be
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from git.kernel.org next/linux-next.git master
commit
1eb1c5dc601a9f53d5bd53702d95afad337d35d2)
Geert Uytterhoeven [Mon, 14 Mar 2016 15:30:16 +0000 (16:30 +0100)]
UPSTREAM: spi: rockchip: Spelling s/divsor/divisor/
Change-Id: I28ae83b204b0cb81e60bfc8927e1544466b360cb
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
bb51537aa825e98b970c784f802e7e09f29df3ba)
Shawn Lin [Thu, 10 Mar 2016 06:52:27 +0000 (14:52 +0800)]
UPSTREAM: spi: rockchip: covert rsd_nsecs to u32 type
rsd_nsecs is defined as u8 memeber of struct rockchip_spi,
but using of_property_read_u32. That means we take risk of
truncation by type conversion if we pass on big value from
dt.
Change-Id: I4d3e29b64749ac8a86782413d0f41691b9ff4e84
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
108b5c8bba6be101100596bf37a165214e1c8458)
Shawn Lin [Thu, 10 Mar 2016 06:51:48 +0000 (14:51 +0800)]
UPSTREAM: spi: rockchip: header file cleanup
Remove some of unused header files and reoder
it into alphabetical order.
Change-Id: Ib3ae644de08e7e6c6a77393940ceb8897c87e943
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
ec5c5d8ac028cfec4c7c976d93bed1734f1a670a)
Shawn Lin [Wed, 9 Mar 2016 08:11:32 +0000 (16:11 +0800)]
UPSTREAM: spi: rockchip: check requesting dma channel with EPROBE_DEFER
Let's defer probing the driver if the return value of
dma_request_slave_channel is ERR_PTR(-EPROBE_DEFER) instead
of disabling dma capability directly.
Change-Id: I8371178a772cd310df711d7d3b5fe5288be5000d
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
61cadcf46cfdb9f7eec70527968c2b91e9823786)
Shawn Lin [Wed, 9 Mar 2016 08:11:23 +0000 (16:11 +0800)]
UPSTREAM: spi: rockchip: migrate to dmaengine_terminate_async
dmaengine_terminate_all is deprecated, let's use
dmaengine_terminate_async for interrupt handling.
Change-Id: I8c06ef2147c0583d28eeed5b623920199efa9810
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
557b7ea34b9a10a5e13f4d7fd58ac965d801e3bd)
Shawn Lin [Wed, 9 Mar 2016 08:11:15 +0000 (16:11 +0800)]
UPSTREAM: spi: rockchip: check return value of dmaengine_prep_slave_sg
We should check return value of dmaengine_prep_slave_sg, otherwise
we take risk of null pointer.
Change-Id: I2cc468563d630169f314e353d835ad33091c0d3c
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
ea98491133439773b69345eb9a314fc5f15e07a4)
Lars-Peter Clausen [Tue, 20 Oct 2015 09:46:28 +0000 (11:46 +0200)]
UPSTREAM: dmaengine: Add transfer termination synchronization support
The DMAengine API has a long standing race condition that is inherent to
the API itself. Calling dmaengine_terminate_all() is supposed to stop and
abort any pending or active transfers that have previously been submitted.
Unfortunately it is possible that this operation races against a currently
running (or with some drivers also scheduled) completion callback.
Since the API allows dmaengine_terminate_all() to be called from atomic
context as well as from within a completion callback it is not possible to
synchronize to the execution of the completion callback from within
dmaengine_terminate_all() itself.
This means that a user of the DMAengine API does not know when it is safe
to free resources used in the completion callback, which can result in a
use-after-free race condition.
This patch addresses the issue by introducing an explicit synchronization
primitive to the DMAengine API called dmaengine_synchronize().
The existing dmaengine_terminate_all() is deprecated in favor of
dmaengine_terminate_sync() and dmaengine_terminate_async(). The former
aborts all pending and active transfers and synchronizes to the current
context, meaning it will wait until all running completion callbacks have
finished. This means it is only possible to call this function from
non-atomic context. The later function does not synchronize, but can still
be used in atomic context or from within a complete callback. It has to be
followed up by dmaengine_synchronize() before a client can free the
resources used in a completion callback.
In addition to this the semantics of the device_terminate_all() callback
are slightly relaxed by this patch. It is now OK for a driver to only
schedule the termination of the active transfer, but does not necessarily
have to wait until the DMA controller has completely stopped. The driver
must ensure though that the controller has stopped and no longer accesses
any memory when the device_synchronize() callback returns.
This was in part done since most drivers do not pay attention to this
anyway at the moment and to emphasize that this needs to be done when the
device_synchronize() callback is implemented. But it also helps with
implementing support for devices where stopping the controller can require
operations that may sleep.
Change-Id: Ica0822ecbe803ec9605787e30751dfb098bdbe80
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
b36f09c3c441a6e59eab9315032e7d546571de3f)
Alexander Kochetkov [Sun, 6 Mar 2016 10:04:17 +0000 (13:04 +0300)]
UPSTREAM: spi/rockchip: fix endian mode for 16-bit transfers
16-bit transfers must be in big endian mode on wire.
Change-Id: I21e660de04867871132e4d5b0f2d943a30167aeb
Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
0277e01aebc8895198a4717ccaf7e4fcf39ada78)
Shawn Lin [Tue, 16 Feb 2016 03:23:32 +0000 (11:23 +0800)]
UPSTREAM: spi: rockchip: remove xfer_completion from rockchip_spi
xfer_completion isn't been used anywhere, so it can be
removed.
Change-Id: I5a653609c8afaa83665ebc050274d3c9dcf59777
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
23366a02bfd3b4d3075aefcfd71600fb1360a02e)
Shawn Lin [Mon, 15 Feb 2016 08:28:12 +0000 (16:28 +0800)]
UPSTREAM: spi: rockchip: add missing spi_master_put
Add missing spi_master_put for rockchip_spi_remove since
it calls spi_master_get already.
Change-Id: If76b124b5122d8ca4c65014831afdf1f4893a7cc
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
844c9f476a43db0bdf61df409026a026ce98ec1b)
Shawn Lin [Mon, 15 Feb 2016 08:27:58 +0000 (16:27 +0800)]
UPSTREAM: spi: rockchip: disable runtime pm when in err case
Before registering master, driver enables runtime pm.
This patch pm_runtime_disable in err case while probing
driver to balance pm reference count.
Change-Id: I63688e1b07b0b157a663f67e50ac74c5273ce353
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
(cherry picked from git.kernel.org next/linux-next.git master
commit
b8659adda9e295eca0b10a67f3b15a8644c8ed6f)
Shengfei xu [Thu, 16 Jun 2016 03:05:10 +0000 (11:05 +0800)]
arm64: dts: rockchip: set the suspend voltage for rk3399-evb-rev2 board
Change-Id: I6e49d935b7aaa54f3a2870a477504970559da6c1
Signed-off-by: Shengfei xu <xsf@rock-chips.com>
Zorro Liu [Thu, 16 Jun 2016 09:56:50 +0000 (17:56 +0800)]
driver, iio, mpuxxx: increase spi speed to 20Mhz when read sensor data
Change-Id: Ic8088d26ba87386d39014e6ca25f1b43865af914
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Zorro Liu [Thu, 16 Jun 2016 08:45:03 +0000 (16:45 +0800)]
driver, iio, mpuxxx: add _RATE_DEBUG log
Change-Id: Iabfb6c389013fca39e023f0c9dc96882aef16d40
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Yakir Yang [Wed, 15 Jun 2016 12:58:06 +0000 (20:58 +0800)]
FROMLIST: ARM: dts: rockchip: enable hdmi audio on rk3036-kylin
Enable the basic hdmi audio function on rk3036 kylin board.
Change-Id: Id9d0971203a75bba9a885d590c40b2ddce355b9f
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9178535/)
Yakir Yang [Wed, 15 Jun 2016 11:47:27 +0000 (19:47 +0800)]
FROMLIST: ARM: dts: rockchip: add simple sound card for RK3036 SoCs
Using I2S as the audio input source, and force the mclk_fs to 256.
Change-Id: Ib85ba7be4de430d5536aaaebe74bb9fde9174f16
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9178533/)
Yakir Yang [Wed, 15 Jun 2016 11:45:30 +0000 (19:45 +0800)]
FROMLIST: drm/rockchip: inno_hdmi: add audio support
Using the common hdmi-codec driver to support hdmi audio function.
Change-Id: I8d7f4166b8c64bc3975ad305a761e88c3404b136
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
(am from https://patchwork.kernel.org/patch/
9178529/)
Alpha Lin [Wed, 15 Jun 2016 09:33:43 +0000 (17:33 +0800)]
rockchip/vcodec: add shutdown ops
Add a shutdown opertion to prevent a system halt when
reboot executing.
Before this revision, driver will try to trigger hw after
power domain disable during reboot procedure, and cause a
system halt.
Change-Id: I57236c20cb96946a18d78396955f6fd59ee93a59
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
xuhuicong [Wed, 15 Jun 2016 06:09:42 +0000 (14:09 +0800)]
video: rockchip: hdmi: set hdcp hclk to modify standby crash
Change-Id: I032f85abe08932a2b14dcc71e732bd334825fed2
Signed-off-by: xuhuicong <xhc@rock-chips.com>
Xing Zheng [Wed, 15 Jun 2016 07:47:18 +0000 (15:47 +0800)]
Revert "clk: rockchip: rk3399: remove GRF gates clock nodes from power domains"
This reverts commit
aa197c2f234f1c9df3e6a3a110baf52d6985933d.
Change-Id: I7462950df48ea833f928c7d4d952ed65486f3acb
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Tue, 14 Jun 2016 02:46:30 +0000 (10:46 +0800)]
Revert "clk: rockchip: rk3399: remove all of the NOC clock nodes"
This reverts commit
aa4027b568ac9a4e5c7364c84a5e0019feb75912.
Change-Id: I18d2dbab04fd199ac20146e48d08e3d16b0d6311
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Zhangbin Tong [Wed, 15 Jun 2016 07:02:31 +0000 (15:02 +0800)]
ARM64: rockchip_defconfig: enable pwm remote control
Change-Id: I31acaaf03a9ca6d471cf74292af7371598c301b1
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
Zhangbin Tong [Wed, 15 Jun 2016 03:07:58 +0000 (11:07 +0800)]
input: Add IR decode driver
Change-Id: I7e6f36b70fd1f5356ad64cad9a0b9f2aab18c2b1
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
Elaine Zhang [Tue, 14 Jun 2016 10:13:13 +0000 (18:13 +0800)]
ARM64: dts: rk3399: qos: fix up the qos node invalid format
Change-Id: I971d32c08d13b3f94da3670800d38a9229afd4d3
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Elaine Zhang [Tue, 14 Jun 2016 09:49:15 +0000 (17:49 +0800)]
ARM64: dts: rk3399: pd: add clk control when pd on/off
make sure the clk is enabled when read/write qos regs.
Change-Id: Ia88453504bcfd612a86537c4b12d3fd5b53f3d76
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Finley Xiao [Wed, 1 Jun 2016 08:15:54 +0000 (16:15 +0800)]
MALI: rockchip: add power-off-delay function
As gpu power on and off frequently, and the interval time is smaller
than the polling time of devfreq, add power-off-delay function to
ensure devfreq work fine.
Change-Id: Iba2405c9ead91a437233f1fedf2f3555703aa9e1
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Finley Xiao [Thu, 2 Jun 2016 08:25:12 +0000 (16:25 +0800)]
ARM64: dts: rockchip: rk3399: add power-off-delay-ms for gpu
Change-Id: Ib050492f466b50a6937b3a43f63f27859619e3b4
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
xubilv [Tue, 14 Jun 2016 08:01:51 +0000 (16:01 +0800)]
dtsi: screen-timing: lcd-ls055r1sx04-mipi: add screen parameter for vr
Change-Id: I035808e7758400a0c50055e959b3e1ec6b54d643
Signed-off-by: xubilv <xbl@rock-chips.com>
Aiyoujun [Mon, 13 Jun 2016 15:00:02 +0000 (23:00 +0800)]
ARM64: dts: rk3399-mid-818-android: modify gt9xx touchscreen config
Change-Id: I79af9d7cb66e036424f3e6f27b1364f2c7659451
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
Aiyoujun [Mon, 13 Jun 2016 14:53:24 +0000 (22:53 +0800)]
input: touchscreen: gt9xx: add firmware for rk3399 9.7' sample mid
Change-Id: Ie7c5d9ab7da284c96fe3f56fd2108445012bf25a
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
Sugar Zhang [Mon, 13 Jun 2016 10:42:33 +0000 (18:42 +0800)]
ARM64: dts: rk3399-evb: rename spdif sound card name
just to compatiable with android sdk, anyway, change it.
Change-Id: I60341c5a8a9050172c6abaca396957442f42434e
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Sugar Zhang [Mon, 13 Jun 2016 10:35:51 +0000 (18:35 +0800)]
ARM64: dts: rk3399-evb: disable spdif sound default
this patch disable spdif sound in rk3399-evb.dtsi, and enable on
product dts side as required.
Change-Id: Icf61f13aeafdfae4c7a52603ce23cf2c04c27ab4
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Zhiqin Wei [Sun, 12 Jun 2016 10:17:47 +0000 (18:17 +0800)]
rockchip/rga: add rga support yuv 10 bit
Change-Id: Id7bd3ea75831b671f9739337c457f59c38fde4c3
Signed-off-by: Zhiqin Wei <wzq@rock-chips.com>
Zorro Liu [Mon, 13 Jun 2016 06:26:25 +0000 (14:26 +0800)]
ARM64: dts: rockchip: rk3399-vr-android.dts: add mpuxxx spi node and disabled i2c node
Change-Id: I0e19ce5c7e9982ccdd995bd273a9833463be4c68
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Zorro Liu [Mon, 13 Jun 2016 06:07:39 +0000 (14:07 +0800)]
driver, iio, mpuxxx: driver need parse more platform define from dts file
Change-Id: Icecf7f82a4190834bdcaa75a09876a82621c0725
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Zorro Liu [Sun, 12 Jun 2016 10:26:19 +0000 (18:26 +0800)]
driver, mpuxxx: add i2c disable/enable control when write user_ctrl register
Change-Id: Icedd6d73de9345c5b18fe026053ae35c6546ef78
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
zzc [Mon, 13 Jun 2016 03:26:38 +0000 (11:26 +0800)]
arm64: dts: rockchip: add ap6330 support for rk3399-vr-android
Change-Id: I4ef1e7e4a673299d6e1f713e4945d533d5327276
Signed-off-by: zzc <zzc@rock-chips.com>
zzc [Mon, 13 Jun 2016 03:29:02 +0000 (11:29 +0800)]
net: wireless: rockchip_wlan: rkwifi: fix softap issue
Change-Id: I8eb4a60c1e81b357eeb3aabdfa2aadbcc523d0d5
Signed-off-by: zzc <zzc@rock-chips.com>
Xing Zheng [Mon, 13 Jun 2016 02:30:38 +0000 (10:30 +0800)]
clk: rockchip: rk3399: remove all of the NOC clock nodes
There are too many NOC clocks and all of them are critical clocks.
This approach is unnecessary, we only remove them and keep them
always enable, and caused by increased power consumption is only
<=3ma.
Change-Id: I6968dd9fe5632853fade831260d0cbeeb9f8fda3
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
Xing Zheng [Mon, 13 Jun 2016 02:03:51 +0000 (10:03 +0800)]
clk: rockchip: rk3399: remove GRF gates clock nodes from power domains
To simplify the description of the clock for RK3399, we don't need to
add many GRF gates clock nodes and keep them always enable,
In this case, we can avoid some of the operations GRF registers exception
problems, and caused by increased power consumption is only <=1ma.
Change-Id: Ifee9df2d5f869607191c5fb1165ec3e36e7bef9d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
xuhuicong [Mon, 13 Jun 2016 02:25:41 +0000 (10:25 +0800)]
power: cw2015: fix Power capacity jump after capacity is 0%
Change-Id: I5bfd5bfa05ccd04bd9d4d344ff4c66443561314d
Signed-off-by: xuhuicong <xhc@rock-chips.com>
xuhuicong [Sun, 12 Jun 2016 07:34:00 +0000 (15:34 +0800)]
video: rockchip: hdmi: fix certain tv blank when mode switch
Change-Id: Ic980c14c0316c87d6fb160e2b94279411c88dbde
Signed-off-by: xuhuicong <xhc@rock-chips.com>
Huibin Hong [Wed, 8 Jun 2016 08:26:00 +0000 (16:26 +0800)]
arm64: dts: rockchip: add burst mode for rk3399
Rk3399 support single and burst mode, and flushp instruction.
But burst mode improve transfer efficiency.
Please refer to:
Commit
8e770f371cc2
"dmaengine: pl330: add burst mode according to dts config"
Change-Id: I2eb36723697cf548dc75aca0e5a276a86cd2419d
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Wed, 8 Jun 2016 08:20:07 +0000 (16:20 +0800)]
arm64: dts: rockchip: add burst mode for rk3366
Rk3366 support single and burst mode, and flushp instruction.
But burst mode improve transfer efficiency.
Please refer to:
Commit
8e770f371cc2
"dmaengine: pl330: add burst mode according to dts config"
Change-Id: I5e3fef4684f324dda015c0afd73535c062952fc1
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Mon, 13 Jun 2016 01:14:34 +0000 (09:14 +0800)]
arm64: dts: rockchip: add burst mode for rk3368
Because rk3368 pl330 dma controller doesn't support single
mode, so it is necessary to set peripherals-req-type-burst.
Please refer to:
Commit
8e770f371cc2
"dmaengine: pl330: add burst mode according to dts config"
Change-Id: I44de28cca0085bc3d8f25a5913dbb527c36d8f83
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Huibin Hong [Wed, 8 Jun 2016 08:00:37 +0000 (16:00 +0800)]
ARM: dts: rockchip: add burst mode for rk3288
Because rk3288 pl330 dma controller doesn't support single
mode, so it is necessary to set peripherals-req-type-burst.
Please refer to:
Commit
8e770f371cc2
"dmaengine: pl330: add burst mode according to dts config"
Change-Id: Ic972880807e858334a1df8fa3f9bb567a8078ff9
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Caesar Wang [Mon, 13 Jun 2016 01:13:20 +0000 (09:13 +0800)]
arm64: dts: rockchip: add arm,pl330-broken-no-flushp quirk for rk3368
Pl330 integrated in rk3368 platform doesn't support
DMAFLUSHP function. So we add arm,pl330-broken-no-flushp quirk
for it.
Change-Id: Ia7f4bb6ffa1fba01dac5ac2257499dbbc9887da6
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
wlq [Thu, 2 Jun 2016 07:19:06 +0000 (15:19 +0800)]
ARM64: dts: rockchip: add rk3399 vr dts rk3399-vr-android.dts
Change-Id: I850c46c15fb7021fcba16df0890f08ddb2145de6
Signed-off-by: WU liangqing <wlq@rock-chips.com>
Aiyoujun [Wed, 1 Jun 2016 09:30:07 +0000 (17:30 +0800)]
ARM64: dts: rockchip: Add rk3399 MID sample board with PMU of rk818.
Change-Id: Ib55d06e18b81b3f8b214240c6516770165bac900
Signed-off-by: Aiyoujun <ayj@rock-chips.com>
Zorro Liu [Sun, 12 Jun 2016 04:00:59 +0000 (12:00 +0800)]
ARM64: rockchip_defconfig: enable sensor driver mpuxxx
Change-Id: I6cefc19ebfd93ddc942cd62637664d4b3a72c2d6
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Zorro Liu [Wed, 8 Jun 2016 08:32:55 +0000 (16:32 +0800)]
staging, iio, mpu: add mpu spi driver
Change-Id: Iac37e5b74ad2b1655d263e5d1a1ed1309d14cc31
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Zorro Liu [Mon, 6 Jun 2016 07:42:49 +0000 (15:42 +0800)]
staging, iio, mpu: repack mpu driver's communicate interface
Change-Id: Ideac72c0227d10305d3efde7d038bb25a20197bd
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Zhangbin Tong [Wed, 18 May 2016 02:18:04 +0000 (10:18 +0800)]
staging: iio: new invensence mpu6050/6500 driver
Change-Id: I0f804afa1f5ad0815fe0b8f3663423db1b1c0e43
Signed-off-by: Zhangbin Tong <zebulun.tong@rock-chips.com>
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
xubilv [Sun, 12 Jun 2016 08:30:01 +0000 (16:30 +0800)]
ARM64: dts: rk3399: android: turn on mipi for evb rev2
Change-Id: I95b5e368288b645a1a04d813cb5c43f474f9b725
Signed-off-by: xubilv <xbl@rock-chips.com>
xubilv [Sun, 12 Jun 2016 08:26:07 +0000 (16:26 +0800)]
ARM64: dts: rk3399: android: turn on mipi for evb rev1
Change-Id: Id50f6c2408896997112788e0f1a741274d7f78ae
Signed-off-by: xubilv <xbl@rock-chips.com>
xubilv [Sun, 12 Jun 2016 08:23:25 +0000 (16:23 +0800)]
ARM64: dts: rk3399: android: disabled mipi by default
Change-Id: Icbddf8b9e6ed809cd43c5049ea95c81b57bceaea
Signed-off-by: xubilv <xbl@rock-chips.com>
Sugar Zhang [Sun, 12 Jun 2016 07:35:21 +0000 (15:35 +0800)]
ARM64: dts: rk3399-android: disable hdmi sound default
Change-Id: I9d6bbbfc336f7e7028dfa937b4a34b2d1b5ed7ee
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
xuhuicong [Sun, 12 Jun 2016 06:46:49 +0000 (14:46 +0800)]
ARM64: dts: rk3399: android: disabled hdmi by default
Change-Id: I4eee821f6272957f308dcb87e5e900b37a259277
Signed-off-by: xuhuicong <xhc@rock-chips.com>
Alpha Lin [Wed, 1 Jun 2016 08:42:15 +0000 (16:42 +0800)]
ARM64: dts: rk3399: add iep power domain resource
Change-Id: I7e08f6d995df5e7fc3dc3ba6de85b150b3024193
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
Alpha Lin [Wed, 1 Jun 2016 08:40:38 +0000 (16:40 +0800)]
rockchip/iep: add pm runtime operation
Change-Id: I51283153d2229de27ab085db53ba311f5afc414e
Signed-off-by: Alpha Lin <alpha.lin@rock-chips.com>
xubilv [Tue, 7 Jun 2016 08:35:17 +0000 (16:35 +0800)]
ARM64: dts: rockchip: rk3399-android add edp node
Change-Id: I6ad087f86a32bcc162d43c9445679ab6ea1839f3
Signed-off-by: xubilv <xbl@rock-chips.com>
xubilv [Tue, 7 Jun 2016 08:30:44 +0000 (16:30 +0800)]
video: rockchip: edp: rk3399: add edp support
Change-Id: Ie4af9c4deb7ca3f78a6b090c8f576f60c37722a7
Signed-off-by: xubilv <xbl@rock-chips.com>
Shawn Lin [Fri, 22 Jan 2016 11:06:48 +0000 (19:06 +0800)]
UPSTREAM: ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3xxx platform
Pl330 integrated in rk3xxx platform doesn't support
DMAFLUSHP function. So we add arm,pl330-broken-no-flushp quirk
for it.
Change-Id: Ibea3bc46e460bf2cf6253e6cc1eea109f651163e
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git.kernel.org next/linux-next.git master
commit
9bed8b41d8da3acdb72d5fafa7ac5ec0016dd188)