summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlok Kediya <kediya@codeaurora.org>2015-03-31 16:15:11 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2015-07-06 06:31:16 -0700
commit452f9e8a5dcf8ea34638a0d85009066aa1bc02a1 (patch)
treeb20e4d9bf4dae129c3e3adbf072a3a69fe8465ed
parent7fd639c5baecca2c0ab179621f05499e069e6419 (diff)
downloadqcom-452f9e8a5dcf8ea34638a0d85009066aa1bc02a1.tar.gz
msm: isp: add ub size details.
add the ub size value for different target based on the HW version. Change-Id: I30bdfdca7a20cf52bbfd93d0afc7801881733188 Signed-off-by: Alok Kediya <kediya@codeaurora.org>
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp40.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
index 402852236ad..f54f1777d10 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
@@ -31,10 +31,13 @@
#define VFE40_STATS_BURST_LEN_8916_VERSION 2
#define VFE40_UB_SIZE 1536 /* 1536 * 128 bits = 24KB */
#define VFE40_UB_SIZE_8916 2048 /* 2048 * 128 bits = 32KB */
+#define VFE40_UB_SIZE_8939 3072 /* 3072 * 128 bits = 48KB */
#define VFE40_EQUAL_SLICE_UB 190 /* (UB_SIZE - STATS SIZE)/6 */
#define VFE40_EQUAL_SLICE_UB_8916 276
+#define VFE40_EQUAL_SLICE_UB_8939 446
#define VFE40_TOTAL_WM_UB 1144 /* UB_SIZE - STATS SIZE */
#define VFE40_TOTAL_WM_UB_8916 1656
+#define VFE40_TOTAL_WM_UB_8939 2680
#define VFE40_WM_BASE(idx) (0x6C + 0x24 * idx)
#define VFE40_RDI_BASE(idx) (0x2E8 + 0x4 * idx)
#define VFE40_XBAR_BASE(idx) (0x58 + 0x4 * (idx / 2))
@@ -1276,6 +1279,9 @@ static void msm_vfe40_cfg_axi_ub_equal_default(
if (vfe_dev->vfe_hw_version == VFE40_8916_VERSION) {
vfe_dev->ub_info->wm_ub = VFE40_TOTAL_WM_UB_8916;
total_wm_ub = VFE40_TOTAL_WM_UB_8916;
+ } else if (vfe_dev->vfe_hw_version == VFE40_8939_VERSION){
+ vfe_dev->ub_info->wm_ub = VFE40_TOTAL_WM_UB_8939;
+ total_wm_ub = VFE40_TOTAL_WM_UB_8939;
} else {
vfe_dev->ub_info->wm_ub = VFE40_TOTAL_WM_UB;
total_wm_ub = VFE40_TOTAL_WM_UB;
@@ -1318,6 +1324,9 @@ static void msm_vfe40_cfg_axi_ub_equal_slicing(
if (vfe_dev->vfe_hw_version == VFE40_8916_VERSION) {
vfe_dev->ub_info->wm_ub = VFE40_EQUAL_SLICE_UB_8916;
equal_slice_ub = VFE40_EQUAL_SLICE_UB_8916;
+ } else if (vfe_dev->vfe_hw_version == VFE40_8939_VERSION){
+ vfe_dev->ub_info->wm_ub = VFE40_EQUAL_SLICE_UB_8939;
+ equal_slice_ub = VFE40_EQUAL_SLICE_UB_8939;
} else {
vfe_dev->ub_info->wm_ub = VFE40_EQUAL_SLICE_UB;
equal_slice_ub = VFE40_EQUAL_SLICE_UB;
@@ -1587,10 +1596,12 @@ static void msm_vfe40_stats_cfg_ub(struct vfe_device *vfe_dev)
16, /*MSM_ISP_STATS_BHIST*/
};
- if (vfe_dev->vfe_hw_version == VFE40_8916_VERSION ||
- vfe_dev->vfe_hw_version == VFE40_8939_VERSION) {
+ if (vfe_dev->vfe_hw_version == VFE40_8916_VERSION ) {
stats_burst_len = VFE40_STATS_BURST_LEN_8916_VERSION;
ub_offset = VFE40_UB_SIZE_8916;
+ } else if (vfe_dev->vfe_hw_version == VFE40_8939_VERSION) {
+ stats_burst_len = VFE40_STATS_BURST_LEN_8916_VERSION;
+ ub_offset = VFE40_UB_SIZE_8939;
} else {
stats_burst_len = VFE40_STATS_BURST_LEN;
ub_offset = VFE40_UB_SIZE;