summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorshivabassu boragalli <sboragalli@nvidia.com>2012-02-10 13:21:02 +0530
committerSimone Willett <swillett@nvidia.com>2012-02-15 14:33:19 -0800
commit54c4f5a5a87c2ea56f4b2677fe22dde39e6918b3 (patch)
tree41567612c12012f0d5f29dfde87121cfa4e533ba /drivers/media
parent8af8a05ea21975c4f6e2c9207fde844542bfbd7b (diff)
media: video: tegra: set camera emc clk preference
Set camera emc clock to 300Mhz for T20. This change fixes the display corruption observed after video recording and adb cable is disconnected. Bug 930239 Signed-off-by: Shivabassu Boragalli <sboragalli@nvidia.com> Reviewed-on: http://git-master/r/83031 (cherry picked from commit 425cabdc52868d5dca9fd9cd9a82f18d41f0a957) Change-Id: I29b0d83f0cb3e69e48d25d896ff3c88c2e3e7673 Reviewed-on: http://git-master/r/83398 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/tegra/tegra_camera.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/media/video/tegra/tegra_camera.c b/drivers/media/video/tegra/tegra_camera.c
index 1f4ae729ee97..e90b130bcd65 100644
--- a/drivers/media/video/tegra/tegra_camera.c
+++ b/drivers/media/video/tegra/tegra_camera.c
@@ -99,11 +99,13 @@ static int tegra_camera_disable_csi(struct tegra_camera_dev *dev)
static int tegra_camera_enable_emc(struct tegra_camera_dev *dev)
{
-#ifndef CONFIG_ARCH_TEGRA_2x_SOC
/* tegra_camera wasn't added as a user of emc_clk until 3x.
set to 150 MHz, will likely need to be increased as we support
sensors with higher framerates and resolutions. */
clk_enable(dev->emc_clk);
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+ clk_set_rate(dev->emc_clk, 300000000);
+#else
clk_set_rate(dev->emc_clk, 150000000);
#endif
return 0;
@@ -111,9 +113,7 @@ static int tegra_camera_enable_emc(struct tegra_camera_dev *dev)
static int tegra_camera_disable_emc(struct tegra_camera_dev *dev)
{
-#ifndef CONFIG_ARCH_TEGRA_2x_SOC
clk_disable(dev->emc_clk);
-#endif
return 0;
}
@@ -527,11 +527,9 @@ static int tegra_camera_probe(struct platform_device *pdev)
err = tegra_camera_clk_get(pdev, "csi", &dev->csi_clk);
if (err)
goto csi_clk_get_err;
-#ifndef CONFIG_ARCH_TEGRA_2x_SOC
err = tegra_camera_clk_get(pdev, "emc", &dev->emc_clk);
if (err)
goto emc_clk_get_err;
-#endif
/* dev is set in order to restore in _remove */
platform_set_drvdata(pdev, dev);