ARM: OMAP: mcbsp: Move sidetone clock management to mach-omap2/mcbsp.c
authorJarkko Nikula <jhnikula@gmail.com>
Mon, 26 Sep 2011 07:45:44 +0000 (10:45 +0300)
committerTony Lindgren <tony@atomide.com>
Tue, 27 Sep 2011 00:48:27 +0000 (17:48 -0700)
commit1743d14fb6b428e52a9a0917d11d6eba9a110002
tree88bdb1d289fff1da1dc6f1d4a76a971fa0db53c4
parentac6747ca0d2e01ed55281d1cc95b5dc646735a20
ARM: OMAP: mcbsp: Move sidetone clock management to mach-omap2/mcbsp.c

Active sidetone requires that McBSP interface clock doesn't idle and there
is no mechanism in hwmod to turn autoidling on/off in runtime. McBSP2 and 3
in OMAP34xx share their interface clock with McBSP sidetone module and
that interface clock must be active when the sidetone is operating.

Sidetone has its own autoidle bit which should keep the interface clock
active but it is broken. Putting the McBSP core to no-idle mode when the
sidetone is active is no good either since it results to higher power
consumption when using the threshold based DMA transfers.

For making the McBSP code more generic, move this sidetone clock management
with fixme comments to mach-omap2/mcbsp.c and pass pointer to it via
platform data.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Wamsley <paul@pwsan.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/mcbsp.c
arch/arm/plat-omap/include/plat/mcbsp.h
arch/arm/plat-omap/mcbsp.c