From: Omar Ramirez Luna <omar.ramirez@ti.com>
To: linux-omap <linux-omap@vger.kernel.org>
Cc: Ameya Palande <ameya.palande@nokia.com>,
Hiroshi Doyu <Hiroshi.DOYU@nokia.com>,
Felipe Contreras <felipe.contreras@nokia.com>,
Nishanth Menon <nm@ti.com>,
Omar Ramirez Luna <omar.ramirez@ti.com>,
Omar Ramirez Luna <omar.ramirez@hotmail.com>
Subject: [PATCH v2] DSPBRIDGE: use dm timer framework for gpt timers
Date: Tue, 27 Apr 2010 20:29:19 -0500 [thread overview]
Message-ID: <1272418167-12630-12-git-send-email-omar.ramirez@ti.com> (raw)
In-Reply-To: <1272418167-12630-11-git-send-email-omar.ramirez@ti.com>
This patch switches to use DM timer framework instead of
a custom one for GPT timers, currently dsp can make use of
gpt 5, 6, 7 or 8.
Signed-off-by: Omar Ramirez Luna <omar.ramirez@hotmail.com>
---
drivers/dsp/bridge/services/clk.c | 25 ++++++++++++-----------
drivers/dsp/bridge/wmd/tiomap3430.c | 36 -----------------------------------
2 files changed, 13 insertions(+), 48 deletions(-)
diff --git a/drivers/dsp/bridge/services/clk.c b/drivers/dsp/bridge/services/clk.c
index 9c994d3..37739a9 100644
--- a/drivers/dsp/bridge/services/clk.c
+++ b/drivers/dsp/bridge/services/clk.c
@@ -18,6 +18,7 @@
/* ----------------------------------- Host OS */
#include <dspbridge/host_os.h>
+#include <plat/dmtimer.h>
/* ----------------------------------- DSP/BIOS Bridge */
#include <dspbridge/std.h>
@@ -47,24 +48,21 @@
#define MCBSP_CLK 3
#define SSI_CLK 4
+/*
+ * Bridge specific DM Timer macro.
+ * Bridge GPT id (1 - 4), DM Timer id (5 - 8)
+ */
+#define DMT_ID(id) ((id) + 4)
+
struct dsp_clk_t {
struct clk *clk_handle;
const char *clk_name;
int id;
};
-/* The row order of the below array needs to match with the clock enumerations
- * 'dsp_clk_id' provided in the header file.. any changes in the
- * enumerations needs to be fixed in the array as well */
+static struct omap_dm_timer *timer[4];
+
static struct dsp_clk_t dsp_clks[] = {
- {NULL, "gpt5_fck", -1},
- {NULL, "gpt5_ick", -1},
- {NULL, "gpt6_fck", -1},
- {NULL, "gpt6_ick", -1},
- {NULL, "gpt7_fck", -1},
- {NULL, "gpt7_ick", -1},
- {NULL, "gpt8_fck", -1},
- {NULL, "gpt8_ick", -1},
{NULL, "wdt_fck", 3},
{NULL, "wdt_ick", 3},
{NULL, "mcbsp_fck", 1},
@@ -79,7 +77,6 @@ static struct dsp_clk_t dsp_clks[] = {
{NULL, "mcbsp_ick", 5},
{NULL, "ssi_ssr_sst_fck", -1},
{NULL, "ssi_ick", -1},
- {NULL, ""}
};
struct clk *iva2_clk;
@@ -146,6 +143,8 @@ dsp_status dsp_clk_enable(IN enum dsp_clk_id clk_id)
clk_enable(iva2_clk);
break;
case GPT_CLK:
+ timer[clk_id] = omap_dm_timer_request_specific(DMT_ID(clk_id));
+ break;
case MCBSP_CLK:
case WDT_CLK:
case SSI_CLK:
@@ -192,6 +191,8 @@ dsp_status dsp_clk_disable(IN enum dsp_clk_id clk_id)
clk_disable(iva2_clk);
break;
case GPT_CLK:
+ omap_dm_timer_free(timer[clk_id]);
+ break;
case MCBSP_CLK:
case WDT_CLK:
case SSI_CLK:
diff --git a/drivers/dsp/bridge/wmd/tiomap3430.c b/drivers/dsp/bridge/wmd/tiomap3430.c
index bb78df2..38338d1 100644
--- a/drivers/dsp/bridge/wmd/tiomap3430.c
+++ b/drivers/dsp/bridge/wmd/tiomap3430.c
@@ -392,9 +392,6 @@ static dsp_status bridge_brd_start(struct wmd_dev_context *hDevContext,
u32 clk_cmd;
struct io_mgr *hio_mgr;
u32 ul_load_monitor_timer;
- u32 ext_clk_id = 0;
- u32 tmp_index;
- u32 clk_id_index = MBX_PM_MAX_RESOURCES;
struct dspbridge_platform_data *pdata =
omap_dspbridge_dev->dev.platform_data;
@@ -529,25 +526,9 @@ static dsp_status bridge_brd_start(struct wmd_dev_context *hDevContext,
if (DSP_SUCCEEDED(status)) {
if (ul_load_monitor_timer != 0xFFFF) {
- clk_cmd = (BPWR_DISABLE_CLOCK << MBX_PM_CLK_CMDSHIFT) |
- ul_load_monitor_timer;
-
- dsp_peripheral_clk_ctrl(dev_context, &clk_cmd);
-
- ext_clk_id = clk_cmd & MBX_PM_CLK_IDMASK;
- for (tmp_index = 0; tmp_index < MBX_PM_MAX_RESOURCES;
- tmp_index++) {
- if (ext_clk_id == bpwr_clkid[tmp_index]) {
- clk_id_index = tmp_index;
- break;
- }
- }
-
clk_cmd = (BPWR_ENABLE_CLOCK << MBX_PM_CLK_CMDSHIFT) |
ul_load_monitor_timer;
-
dsp_peripheral_clk_ctrl(dev_context, &clk_cmd);
-
} else {
dev_dbg(bridge, "Not able to get the symbol for Load "
"Monitor Timer\n");
@@ -556,26 +537,9 @@ static dsp_status bridge_brd_start(struct wmd_dev_context *hDevContext,
if (DSP_SUCCEEDED(status)) {
if (ul_bios_gp_timer != 0xFFFF) {
- clk_cmd = (BPWR_DISABLE_CLOCK << MBX_PM_CLK_CMDSHIFT) |
- ul_bios_gp_timer;
-
- dsp_peripheral_clk_ctrl(dev_context, &clk_cmd);
-
- ext_clk_id = clk_cmd & MBX_PM_CLK_IDMASK;
-
- for (tmp_index = 0; tmp_index < MBX_PM_MAX_RESOURCES;
- tmp_index++) {
- if (ext_clk_id == bpwr_clkid[tmp_index]) {
- clk_id_index = tmp_index;
- break;
- }
- }
-
clk_cmd = (BPWR_ENABLE_CLOCK << MBX_PM_CLK_CMDSHIFT) |
ul_bios_gp_timer;
-
dsp_peripheral_clk_ctrl(dev_context, &clk_cmd);
-
} else {
dev_dbg(bridge,
"Not able to get the symbol for BIOS Timer\n");
--
1.6.0.4
next prev parent reply other threads:[~2010-04-28 1:24 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-28 1:29 [PATCH v2] generic clk module removal Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: remove clk_handle from drv interface Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: fail if clk handle is NULL Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: Now actually fail if a clk handle is wrong Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: Rename services_clk_* to dsp_clk_* Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: remove unused clock sys_ck Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: remove function clk_set32k_hz Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: remove clk_get_use_cnt Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: trivial clock cleanup for unused code Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: function to get the type of clock requested by dsp Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: iva2 clock handling Omar Ramirez Luna
2010-04-28 1:29 ` Omar Ramirez Luna [this message]
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: use omap mcbsp to enable mcbsp clocks Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: remove wdt3 from dsp control Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: dsp interface to enable ssi clocks Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: use one call for both ick and fck clocks Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: Move MCBSP_CLOCKS code to a common place Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: Balance the number of enable/disable Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: move clk to dsp-clock Omar Ramirez Luna
2010-04-28 1:29 ` [PATCH v2] DSPBRIDGE: reorganize the code to handle peripheral clocks Omar Ramirez Luna
2010-04-28 7:46 ` [PATCH v2] DSPBRIDGE: use dm timer framework for gpt timers Felipe Contreras
2010-04-28 14:15 ` Omar Ramirez Luna
2010-04-28 16:29 ` Kevin Hilman
2010-04-28 16:36 ` Nishanth Menon
2010-04-28 17:00 ` Omar Ramirez Luna
2010-04-28 17:11 ` Vladimir Pantelic
2010-04-28 17:22 ` Nishanth Menon
2010-04-28 17:59 ` Kevin Hilman
2010-04-28 18:56 ` Nishanth Menon
2010-04-28 19:52 ` Vladimir Pantelic
2010-04-28 19:57 ` Nishanth Menon
2010-04-28 20:50 ` Kevin Hilman
2010-04-29 13:40 ` Benoit Cousson
2010-04-29 14:12 ` Kevin Hilman
2010-04-28 17:02 ` Uribe de Leon, Armando
2010-04-28 17:04 ` Felipe Contreras
2010-04-28 1:34 ` [PATCH v2] generic clk module removal Nishanth Menon
2010-04-28 13:55 ` Omar Ramirez Luna
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=1272418167-12630-12-git-send-email-omar.ramirez@ti.com \
--to=omar.ramirez@ti.com \
--cc=Hiroshi.DOYU@nokia.com \
--cc=ameya.palande@nokia.com \
--cc=felipe.contreras@nokia.com \
--cc=linux-omap@vger.kernel.org \
--cc=nm@ti.com \
--cc=omar.ramirez@hotmail.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