From: Matt Wagantall <mattw@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx> Signed-off-by: David Brown <davidb@xxxxxxxxxxxxxx> --- 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. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html