lkml.org 
[lkml]   [2011]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[RFC PATCH 30/34] msm: clock: Add EBI1 voter clocks for ADM on SoCs without them
Date
From: Matt Wagantall <mattw@codeaurora.org>

The ADM driver wishes to vote for EBI1 clock rates during ADM
transfers. Add voter clocks for this purpose.

On msm8960, this also requires the creation of an EBI voter clock
for the msm_bus driver, since it was previously using the clock
directly.

Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
---
arch/arm/mach-msm/clock-7x30.c | 2 ++
arch/arm/mach-msm/clock-pcom-lookup.c | 4 ++++
2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-msm/clock-7x30.c b/arch/arm/mach-msm/clock-7x30.c
index d917942..019fdea 100644
--- a/arch/arm/mach-msm/clock-7x30.c
+++ b/arch/arm/mach-msm/clock-7x30.c
@@ -2373,6 +2373,7 @@ static DEFINE_CLK_VOTER(ebi_mddi_clk, &pbus_clk.c);
static DEFINE_CLK_VOTER(ebi_tv_clk, &pbus_clk.c);
static DEFINE_CLK_VOTER(ebi_vcd_clk, &pbus_clk.c);
static DEFINE_CLK_VOTER(ebi_vfe_clk, &pbus_clk.c);
+static DEFINE_CLK_VOTER(ebi_adm_clk, &pbus_clk.c);

/*
* SoC-specific functions required by clock-local driver
@@ -2757,6 +2758,7 @@ static struct clk_local_ownership {
{ CLK_LOOKUP("ebi1_tv_clk", ebi_tv_clk.c, NULL) },
{ CLK_LOOKUP("ebi1_vcd_clk", ebi_vcd_clk.c, NULL) },
{ CLK_LOOKUP("ebi1_vfe_clk", ebi_vfe_clk.c, NULL) },
+ { CLK_LOOKUP("ebi1_clk", ebi_adm_clk.c, "msm_dmov") },

/*
* This is a many-to-one mapping because we don't know how the remote
diff --git a/arch/arm/mach-msm/clock-pcom-lookup.c b/arch/arm/mach-msm/clock-pcom-lookup.c
index 9d83cba..e74a556 100644
--- a/arch/arm/mach-msm/clock-pcom-lookup.c
+++ b/arch/arm/mach-msm/clock-pcom-lookup.c
@@ -139,6 +139,7 @@ static DEFINE_CLK_VOTER(ebi_mddi_clk, &ebi1_clk.c);
static DEFINE_CLK_VOTER(ebi_tv_clk, &ebi1_clk.c);
static DEFINE_CLK_VOTER(ebi_usb_clk, &ebi1_clk.c);
static DEFINE_CLK_VOTER(ebi_vfe_clk, &ebi1_clk.c);
+static DEFINE_CLK_VOTER(ebi_adm_clk, &ebi1_clk.c);

struct clk_lookup msm_clocks_7x01a[] = {
CLK_LOOKUP("adm_clk", adm_clk.c, NULL),
@@ -236,6 +237,7 @@ struct clk_lookup msm_clocks_7x27[] = {
CLK_LOOKUP("ebi1_mddi_clk", ebi_mddi_clk.c, NULL),
CLK_LOOKUP("ebi1_usb_clk", ebi_usb_clk.c, NULL),
CLK_LOOKUP("ebi1_vfe_clk", ebi_vfe_clk.c, NULL),
+ CLK_LOOKUP("ebi1_clk", ebi_adm_clk.c, "msm_dmov"),
};
unsigned msm_num_clocks_7x27 = ARRAY_SIZE(msm_clocks_7x27);

@@ -307,6 +309,7 @@ struct clk_lookup msm_clocks_7x27a[] = {
CLK_LOOKUP("ebi1_mddi_clk", ebi_mddi_clk.c, NULL),
CLK_LOOKUP("ebi1_usb_clk", ebi_usb_clk.c, NULL),
CLK_LOOKUP("ebi1_vfe_clk", ebi_vfe_clk.c, NULL),
+ CLK_LOOKUP("ebi1_clk", ebi_adm_clk.c, "msm_dmov"),
};
unsigned msm_num_clocks_7x27a = ARRAY_SIZE(msm_clocks_7x27a);

@@ -371,6 +374,7 @@ struct clk_lookup msm_clocks_8x50[] = {
CLK_LOOKUP("ebi1_tv_clk", ebi_tv_clk.c, NULL),
CLK_LOOKUP("ebi1_usb_clk", ebi_usb_clk.c, NULL),
CLK_LOOKUP("ebi1_vfe_clk", ebi_vfe_clk.c, NULL),
+ CLK_LOOKUP("ebi1_clk", ebi_adm_clk.c, "msm_dmov"),

CLK_LOOKUP("grp_pclk", grp_3d_p_clk.c, NULL),
CLK_LOOKUP("grp_2d_clk", grp_2d_clk.c, NULL),
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


\
 
 \ /
  Last update: 2011-11-02 19:39    [W:1.372 / U:0.924 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site