summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp40.c10
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp47.c8
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c8
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c14
-rw-r--r--include/uapi/media/msmb_isp.h4
5 files changed, 38 insertions, 6 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 b19ec3141eec..72c0ba57fb50 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2018, 2020 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -150,7 +150,7 @@ static int32_t msm_vfe40_init_qos_parms(struct vfe_device *vfe_dev,
void __iomem *vfebase = vfe_dev->vfe_base;
struct device_node *of_node;
uint32_t *ds_settings = NULL, *ds_regs = NULL, ds_entries = 0;
- int32_t i = 0 , rc = 0;
+ int32_t i = 0, rc = 0;
uint32_t *qos_settings = NULL, *qos_regs = NULL, qos_entries = 0;
of_node = vfe_dev->pdev->dev.of_node;
@@ -256,7 +256,7 @@ static int32_t msm_vfe40_init_vbif_parms(struct vfe_device *vfe_dev,
{
void __iomem *vfe_vbif_base = vfe_dev->vfe_vbif_base;
struct device_node *of_node;
- int32_t i = 0 , rc = 0;
+ int32_t i = 0, rc = 0;
uint32_t *vbif_settings = NULL, *vbif_regs = NULL, vbif_entries = 0;
of_node = vfe_dev->pdev->dev.of_node;
@@ -1244,6 +1244,10 @@ static void msm_vfe40_cfg_fetch_engine(struct vfe_device *vfe_dev,
case V4L2_PIX_FMT_P16GBRG10:
case V4L2_PIX_FMT_P16GRBG10:
case V4L2_PIX_FMT_P16RGGB10:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
main_unpack_pattern = 0xB210;
break;
default:
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp47.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp47.c
index cf9e7547d4e2..c74ea09b01ea 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp47.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp47.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -192,7 +192,7 @@ static int32_t msm_vfe47_init_dt_parms(struct vfe_device *vfe_dev,
struct msm_vfe_hw_init_parms *dt_parms, void __iomem *dev_mem_base)
{
struct device_node *of_node;
- int32_t i = 0 , rc = 0;
+ int32_t i = 0, rc = 0;
uint32_t *dt_settings = NULL, *dt_regs = NULL, num_dt_entries = 0;
of_node = vfe_dev->pdev->dev.of_node;
@@ -1257,6 +1257,10 @@ void msm_vfe47_cfg_fetch_engine(struct vfe_device *vfe_dev,
case V4L2_PIX_FMT_P16GBRG10:
case V4L2_PIX_FMT_P16GRBG10:
case V4L2_PIX_FMT_P16RGGB10:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
main_unpack_pattern = 0xB210;
break;
default:
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c
index 9d83bf2a4ad4..f398ce00dab4 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c
@@ -243,6 +243,10 @@ static int msm_isp_validate_axi_request(struct vfe_device *vfe_dev,
case V4L2_PIX_FMT_P16GBRG10:
case V4L2_PIX_FMT_P16GRBG10:
case V4L2_PIX_FMT_P16RGGB10:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
case V4L2_PIX_FMT_JPEG:
case V4L2_PIX_FMT_META:
case V4L2_PIX_FMT_META10:
@@ -386,6 +390,10 @@ static uint32_t msm_isp_axi_get_plane_size(
case V4L2_PIX_FMT_P16GBRG10:
case V4L2_PIX_FMT_P16GRBG10:
case V4L2_PIX_FMT_P16RGGB10:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
size = plane_cfg[plane_idx].output_height *
plane_cfg[plane_idx].output_width;
break;
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c
index 54ca0dd57819..3e9544fc94a7 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2019, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -1619,6 +1619,10 @@ int msm_isp_cal_word_per_line(uint32_t output_format,
case V4L2_PIX_FMT_P16GBRG10:
case V4L2_PIX_FMT_P16GRBG10:
case V4L2_PIX_FMT_P16RGGB10:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
val = CAL_WORD(pixel_per_line, 1, 4);
break;
case V4L2_PIX_FMT_NV24:
@@ -1682,6 +1686,10 @@ enum msm_isp_pack_fmt msm_isp_get_pack_format(uint32_t output_format)
case V4L2_PIX_FMT_P16GBRG10:
case V4L2_PIX_FMT_P16GRBG10:
case V4L2_PIX_FMT_P16RGGB10:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
return PLAIN16;
default:
msm_isp_print_fourcc_error(__func__, output_format);
@@ -1766,6 +1774,10 @@ int msm_isp_get_bit_per_pixel(uint32_t output_format)
case V4L2_PIX_FMT_QGRBG12:
case V4L2_PIX_FMT_QRGGB12:
case V4L2_PIX_FMT_Y12:
+ case V4L2_PIX_FMT_P16BGGR12:
+ case V4L2_PIX_FMT_P16GBRG12:
+ case V4L2_PIX_FMT_P16GRBG12:
+ case V4L2_PIX_FMT_P16RGGB12:
case MSM_V4L2_PIX_FMT_META12:
return 12;
case V4L2_PIX_FMT_SBGGR14:
diff --git a/include/uapi/media/msmb_isp.h b/include/uapi/media/msmb_isp.h
index b1c02f297e91..273388c657c5 100644
--- a/include/uapi/media/msmb_isp.h
+++ b/include/uapi/media/msmb_isp.h
@@ -879,6 +879,10 @@ struct msm_vfe_dual_lpm_mode {
#define V4L2_PIX_FMT_P16GBRG10 v4l2_fourcc('P', 'G', 'B', '0')
#define V4L2_PIX_FMT_P16GRBG10 v4l2_fourcc('P', 'G', 'R', '0')
#define V4L2_PIX_FMT_P16RGGB10 v4l2_fourcc('P', 'R', 'G', '0')
+#define V4L2_PIX_FMT_P16BGGR12 v4l2_fourcc('P', 'B', 'G', '2')
+#define V4L2_PIX_FMT_P16GBRG12 v4l2_fourcc('P', 'G', 'B', '2')
+#define V4L2_PIX_FMT_P16GRBG12 v4l2_fourcc('P', 'G', 'R', '2')
+#define V4L2_PIX_FMT_P16RGGB12 v4l2_fourcc('P', 'R', 'G', '2')
#define V4L2_PIX_FMT_NV14 v4l2_fourcc('N', 'V', '1', '4')
#define V4L2_PIX_FMT_NV41 v4l2_fourcc('N', 'V', '4', '1')
#define V4L2_PIX_FMT_META v4l2_fourcc('Q', 'M', 'E', 'T')