Check hwlock user id and object to unlocking someone else's lock
when invoking unlock() API.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I46c256fd703fa56ce3d175ff2d721f53d3615ec0
With this commit, we can set hwlock user id in DT with
"rockchip,hwlock-user-id" property, if it is not set, the driver
use default value 0x01 instead.
Change-Id: Ib7ecc3eaf23ba79d85dc82182a9db0760c6d830c
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Set hwlock user id with the "rockchip,hwlock-user-id" property.
Change-Id: I46327ff4146e9c0999def48d67a3538462b82bfb
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Fixes: c08e952374 ("mtd: spinand: XINCUN: Support new device XCSP1AAPK")
Change-Id: Ifa4d4a875c45b3f20be9839f5bea0f44ff3aeb98
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
If RTC has been started, stop rtc in pre init will affect
the rtc function and accuracy.
Change-Id: Ic601e8e2d622de95638ca1710c1cff8c5c1a90d5
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
drm_atomic_helper_connector_commit() is rockchip private function, so
rename to rockchip_drm_atomic_helper_connector_commit() is more reasonable.
the function is introduced by the following commit:
commit: 88ea93aeb0 ("drm/rockchip: Introduce connector commit")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I7d118495024c699529e872e036930a9d3ba70610
when rtk(also some others) wifi/bt combo chips suspend, it
disconnect from bt-remote control unit(RCU). when RCU's
powerkey pressed, it will send ble broadcast to rtk bt chip.
As the rtk chips receive the broadcast, it should wake up
the host, but it can't send bt-hid powerkey to host because
it had lost communication with host.
So,it just send a IRQ pulse to host. The host should resume
from suspend.
Because the RCU just send a IRQ pulse, so rk chips just resume
by IRQ and then go to sleep again for no power-key event.
this is not expected. we expect to power up system wholly.
With this path, we try to power up the system. so we add a
power-up key event when BT IRQ received.
We also can control the "/proc/bluetooth/sleep/powerupkey"
node to enable or disable this function.
Change-Id: Ie59b4a2c4cd2f91820d31835df86565003126465
Signed-off-by: Zou Dengming <marsow.zou@rock-chips.com>
If the hot reset was happening just before the hot_rst_work
was created, NULL pointer dereference was hit.
[ 2.366623] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000100
[ 2.367402] Mem abort info:
...8<...
[ 2.380736] Call trace:
[ 2.380960] __queue_work+0x30/0x5a0
[ 2.381282] queue_work_on+0x88/0xa4
[ 2.381607] rk_pcie_sys_irq_handler+0x1ec/0x280
[ 2.382019] __handle_irq_event_percpu+0x80/0x250
[ 2.382440] handle_irq_event+0x64/0x120
[ 2.382796] handle_fasteoi_irq+0xc8/0x204
[ 2.383162] __handle_domain_irq+0x78/0xe0
[ 2.383528] gic_handle_irq+0xf8/0x364
Fix it by masking all misc interrupts before registering rk_pcie_sys_irq_handler.
And later, they will be unmasked already.
Fixes: 679557456b ("PCIe: dw: rockchip: Delaying the link training after hot reset")
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I1667e956526faa046a49323ee57b59fdb7a6451d
Part of the SOC supports FSPI CS1N and supports two external devices
for a single FSPI controller. The software provides targeted support.
Change-Id: I1bedf5864b664e94d280a2bc34e7d07212c774d3
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
1. local deserializer and remote devices are associated through i2c-mux
2. remote camera is abstracted as v4l2 subdev
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: I8b383651721cc35f7a2f6985ffbb3f0aa6a065a1
1. remote serializer support max9295/max96715/max96717
2. remote serializer provide APIs for remote camera calls
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: Ib9f5fbefdded0f40a9b06f3c490713c4f0a20dfd
1. local deserializer and remote devices are associated through i2c-mux
2. remote camera is abstracted as v4l2 subdev
Signed-off-by: Cai Wenzhong <cwz@rock-chips.com>
Change-Id: Id827c4a9b13a2280ec6b4b2114fa389b3e31674c
irqs in different cpu will change irq_ends flag, lock to sync.
Change-Id: Ie5467825173a16c796c7ab84c15286af44edc5d9
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
In some case, the pll rate will be change to get a target
rate for it's child. we want set the pll rate closest to
the max pll rate. However, It's not all the rate can get
a set of legal paramters to config the pll. So when this
case happen, we try a lower rate as the target pll rate.
Change-Id: I45abec2114f74634904cf3c34655d8df331d171b
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Raise initial voltage of vdd_cpu/vdd_logic when startup to improve stability.
Signed-off-by: Liang Chen <cl@rock-chips.com>
Change-Id: I223a21351424cb3fb47e5b3cae4f8e0324bd9a25
Raise voltage of cpu/dmc when low temperature to improve stability.
Signed-off-by: Liang Chen <cl@rock-chips.com>
Change-Id: I80321c0454c98c62a237192b46fa00da1b48d336
Use tasklet_hi_schedule for better audio performance,
especially for LLA (Low Latency Audio) situation.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ic5a215a269e718b0e5613132cb9fe9b58940d0e1