Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1390998

[PATCH v3 3/7] ARM: OMAP3: McBSP: New callback for McBSP2/3 ICLK idle configuration

From Peter Ujfalusi <peter.ujfalusi@ti.com>
Newsgroups linux.kernel
Subject [PATCH v3 3/7] ARM: OMAP3: McBSP: New callback for McBSP2/3 ICLK idle configuration
Date 2016-04-29 13:00 +0200
Message-ID <rtejp-4ri-37@gated-at.bofh.it> (permalink)
References <rtejo-4ri-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


McBSP2/3 module's sidetone module operates using the module's ICLK clock.
When the Sidetone is in use the interface clock of the module must not
idle. The new callback expects to receive the *clk of the module's ick and
not the id number of the McBSP. This will allow us more cleanups and going
to simplify the ICLK handling.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 arch/arm/mach-omap2/mcbsp.c                 | 12 ++++++++++++
 include/linux/platform_data/asoc-ti-mcbsp.h |  1 +
 2 files changed, 13 insertions(+)

diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index b4ac3af1160c..959cb4cb1062 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -48,6 +48,17 @@ static int omap3_enable_st_clock(unsigned int id, bool enable)
 		return omap2_clk_allow_idle(mcbsp_iclks[id]);
 }
 
+static int omap3_mcbsp_force_ick_on(struct clk *clk, bool force_on)
+{
+	if (!clk)
+		return 0;
+
+	if (force_on)
+		return omap2_clk_deny_idle(clk);
+	else
+		return omap2_clk_allow_idle(clk);
+}
+
 static int __init omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
 {
 	int id, count = 1;
@@ -97,6 +108,7 @@ static int __init omap_init_mcbsp(struct omap_hwmod *oh, void *unused)
 		oh_device[1] = omap_hwmod_lookup((
 		(struct omap_mcbsp_dev_attr *)(oh->dev_attr))->sidetone);
 		pdata->enable_st_clock = omap3_enable_st_clock;
+		pdata->force_ick_on = omap3_mcbsp_force_ick_on;
 		sprintf(clk_name, "mcbsp%d_ick", id);
 		mcbsp_iclks[id] = clk_get(NULL, clk_name);
 		count++;
diff --git a/include/linux/platform_data/asoc-ti-mcbsp.h b/include/linux/platform_data/asoc-ti-mcbsp.h
index 3c73c045f8da..73e5e832fa23 100644
--- a/include/linux/platform_data/asoc-ti-mcbsp.h
+++ b/include/linux/platform_data/asoc-ti-mcbsp.h
@@ -45,6 +45,7 @@ struct omap_mcbsp_platform_data {
 	bool has_wakeup; /* Wakeup capability */
 	bool has_ccr; /* Transceiver has configuration control registers */
 	int (*enable_st_clock)(unsigned int, bool);
+	int (*force_ick_on)(struct clk *clk, bool force_on);
 };
 
 /**
-- 
2.8.1

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/7] ARM/ASoC: OMAP3: Fix McBSP2/3 sidetone support Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 13:00 +0200
  [PATCH v3 1/7] ARM: OMAP3: hwmod data: Fix McBSP2/3 sidetone data Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 13:00 +0200
    Re: [PATCH v3 1/7] ARM: OMAP3: hwmod data: Fix McBSP2/3 sidetone data Tony Lindgren <tony@atomide.com> - 2016-04-29 17:40 +0200
  [PATCH v3 7/7] ARM: OMAP2+: McBSP: Remove the old iclk allow/deny idle code Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 13:00 +0200
  [PATCH v3 3/7] ARM: OMAP3: McBSP: New callback for McBSP2/3 ICLK idle configuration Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 13:00 +0200
  [PATCH v3 6/7] ASoC: omap-mcbsp: sidetone: Use the new callback for iclk handling Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 13:00 +0200
    Re: [PATCH v3 6/7] ASoC: omap-mcbsp: sidetone: Use the new callback  for iclk handling Mark Brown <broonie@kernel.org> - 2016-05-02 12:50 +0200
  [PATCH v3 2/7] ARM: dts: omap3: Add clocks to McBSP nodes Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 14:20 +0200
  [PATCH v3 5/7] ASoc: omap-mcbsp: Rename omap_mcbsp_sysfs_remove() to omap_mcbsp_cleanup() Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 14:20 +0200
    Re: [PATCH v3 5/7] ASoc: omap-mcbsp: Rename  omap_mcbsp_sysfs_remove() to omap_mcbsp_cleanup() Mark Brown <broonie@kernel.org> - 2016-05-02 12:50 +0200
  [PATCH v3 4/7] ARM: OMAP3: pdata-quirks: Add support for McBSP2/3 sidetone handling Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-04-29 14:20 +0200
  Re: [PATCH v3 0/7] ARM/ASoC: OMAP3: Fix McBSP2/3 sidetone support Peter Ujfalusi <peter.ujfalusi@ti.com> - 2016-05-11 10:50 +0200

csiph-web