soc: mediatek: Fix random hang up issue while kernel init
authorJames Liao <jamesjj.liao@mediatek.com>
Wed, 7 Oct 2015 09:14:40 +0000 (17:14 +0800)
committerMatthias Brugger <matthias.bgg@gmail.com>
Wed, 14 Oct 2015 13:34:43 +0000 (15:34 +0200)
commit41b3e0f067c26dd17837aa49fba13fcb5c6319e1
treebd8bb92f2cc008f98efed6b4e89bac8db5ce8824
parent47e90154fafd1a1310e3c5baed77d8f4c33ab271
soc: mediatek: Fix random hang up issue while kernel init

In kernel late init, it turns off all unused clocks, which
needs to access subsystem registers such as VENC and VENC_LT.

Accessing MT8173 VENC registers needs two top clocks, mm_sel and
venc_sel. Accessing VENC_LT registers needs mm_sel and venclt_sel.
So we need to keep these clocks on before accessing their registers.

This patch keeps venc_sel / venclt_sel clock on when
VENC / VENC_LT's power is on, to prevent system hang up while
accessing its registeres.

Signed-off-by: James Liao <jamesjj.liao@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/soc/mediatek/mtk-scpsys.c