From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: tony@atomide.com, jarkko.nikula@bitmer.com, paul@pwsan.com,
lgirdwood@gmail.com, broonie@kernel.org
Cc: t-kristo@ti.com, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
alsa-devel@alsa-project.org
Subject: [PATCH v3 3/7] ARM: OMAP3: McBSP: New callback for McBSP2/3 ICLK idle configuration
Date: Fri, 29 Apr 2016 13:53:18 +0300 [thread overview]
Message-ID: <1461927202-17677-4-git-send-email-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <1461927202-17677-1-git-send-email-peter.ujfalusi@ti.com>
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
next prev parent reply other threads:[~2016-04-29 10:53 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-29 10:53 [PATCH v3 0/7] ARM/ASoC: OMAP3: Fix McBSP2/3 sidetone support Peter Ujfalusi
2016-04-29 10:53 ` [PATCH v3 1/7] ARM: OMAP3: hwmod data: Fix McBSP2/3 sidetone data Peter Ujfalusi
[not found] ` <1461927202-17677-2-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2016-04-29 15:34 ` Tony Lindgren
2016-04-29 10:53 ` [PATCH v3 2/7] ARM: dts: omap3: Add clocks to McBSP nodes Peter Ujfalusi
2016-04-29 10:53 ` Peter Ujfalusi [this message]
2016-04-29 10:53 ` [PATCH v3 4/7] ARM: OMAP3: pdata-quirks: Add support for McBSP2/3 sidetone handling Peter Ujfalusi
2016-04-29 10:53 ` [PATCH v3 5/7] ASoc: omap-mcbsp: Rename omap_mcbsp_sysfs_remove() to omap_mcbsp_cleanup() Peter Ujfalusi
[not found] ` <1461927202-17677-6-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2016-05-02 10:41 ` Mark Brown
2016-04-29 10:53 ` [PATCH v3 6/7] ASoC: omap-mcbsp: sidetone: Use the new callback for iclk handling Peter Ujfalusi
2016-05-02 10:42 ` Mark Brown
2016-04-29 10:53 ` [PATCH v3 7/7] ARM: OMAP2+: McBSP: Remove the old iclk allow/deny idle code Peter Ujfalusi
2016-05-11 8:44 ` [PATCH v3 0/7] ARM/ASoC: OMAP3: Fix McBSP2/3 sidetone support Peter Ujfalusi
[not found] ` <69ff65ee-e5d1-09fb-fd91-8d7b4d8fdda4-l0cyMroinI0@public.gmane.org>
2016-05-12 16:42 ` Tony Lindgren
2016-05-13 11:45 ` Peter Ujfalusi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1461927202-17677-4-git-send-email-peter.ujfalusi@ti.com \
--to=peter.ujfalusi@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jarkko.nikula@bitmer.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=t-kristo@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).