Commit Graph

593584 Commits

Author SHA1 Message Date
Douglas Anderson
65bee33dab FROMLIST: drm/rockchip: dw_hdmi: Call drm_encoder_cleanup() in error path
The drm_encoder_cleanup() was missing both from the error path of
dw_hdmi_rockchip_bind().  This caused a crash when slub_debug was
enabled and we ended up deferring probe of HDMI at boot.

This call isn't needed from unbind() because if dw_hdmi_bind() returns
no error then it takes over the job of freeing the encoder (in
dw_hdmi_unbind).

(am from https://patchwork.kernel.org/patch/8523331/)

Change-Id: Ibf5c39a5db304177a9f16d8dc691221512002348
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2016-03-30 10:02:16 +08:00
Tomeu Vizoso
cc01a559bd FROMLIST: drm/rockchip: vop: Disable planes when disabling CRTC
When a VOP is re-enabled, it will start scanning right away the
framebuffers that were configured from the last time, even if those have
been destroyed already.

To prevent the VOP from trying to access freed memory, disable all its
windows when the CRTC is being disabled, then each window will get a
valid framebuffer address before it's enabled again.

Link: http://lkml.kernel.org/g/CAAObsKAv+05ih5U+=4kic_NsjGMhfxYheHR8xXXmacZs+p5SHw@mail.gmail.com
(am from https://patchwork.kernel.org/patch/8643631/)

Change-Id: Iaacb1624b4351a94d663ec73d9174b0fd4bc4b54
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2016-03-30 10:01:47 +08:00
Tomeu Vizoso
232f21b837 FROMLIST: drm/rockchip: vop: Don't reject empty modesets
So that when DRM_IOCTL_MODE_SETCRTC is called without a FB nor mode, the
CRTC gets disabled.

Link: http://lkml.kernel.org/g/CAAObsKAv+05ih5U+=4kic_NsjGMhfxYheHR8xXXmacZs+p5SHw@mail.gmail.com

(am from https://patchwork.kernel.org/patch/8618471/)

Change-Id: I3a36e20f727f2087d718acec886766b743de2d9b
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2016-03-30 10:01:17 +08:00
John Keeping
b130dc7dc1 FROMLIST: drm/rockchip: cancel pending vblanks on close
When closing the DRM device while a vblank is pending, we access
file_priv after it has been free'd, which gives:

  Unable to handle kernel NULL pointer dereference at virtual address 00000000
  ...
  PC is at __list_add+0x5c/0xe8
  LR is at send_vblank_event+0x54/0x1f0
  ...
  [<c02952e8>] (__list_add) from [<c031a7b4>] (send_vblank_event+0x54/0x1f0)
  [<c031a760>] (send_vblank_event) from [<c031a9c0>] (drm_send_vblank_event+0x70/0x78)
  [<c031a950>] (drm_send_vblank_event) from [<c031a9f8>] (drm_crtc_send_vblank_event+0x30/0x34)
  [<c031a9c8>] (drm_crtc_send_vblank_event) from [<c0339ad8>] (vop_isr+0x224/0x28c)
  [<c03398b4>] (vop_isr) from [<c0081780>] (handle_irq_event_percpu+0x12c/0x3e4)

This can be triggered somewhat reliably with:

	modetest -M rockchip -v -s ...

Add a preclose hook to the driver so that we can discard any pending
vblank events when the device is closed.

(am from https://patchwork.kernel.org/patch/8568111)

Change-Id: Icce075cf22f3a9d7b2157c29a47b370160b0c8d8
Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
2016-03-30 10:00:45 +08:00
David Wu
34e4bb36be arm64: dts: add i2c0, i2c1, i2c4 rise and fall time for rk3399-tb
Change-Id: Ibbd7d7ee7bfce25fe104b03ea742c0bab2b4b586
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-30 09:36:08 +08:00
chenzhen
2d30f52281 arm64: dtsi: rk3399-tb: add node of GPU
Change-Id: I52f15bf127b360a2bfe1356de1ed7f4d97b4534b
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
2016-03-30 08:45:24 +08:00
Yakir Yang
f70d99fdb6 drm/rockchip: analogix_dp: add rk3399 eDP support
RK3399 and RK3288 shared the same eDP IP controller, so this time we
just need to append the RK3399 compatible name to analogix_dp documentation
and driver code.

Change-Id: I3fee6893c56698ee2948b9df2f3ffb7729fe75ef
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
2016-03-29 20:16:05 +08:00
Yakir Yang
455be1a2af drm: bridge: analogix_dp: correct the register bit define error in ANALOGIX_DP_PLL_REG_1
There're an register define error in ANALOGIX_DP_PLL_REG_1 which introduced
by commit 45970584ea (FROMLIST: drm: bridge:
analogix/dp: add some rk3288 special registers setting).

The PHY PLL input clock source is selected by ANALOGIX_DP_PLL_REG_1
BIT 0, not BIT 1.

Change-Id: I8cb806d23144697225f626aaa2af19e6379dfe51
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
2016-03-29 20:15:46 +08:00
Huang, Tao
7a8bd6a860 Merge branch 'android-4.4' of https://android.googlesource.com/kernel/common
* android-4.4: (34 commits)
  sdcardfs: remove unneeded __init and __exit
  sdcardfs: Remove unused code
  fs: Export d_absolute_path
  sdcardfs: remove effectless config option
  inotify: Fix erroneous update of bit count
  fs: sdcardfs: Declare LOOKUP_CASE_INSENSITIVE unconditionally
  trace: cpufreq: fix typo in min/max cpufreq
  sdcardfs: Add support for d_canonical_path
  vfs: add d_canonical_path for stacked filesystem support
  sdcardfs: Bring up to date with Android M permissions:
  Changed type-casting in packagelist management
  Port of sdcardfs to 4.4
  Included sdcardfs source code for kernel 3.0
  ANDROID: usb: gadget: Add support for MTP OS desc
  CHROMIUM: usb: gadget: f_accessory: add .raw_request callback
  CHROMIUM: usb: gadget: audio_source: add .free_func callback
  CHROMIUM: usb: gadget: f_mtp: fix usb_ss_ep_comp_descriptor
  CHROMIUM: usb: gadget: f_mtp: Add SuperSpeed support
  FROMLIST: mmc: block: fix ABI regression of mmc_blk_ioctl
  FROMLIST: mm: ASLR: use get_random_long()
  ...

Change-Id: I88fa8a7f6bfc80bee98503b9ede0fee08d62814c
2016-03-29 19:45:19 +08:00
Huang, Tao
a43f5002cd Revert "mmc: block: ioctl return EINVAL if cmd unknown"
This reverts commit 7c1abbfe2a.
Will fixes by aosp commit "mmc: block: fix ABI regression of mmc_blk_ioctl"

Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-29 19:40:03 +08:00
Xing Zheng
00fc9d59e2 clk: rockchip: rk3399: Add more pll rates for HDMI
Modify the 594MHz parameter for higher VCO freq to reduce the jitter.

Change-Id: I78784210b69d6895758192c84724b982fcc9e72d
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-29 19:30:55 +08:00
Daniel Rosenberg
73fbdac211 sdcardfs: remove unneeded __init and __exit
Change-Id: I2a2d45d52f891332174c3000e8681c5167c1564f
2016-03-29 00:21:06 +00:00
Daniel Rosenberg
a5aa95121d sdcardfs: Remove unused code
Change-Id: Ie97cba27ce44818ac56cfe40954f164ad44eccf6
2016-03-29 00:20:52 +00:00
David Wu
eb4089b259 pinctrl: rockchip: fix pull setting error for rk3399
Change-Id: Ie52226e751510373abc75754ab756a36ae4f3aaa
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-27 05:29:11 +08:00
Sugar Zhang
bddaa3fd0f ARM64: dts: rk3399-tb: add sound node
Change-Id: Ibcb2e6baae871c6456e1cbe6b145cb64bb007c7d
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-03-29 18:37:11 +08:00
Sugar Zhang
3146629f7c ARM64: configs: rockchip_defconfig: enable es8316 codec
Change-Id: I799d23f12b26b99da8d77c3c67c30393e461c589
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-03-29 18:36:20 +08:00
Sugar Zhang
cdac375404 ASoC: es8316: add codec driver
Change-Id: I6896036a7af922747180535939074f399f8c38d1
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2016-03-29 18:34:52 +08:00
Zain Wang
cadc68816f ARM64: rockchip_defconfig: enable mp8865 regulator
Change-Id: I612fbe41e97f4e06dc154f76a256c7996d7ea09a
Signed-off-by: Zain Wang <wzz@rock-chips.com>
2016-03-29 15:03:53 +08:00
Zain Wang
ce81f98e56 regulator: add devicetree bindings for mp8865 regulators
Change-Id: Ie837faba6a9f599dcfc5cdbdaffe12ca81060957
Signed-off-by: Zain Wang <wzz@rock-chips.com>
2016-03-29 15:03:20 +08:00
Zain Wang
199904c669 ARM64: dts: rk3399-tb: add support for mp8865
Change-Id: I71072722fde924f151986d6d2dc916cb868e7b98
Signed-off-by: Zain Wang <wzz@rock-chips.com>
2016-03-29 15:02:42 +08:00
Zain Wang
c1d6d3486d regulator: mp8865: add regulator driver for MP8865
Change-Id: I5fa8423e5d1e301a008dcdfd60f93c442f6211a8
Signed-off-by: Zain Wang <wzz@rock-chips.com>
2016-03-29 14:56:15 +08:00
Elaine Zhang
0d85e81ec1 UPSTREAM: soc: rockchip: power-domain: Modify power domain driver for rk3399
This driver is modified to support RK3399 SoC.

Change-Id: Id4d040a78e7e18d78e9644b14e0611fc6ab44abe
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[small indentation fixups]
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.7-armsoc/drivers commit fd8b62cc38)
2016-03-29 14:54:52 +08:00
Elaine Zhang
b53da4bf3a UPSTREAM: dt-bindings: add binding for rk3399 power domains
Add binding documentation for the power domains
found on Rockchip RK3399 SoCs

Change-Id: I51d70a08c86b5361ac5d51151711e07ffa3046ef
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Acked-by: Kevin Hilman <khilman@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.7-armsoc/drivers commit e6e270aecb)
2016-03-29 14:54:28 +08:00
Elaine Zhang
8a40546ac4 UPSTREAM: soc: rockchip: power-domain: add support for sub-power domains
This patch adds support for making one power domain a sub-domain of
other domain. This is useful for modeling power dependences,
which needs to have more than one power domain enabled to be operational.

Change-Id: Ie2a79aab6e1e073157c06d44252ef327caee5261
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
[restructured error handling in subdomain-addition]
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.7-armsoc/drivers commit 6be05b5ec1)
2016-03-29 14:53:55 +08:00
Elaine Zhang
23a0699a57 UPSTREAM: soc: rockchip: power-domain: allow domains only handling idle requests
On some Rockchip SoC there exist child-domains only handling their
idle state with the actual power-state handled by a (shared) parent-
domain.

So allow such types of domains. For them, we can determine their
state (on/off) by checking the inverse idle-state instead.

There exist one special case if both idle as well power handling
were set as not present, but as the domain-data is defined in the
code itself, we can expect the reasonable developer to define them
in a correct way, without adding more checks.

Change-Id: Ic82cb387565a39043d5d52e62a94910de10d4bbd
Signed-off-by: Elaine Zhang <zhangqing@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.7-armsoc/drivers commit 1fe767a56c)
2016-03-29 14:53:10 +08:00
Elaine Zhang
3ea83abf50 UPSTREAM: soc: rockchip: power-domain: make idle handling optional
Not all new socs need to handle idle states on domain state changes,
so add the possibility to make them optional.

Change-Id: I46d869e1de9e03ec0664518effbcf2642053391e
Signed-off-by: Elaine Zhang <zhangqing@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.7-armsoc/drivers commit 6aa841c809)
2016-03-29 14:52:18 +08:00
Jianqun Xu
5902aa2197 ARM64: dts: rk3399-tb: enable gpu node
Change-Id: I1199eae97ec4400a96bab02ca8ed1db522fa742d
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-29 14:44:27 +08:00
xubilv
172d27a35b video: rockchip: mipi: 3399: add support rk3399
Change-Id: I52fbecb5c6739b8ed1e35c3c3be7778a189874a6
Signed-off-by: xubilv <xbl@rock-chips.com>
2016-03-29 14:15:17 +08:00
chenzhen
56347463e9 arm64: dtsi: rk3399: add node of GPU
Change-Id: If48ed7f58aa00c28122ac77a8d79ab675f3a6208
Signed-off-by: chenzhen <chenzhen@rock-chips.com>
2016-03-29 14:12:34 +08:00
Frank Wang
9ba702ce6e phy: rockchip-usb: Fixed the port cannot be resumed after suspended.
selecting utmi interface signals from utmi interface of usb20
host0 controller to usb2phy, when phy is resumed.

Change-Id: I487e836b89177cd8bc2dc56400f4dc277c8d2bf0
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
2016-03-29 12:18:11 +08:00
Huang Jiachai
b5e69d00de ARM64: rockchip_defconfig: open rk322x vop
Change-Id: I9df6706a34fecadd5f149cd566b31323dafb51c2
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2016-03-29 10:40:02 +08:00
Huang Jiachai
1151147854 ARM64: dts: rk3399-monkey: add fb node
Change-Id: I1afb5fde325e9227e30fcdd5efbea4f44818de59
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-29 10:40:02 +08:00
Huang Jiachai
e58f8e565b dtsi: screen-timing: lcd-tv080wum-nl0-mipi: for rk3399 monkey
Change-Id: I01ca2bd999973820317bcf46f8a7d3e85d59a606
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2016-03-29 10:40:01 +08:00
Huang Jiachai
ac5406c5aa video: rockchip: vop: 3399: add support rk3399
Change-Id: Icbccfdd4fb841df67c0ade1cfd141fb574d837f0
Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
2016-03-29 10:36:10 +08:00
Xing Zheng
60c4848c4d clk: rockchip: rk3399: use the FRACMUX type for spdif and i2s0~2
Change-Id: I1f0f60185e70bb894010137db8a35dda218201f2
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-29 10:26:09 +08:00
xubilv
b7a7e2bfc9 video: rockchip: mipi: enable clk before write register
Change-Id: I717ed1143c53e7c2cd04697e8cc3984f89e29504
Signed-off-by: xubilv <xbl@rock-chips.com>
2016-03-28 17:06:30 +08:00
Xing Zheng
2f089ed109 clk: rockchip: rk3399: pclkin_isp1_wrapper should source from pclkin_cif
Change-Id: Id2ccc4003fcd286594fa2c2fc366f7c922417883
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 17:05:50 +08:00
Xing Zheng
a5e2552f88 ARM64: dts: rk3399: remove the reference pmugrf and grf
We don't need to reference the pmugrf/grf in the clock driver any more.

Change-Id: Ibda203163c84ab4004e1225e5868267024069199
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 17:04:28 +08:00
Caesar Wang
8c0ba1147c ARM64: dts: rk3399-monkey: support the gt9xx touchscreen
Change-Id: Iabe2264bf9cffe09259b17912d6391dfb87ee4dd
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2016-03-28 16:48:41 +08:00
Xing Zheng
6b8eed4760 clk: rockchip: rk3399: remove re-enable pmucru clk_gate/pclk_alive
These are not gating default when the SoC startup, so we don't need
to re-enable them.

Change-Id: I956a31345fe7f24b973db6c9e49d87a2988ac7d6
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 10:44:03 +08:00
Simon
d8e3c63e30 iommu/rockchip: add more judgement for virtual device who using iommu
A virtual device like "drm" call iommu_attach_device may fail.
Current only judge if a device has "group", this is not enough,
"group->iommu_data" is needed

Change-Id: I1a66d6016dfef867d83aa4cccaf223ced4e07161
Signed-off-by: Simon <xxm@rock-chips.com>
2016-03-28 10:42:59 +08:00
David Wu
95ed49abd6 arm64: dts: add i2c0, i2c1 rise and fall time for rk3366-tb
Change-Id: I74d70eb8a058ae97844695dbf6bc4d01827c7bef
Signed-off-by: David Wu <david.wu@rock-chips.com>
2016-03-28 10:19:46 +08:00
Xing Zheng
de4939f7fc clk: rockchip: rk3399: add some aclk/dclk IDs for vop0/vop1
Change-Id: If59b057892ad8bfe250ac763905150518cdc8631
Signed-off-by: Xing Zheng <zhengxing@rock-chips.com>
2016-03-28 09:21:49 +08:00
Huang, Tao
35e6f62309 Revert "iommu: rk-iovmm: change compatible name to a unified name"
This reverts commit 3a1bdfa3a4.

This patch broken old rkfb driver, so revert it.

Change-Id: I7ccd93d8ff2086cca9c1b31932278435cbffc59f
2016-03-25 19:05:07 +08:00
Huang, Tao
1fef95eefb arm64: rockchip: remove unused files
Change-Id: Ied0e45214df40f8b278114ddcb5cad4d4ce9dc81
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
2016-03-25 18:14:00 +08:00
xxx
b4395cee0e ARM64: dts: rk3366: support arm64 cpuidle-dt
Change-Id: Ia5a0bf96609092c22f3bdb327cdfde6f505163c6
Signed-off-by: Tony Xie <tony.xie@rock-chips.com>
2016-03-25 16:57:44 +08:00
Caesar Wang
b12b3cba02 ARM64: dts: rockchip: configure clock frequency for rk3399 tsadc
As the rk3399 SoCs requires initial configuration for tsadc clock
frequency. The tsadc can be specified in a device tree node through
assigned-clocks.

The tsadc clock needs 500KHz~800KHz frequency to work on rk3399 SoCs.
We can add the assigned-clock to prevent the firmware
or loader has *not* set the division frequency from the source clock.

Change-Id: Ieb4cd5aad7d299baab20a9fb9d39211fe00896ff
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 16:23:11 +08:00
Caesar Wang
8ef370ed07 ARM64: dts: rockchip: add the grf found on rk3399 tsadc
This patch adds the rockchip,grf to match the driver.

Change-Id: If477634fd38f1ebc539ade6c620a63d0cfee9111
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 16:20:46 +08:00
Caesar Wang
82d304f385 thermal: rockchip: handle the power sequence for rk3399 SoCs
This adds the grf property to handle the tsadc power sequence on
rk3399 SoCs.

The rk3399 tsadc can work with this patch on now.

while true; do grep "" /sys/class/thermal/thermal_zone[0-1]/temp;sleep .5; done
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41666
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555
/sys/class/thermal/thermal_zone1/temp:41111
/sys/class/thermal/thermal_zone0/temp:40555

Change-Id: I0155826bddf0017ea4985920268b333a20278bbe
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2016-03-25 16:20:08 +08:00
Chaotian Jing
2f98f55d98 UPSTREAM: mmc: core: fix __mmc_switch timeout caused by preempt
there is a time window between __mmc_send_status() and time_afer(),
on some eMMC chip, the timeout_ms is only 10ms, if this thread was
scheduled out during this period, then, even card has already changes
to transfer state by the result of CMD13, this part of code also treat
it to timeout error.
So, need calculate timeout first, then call __mmc_send_status(), if
already timeout and card still in programing state, then treat it to
the real timeout error.

Change-Id: I7499d3d41711ea5abe6baec780d2988dc60dfc5b
Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Huang, Tao <huangtao@rock-chips.com>
(cherry picked from commit 3bbb0deea6)
2016-03-25 14:58:22 +08:00