forked from luck/tmp_suning_uos_patched
cadbba5ec8
[ Upstream commit 9468ab84032f96496e998cfa173cd1d0ac316bcd ]
Unisoc mailbox has no way to be enabled/disabled for any single channel.
They can only be set to startup or shutdown as a whole device at same time.
Add a variable to count references to avoid mailbox FIFO being reset
unexpectedly when clients are requesting or freeing channels.
Also add a lock to dismiss possible conflicts from register r/w in
different startup or shutdown threads. And fix the crash problem when early
interrupts come from channel which has not been requested by client yet.
Fixes:
|
||
---|---|---|
.. | ||
arm_mhu_db.c | ||
arm_mhu.c | ||
armada-37xx-rwtm-mailbox.c | ||
bcm-flexrm-mailbox.c | ||
bcm-pdc-mailbox.c | ||
bcm2835-mailbox.c | ||
hi3660-mailbox.c | ||
hi6220-mailbox.c | ||
imx-mailbox.c | ||
Kconfig | ||
mailbox-altera.c | ||
mailbox-sti.c | ||
mailbox-test.c | ||
mailbox-xgene-slimpro.c | ||
mailbox.c | ||
mailbox.h | ||
Makefile | ||
mtk-cmdq-mailbox.c | ||
omap-mailbox.c | ||
pcc.c | ||
pl320-ipc.c | ||
platform_mhu.c | ||
qcom-apcs-ipc-mailbox.c | ||
qcom-ipcc.c | ||
rockchip-mailbox.c | ||
sprd-mailbox.c | ||
stm32-ipcc.c | ||
sun6i-msgbox.c | ||
tegra-hsp.c | ||
ti-msgmgr.c | ||
zynqmp-ipi-mailbox.c |