summaryrefslogtreecommitdiff
path: root/include/linux/pci-ats.h
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@freescale.com>2013-08-13 09:16:52 +0800
committerJason Liu <r64343@freescale.com>2013-08-23 07:30:13 +0800
commit04efe508880039034d9c1a701b67d3f0be2be04b (patch)
tree248c3696e5db582ebd074faa554a9a48bb4399ba /include/linux/pci-ats.h
parent62d095f5b524e21a39322bc252144aa040b57a39 (diff)
ENGR00269945: ARM: imx6sl: initialize use count of IPG clock
We're running into a system hang during imx6sl boot. It's been tracked down to SDMA driver function sdma_init(). System hangs immediately after the clk_disable() is called in sdma_init(). It turns out that the issue is caused by IPG bus clock which is the parent of sdma clock is turned off accidentally due to the incorrect initial use count. IPG clock is initial on and should be always on when system operates. But the use count of the clock is zero initially. So when the last child clock gets disabled, the use count of IPG clock reaches zero, and thus clock framework will turn off IPG clock (and possibly parent clocks along the way), and causes the system hang. Let's initialize the use count of IPG clock by calling clk_prepare_enable() on it to match the on state of the clock, so that the clock will not be turned off accidentally. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Diffstat (limited to 'include/linux/pci-ats.h')
0 files changed, 0 insertions, 0 deletions