[PATCH] soc: mediatek: Fix random hang up issue while kernel init
From: Daniel Kurtz <hidden>
Date: 2015-10-06 01:58:13
Also in:
linux-devicetree, linux-mediatek, lkml
From: Daniel Kurtz <hidden>
Date: 2015-10-06 01:58:13
Also in:
linux-devicetree, linux-mediatek, lkml
On Fri, Sep 25, 2015 at 2:31 PM, James Liao [off-list ref] wrote:
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 <redacted>
After the discussions with James here on the list, I'm happy with this fix. Compared to any proposed alternative, this patch seems just as effective and is also simpler and more maintainable and extensible (if other clocks/power domains need the same treatment). Reviewed-by: Daniel Kurtz <redacted>