Re: [PATCH] clk: zynq: Force CPU_2X clock to be ungated

From: SÃren Brinkmann
Date: Sun Jan 25 2015 - 22:22:20 EST


On Fri, 2015-01-23 at 03:44PM -0800, Soren Brinkmann wrote:
> The CPU_2X clock does not have a classical in kernel user, but is,
> amongst other things, required for OCM and debug access. Make sure this
> clock does not mistakenly disabled during boot up by enabling it in the
> platforms clock driver.
>
> Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx>
> ---
> I just noticed this on Linus' latest tip. I can't remember having had issues
> connecting the debugger before, but it might be a candidate for stable in case
> people report something like that.

I bisected this down to commit:

ae43b3289186480f81c78bb63d788a85a3631f47 is the first bad commit
commit ae43b3289186480f81c78bb63d788a85a3631f47
Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Date: Fri Nov 14 09:48:57 2014 +0100

ARM: 8202/1: dmaengine: pl330: Add runtime Power Management support v12

This patch adds runtime PM support to pl330 DMA engine driver.

The runtime power management for pl330 DMA driver allows gating of AMBA
clock (PDMA) in FSYS clock domain, when the device is not processing any
requests. This is necessary to enter low power modes on Exynos SoCs
(e.g. LPA on Exynos4x12 or W-AFTR on Exynos3250).

Runtime PM resuming of the device may happen in atomic context (during
call device_issue_pending()) so pm_runtime_irq_safe() is used. This will
lead only to disabling/enabling of the clock but this is sufficient for
gating the clock and for reducing energy usage.

Driver uses runtime PM callbacks from amba/bus.c driver only.

Suggested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx>
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

:040000 040000 16e0cb02587254ea396e9d913d7997ac63bd3d49 97c1ee366f0790e65df00e85d06b2bcd07aa9f58 M drivers

which makes sense, since the PL330 clock in Zynq is the mentioned
CPU_2X_CLK. I guess the additional runtime_pm in the driver causes the
clock to be gated which causes the issues for the mentioned other users
of this clock.
Looks like this patch got introduced in the 3.19 merge window. Hence,
stable should be off the table.

SÃren
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/