summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/platform/soc_camera/tegra_camera/vi.c22
-rw-r--r--drivers/media/platform/soc_camera/tegra_camera/vi2.c14
2 files changed, 20 insertions, 16 deletions
diff --git a/drivers/media/platform/soc_camera/tegra_camera/vi.c b/drivers/media/platform/soc_camera/tegra_camera/vi.c
index 9792d1869538..85f60713b4e3 100644
--- a/drivers/media/platform/soc_camera/tegra_camera/vi.c
+++ b/drivers/media/platform/soc_camera/tegra_camera/vi.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2013-2014, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
@@ -410,17 +410,19 @@ static void vi_clks_disable(struct tegra_camera_dev *cam)
static void vi_save_syncpts(struct tegra_camera_dev *cam)
{
- cam->syncpt_csi_a =
- nvhost_syncpt_read_ext(cam->ndev,
- TEGRA_VI_SYNCPT_CSI_A);
+ u32 val;
- cam->syncpt_csi_b =
- nvhost_syncpt_read_ext(cam->ndev,
- TEGRA_VI_SYNCPT_CSI_B);
+ if (!nvhost_syncpt_read_ext_check(cam->ndev,
+ TEGRA_VI_SYNCPT_CSI_A, &val))
+ cam->syncpt_csi_a = val;
- cam->syncpt_vip =
- nvhost_syncpt_read_ext(cam->ndev,
- TEGRA_VI_SYNCPT_VI);
+ if (!nvhost_syncpt_read_ext_check(cam->ndev,
+ TEGRA_VI_SYNCPT_CSI_B, &val))
+ cam->syncpt_csi_b = val;
+
+ if (!nvhost_syncpt_read_ext_check(cam->ndev,
+ TEGRA_VI_SYNCPT_VI, &val))
+ cam->syncpt_vip = val;
}
static void vi_incr_syncpts(struct tegra_camera_dev *cam)
diff --git a/drivers/media/platform/soc_camera/tegra_camera/vi2.c b/drivers/media/platform/soc_camera/tegra_camera/vi2.c
index 60bdaa4dabc7..232340082e06 100644
--- a/drivers/media/platform/soc_camera/tegra_camera/vi2.c
+++ b/drivers/media/platform/soc_camera/tegra_camera/vi2.c
@@ -433,13 +433,15 @@ static void vi2_clks_disable(struct tegra_camera_dev *cam)
static void vi2_save_syncpts(struct tegra_camera_dev *cam)
{
- cam->syncpt_csi_a =
- nvhost_syncpt_read_ext(cam->ndev,
- TEGRA_VI_SYNCPT_CSI_A);
+ u32 val;
- cam->syncpt_csi_b =
- nvhost_syncpt_read_ext(cam->ndev,
- TEGRA_VI_SYNCPT_CSI_B);
+ if (!nvhost_syncpt_read_ext_check(cam->ndev,
+ TEGRA_VI_SYNCPT_CSI_A, &val))
+ cam->syncpt_csi_a = val;
+
+ if (!nvhost_syncpt_read_ext_check(cam->ndev,
+ TEGRA_VI_SYNCPT_CSI_B, &val))
+ cam->syncpt_csi_b = val;
}
static void vi2_incr_syncpts(struct tegra_camera_dev *cam)