From 52c7a3045e5c65bd00d7585709e6b75e282d9a4c Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 25 Aug 2011 14:30:52 +0300 Subject: nvhost: power: Separate module shared clocks Register clocks that are shared amongst modules (emc, epp) as separate clocks. This way setting EMC clock for 2D does not interfere with EMC clock needs for 3D or MPE. Bug 868554 Change-Id: I5c7dddc8f1d67969865918e577bd24b274d9e897 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/49603 Reviewed-by: Scott Williams Reviewed-by: Aleksandr Frid Reviewed-by: Juha Tukkinen Reviewed-by: Yu-Huan Hsu --- arch/arm/mach-tegra/tegra2_clocks.c | 14 ++++++++------ arch/arm/mach-tegra/tegra3_clocks.c | 18 ++++++++++-------- 2 files changed, 18 insertions(+), 14 deletions(-) (limited to 'arch') diff --git a/arch/arm/mach-tegra/tegra2_clocks.c b/arch/arm/mach-tegra/tegra2_clocks.c index 2b1209014b32..6a1cc9b826e6 100644 --- a/arch/arm/mach-tegra/tegra2_clocks.c +++ b/arch/arm/mach-tegra/tegra2_clocks.c @@ -2199,7 +2199,9 @@ struct clk tegra_list_shared_clks[] = { SHARED_CLK("disp1.emc", "tegradc.0", "emc", &tegra_clk_emc), SHARED_CLK("disp2.emc", "tegradc.1", "emc", &tegra_clk_emc), SHARED_CLK("hdmi.emc", "hdmi", "emc", &tegra_clk_emc), - SHARED_CLK("host.emc", "tegra_grhost", "emc", &tegra_clk_emc), + SHARED_CLK("3d.emc", "tegra_gr3d", "emc", &tegra_clk_emc), + SHARED_CLK("2d.emc", "tegra_gr2d", "emc", &tegra_clk_emc), + SHARED_CLK("mpe.emc", "tegra_mpe", "emc", &tegra_clk_emc), SHARED_CLK("usbd.emc", "fsl-tegra-udc", "emc", &tegra_clk_emc), SHARED_CLK("usb1.emc", "tegra-ehci.0", "emc", &tegra_clk_emc), SHARED_CLK("usb2.emc", "tegra-ehci.1", "emc", &tegra_clk_emc), @@ -2236,11 +2238,11 @@ struct clk_duplicate tegra_clk_duplicates[] = { CLK_DUPLICATE("pwm", "tegra_pwm.1", NULL), CLK_DUPLICATE("pwm", "tegra_pwm.2", NULL), CLK_DUPLICATE("pwm", "tegra_pwm.3", NULL), - CLK_DUPLICATE("host1x", "tegra_grhost", "host1x"), - CLK_DUPLICATE("2d", "tegra_grhost", "gr2d"), - CLK_DUPLICATE("3d", "tegra_grhost", "gr3d"), - CLK_DUPLICATE("epp", "tegra_grhost", "epp"), - CLK_DUPLICATE("mpe", "tegra_grhost", "mpe"), + CLK_DUPLICATE("host1x", "tegra_host1x", "host1x"), + CLK_DUPLICATE("2d", "tegra_gr2d", "gr2d"), + CLK_DUPLICATE("3d", "tegra_gr3d", "gr3d"), + CLK_DUPLICATE("epp", "tegra_gr2d", "epp"), + CLK_DUPLICATE("mpe", "tegra_mpe", "mpe"), CLK_DUPLICATE("cop", "tegra-avp", "cop"), CLK_DUPLICATE("vde", "tegra-aes", "vde"), CLK_DUPLICATE("bsea", "tegra-aes", "bsea"), diff --git a/arch/arm/mach-tegra/tegra3_clocks.c b/arch/arm/mach-tegra/tegra3_clocks.c index 22553fd9603f..3271b2499d0b 100644 --- a/arch/arm/mach-tegra/tegra3_clocks.c +++ b/arch/arm/mach-tegra/tegra3_clocks.c @@ -3939,20 +3939,22 @@ struct clk tegra_list_clks[] = { SHARED_CLK("disp1.emc", "tegradc.0", "emc", &tegra_clk_emc, NULL, 0, SHARED_BW), SHARED_CLK("disp2.emc", "tegradc.1", "emc", &tegra_clk_emc, NULL, 0, SHARED_BW), SHARED_CLK("hdmi.emc", "hdmi", "emc", &tegra_clk_emc, NULL, 0, 0), - SHARED_CLK("host.emc", "tegra_grhost", "emc", &tegra_clk_emc, NULL, 0, 0), SHARED_CLK("usbd.emc", "fsl-tegra-udc", "emc", &tegra_clk_emc, NULL, 0, 0), SHARED_CLK("usb1.emc", "tegra-ehci.0", "emc", &tegra_clk_emc, NULL, 0, 0), SHARED_CLK("usb2.emc", "tegra-ehci.1", "emc", &tegra_clk_emc, NULL, 0, 0), SHARED_CLK("usb3.emc", "tegra-ehci.2", "emc", &tegra_clk_emc, NULL, 0, 0), SHARED_CLK("mon.emc", "tegra_actmon", "emc", &tegra_clk_emc, NULL, 0, 0), SHARED_CLK("cap.emc", "cap.emc", NULL, &tegra_clk_emc, NULL, 0, SHARED_CEILING), - - SHARED_CLK("host1x.cbus","tegra_grhost", "host1x", &tegra_clk_cbus, "host1x", 2, 0), - SHARED_CLK("3d.cbus", "tegra_grhost", "gr3d", &tegra_clk_cbus, "3d", 0, 0), - SHARED_CLK("3d2.cbus", "tegra_grhost", "gr3d2",&tegra_clk_cbus, "3d2", 0, 0), - SHARED_CLK("2d.cbus", "tegra_grhost", "gr2d", &tegra_clk_cbus, "2d", 0, 0), - SHARED_CLK("epp.cbus", "tegra_grhost", "epp", &tegra_clk_cbus, "epp", 0, 0), - SHARED_CLK("mpe.cbus", "tegra_grhost", "mpe", &tegra_clk_cbus, "mpe", 0, 0), + SHARED_CLK("3d.emc", "tegra_gr3d", "emc", &tegra_clk_emc, NULL, 0, 0), + SHARED_CLK("2d.emc", "tegra_gr2d", "emc", &tegra_clk_emc, NULL, 0, 0), + SHARED_CLK("mpe.emc", "tegra_mpe", "emc", &tegra_clk_emc, NULL, 0, 0), + + SHARED_CLK("host1x.cbus", "tegra_host1x", "host1x", &tegra_clk_cbus, "host1x", 2, 0), + SHARED_CLK("3d.cbus", "tegra_gr3d", "gr3d", &tegra_clk_cbus, "3d", 0, 0), + SHARED_CLK("3d2.cbus", "tegra_gr3d", "gr3d2", &tegra_clk_cbus, "3d2", 0, 0), + SHARED_CLK("2d.cbus", "tegra_gr2d", "gr2d", &tegra_clk_cbus, "2d", 0, 0), + SHARED_CLK("epp.cbus", "tegra_gr2d", "epp", &tegra_clk_cbus, "epp", 0, 0), + SHARED_CLK("mpe.cbus", "tegra_mpe", "mpe", &tegra_clk_cbus, "mpe", 0, 0), SHARED_CLK("vde.cbus", "tegra-avp", "vde", &tegra_clk_cbus, "vde", 0, 0), SHARED_CLK("se.cbus", "tegra-se", NULL, &tegra_clk_cbus, "se", 0, 0), SHARED_CLK("cap.cbus", "cap.cbus", NULL, &tegra_clk_cbus, NULL, 0, SHARED_CEILING), -- cgit v1.2.3