msm8996: Update kernel headers for AU 147

Change-Id: If3a2c4fa3976428f75c052f397b8317e1b96f7a9
diff --git a/kernel-headers/linux/msm_ion.h b/kernel-headers/linux/msm_ion.h
index 177c345..31a8391 100644
--- a/kernel-headers/linux/msm_ion.h
+++ b/kernel-headers/linux/msm_ion.h
@@ -88,47 +88,57 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ION_FLAG_FORCE_CONTIGUOUS (1 << 30)
 #define ION_FLAG_POOL_FORCE_ALLOC (1 << 16)
+#define ION_FLAG_POOL_PREFETCH (1 << 27)
 #define ION_SECURE ION_FLAG_SECURE
-#define ION_FORCE_CONTIGUOUS ION_FLAG_FORCE_CONTIGUOUS
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_FORCE_CONTIGUOUS ION_FLAG_FORCE_CONTIGUOUS
 #define ION_HEAP(bit) (1 << (bit))
 #define ION_ADSP_HEAP_NAME "adsp"
 #define ION_SYSTEM_HEAP_NAME "system"
-#define ION_VMALLOC_HEAP_NAME ION_SYSTEM_HEAP_NAME
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_VMALLOC_HEAP_NAME ION_SYSTEM_HEAP_NAME
 #define ION_KMALLOC_HEAP_NAME "kmalloc"
 #define ION_AUDIO_HEAP_NAME "audio"
 #define ION_SF_HEAP_NAME "sf"
-#define ION_MM_HEAP_NAME "mm"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_MM_HEAP_NAME "mm"
 #define ION_CAMERA_HEAP_NAME "camera_preview"
 #define ION_IOMMU_HEAP_NAME "iommu"
 #define ION_MFC_HEAP_NAME "mfc"
-#define ION_WB_HEAP_NAME "wb"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_WB_HEAP_NAME "wb"
 #define ION_MM_FIRMWARE_HEAP_NAME "mm_fw"
 #define ION_PIL1_HEAP_NAME "pil_1"
 #define ION_PIL2_HEAP_NAME "pil_2"
-#define ION_QSECOM_HEAP_NAME "qsecom"
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_QSECOM_HEAP_NAME "qsecom"
 #define ION_SECURE_HEAP_NAME "secure_heap"
 #define ION_SECURE_DISPLAY_HEAP_NAME "secure_display"
 #define ION_SET_CACHED(__cache) (__cache | ION_FLAG_CACHED)
-#define ION_SET_UNCACHED(__cache) (__cache & ~ION_FLAG_CACHED)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ION_SET_UNCACHED(__cache) (__cache & ~ION_FLAG_CACHED)
 #define ION_IS_CACHED(__flags) ((__flags) & ION_FLAG_CACHED)
 struct ion_flush_data {
   ion_user_handle_t handle;
-  int fd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  int fd;
   void * vaddr;
   unsigned int offset;
   unsigned int length;
-};
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+};
+struct ion_prefetch_regions {
+  unsigned int vmid;
+  size_t __user * sizes;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  unsigned int nr_sizes;
+};
 struct ion_prefetch_data {
   int heap_id;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   unsigned long len;
+  struct ion_prefetch_regions __user * regions;
+  unsigned int nr_regions;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ION_IOC_MSM_MAGIC 'M'
diff --git a/kernel-headers/media/msm_cam_sensor.h b/kernel-headers/media/msm_cam_sensor.h
index 0c95ee8..790404b 100644
--- a/kernel-headers/media/msm_cam_sensor.h
+++ b/kernel-headers/media/msm_cam_sensor.h
@@ -459,9 +459,9 @@
   uint16_t init_setting_size;
   uint32_t i2c_addr;
   enum i2c_freq_mode_t i2c_freq_mode;
-  enum msm_actuator_addr_type i2c_addr_type;
+  enum msm_camera_i2c_reg_addr_type i2c_addr_type;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  enum msm_actuator_data_type i2c_data_type;
+  enum msm_camera_i2c_data_type i2c_data_type;
   struct msm_actuator_reg_params_t * reg_tbl_params;
   struct reg_settings_t * init_settings;
   struct park_lens_data_t park_lens;
diff --git a/kernel-headers/media/msm_camera.h b/kernel-headers/media/msm_camera.h
index 4692fae..e77828d 100644
--- a/kernel-headers/media/msm_camera.h
+++ b/kernel-headers/media/msm_camera.h
@@ -18,20 +18,10 @@
  ****************************************************************************/
 #ifndef __UAPI_MSM_CAMERA_H
 #define __UAPI_MSM_CAMERA_H
-#ifdef MSM_CAMERA_BIONIC
-#include <sys/types.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
 #include <linux/videodev2.h>
 #include <linux/types.h>
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #include <linux/ioctl.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#ifdef MSM_CAMERA_GCC
-#include <time.h>
-#else
-#include <linux/time.h>
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#endif
 #include <linux/msm_ion.h>
 #define BIT(nr) (1UL << (nr))
 #define MSM_CAM_IOCTL_MAGIC 'm'
@@ -586,7 +576,7 @@
 #define OUTPUT_VIDEO_ALL_CHNLS 9
 #define OUTPUT_ZSL_ALL_CHNLS 10
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
+#define LAST_AXI_OUTPUT_MODE_ENUM OUTPUT_ZSL_ALL_CHNLS
 #define OUTPUT_PRIM BIT(8)
 #define OUTPUT_PRIM_ALL_CHNLS BIT(9)
 #define OUTPUT_SEC BIT(10)
@@ -2018,7 +2008,7 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define VIDIOC_MSM_AXI_IRQ _IOWR('V', BASE_VIDIOC_PRIVATE + 21, void *)
 #define VIDIOC_MSM_AXI_BUF_CFG _IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
-#define VIDIOC_MSM_AXI_RDI_COUNT_UPDATE _IOWR('V', BASE_VIDIOC_PRIVATE + 23, struct rdi_count_msg)
+#define VIDIOC_MSM_AXI_RDI_COUNT_UPDATE _IOWR('V', BASE_VIDIOC_PRIVATE + 23, void *)
 #define VIDIOC_MSM_VFE_INIT _IO('V', BASE_VIDIOC_PRIVATE + 24)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define VIDIOC_MSM_VFE_RELEASE _IO('V', BASE_VIDIOC_PRIVATE + 25)
diff --git a/kernel-headers/media/msm_camsensor_sdk.h b/kernel-headers/media/msm_camsensor_sdk.h
index 71e1a10..74baaee 100644
--- a/kernel-headers/media/msm_camsensor_sdk.h
+++ b/kernel-headers/media/msm_camsensor_sdk.h
@@ -401,9 +401,9 @@
 struct reg_settings_t {
   unsigned short reg_addr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-  enum msm_actuator_addr_type addr_type;
+  enum msm_camera_i2c_reg_addr_type addr_type;
   unsigned short reg_data;
-  enum msm_actuator_data_type data_type;
+  enum msm_camera_i2c_data_type data_type;
   enum msm_actuator_i2c_operation i2c_operation;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   unsigned int delay;
diff --git a/original-kernel-headers/linux/msm_ion.h b/original-kernel-headers/linux/msm_ion.h
index 681e015..f4584ce 100644
--- a/original-kernel-headers/linux/msm_ion.h
+++ b/original-kernel-headers/linux/msm_ion.h
@@ -107,6 +107,9 @@
  */
 #define ION_FLAG_POOL_FORCE_ALLOC (1 << 16)
 
+
+#define ION_FLAG_POOL_PREFETCH (1 << 27)
+
 /**
 * Deprecated! Please use the corresponding ION_FLAG_*
 */
@@ -161,10 +164,18 @@
 	unsigned int length;
 };
 
+struct ion_prefetch_regions {
+	unsigned int vmid;
+	size_t __user *sizes;
+	unsigned int nr_sizes;
+};
 
 struct ion_prefetch_data {
 	int heap_id;
 	unsigned long len;
+	/* Is unsigned long bad? 32bit compiler vs 64 bit compiler*/
+	struct ion_prefetch_regions __user *regions;
+	unsigned int nr_regions;
 };
 
 #define ION_IOC_MSM_MAGIC 'M'
diff --git a/original-kernel-headers/media/msm_cam_sensor.h b/original-kernel-headers/media/msm_cam_sensor.h
index c534911..d83e008 100644
--- a/original-kernel-headers/media/msm_cam_sensor.h
+++ b/original-kernel-headers/media/msm_cam_sensor.h
@@ -409,8 +409,8 @@
 	uint16_t init_setting_size;
 	uint32_t i2c_addr;
 	enum i2c_freq_mode_t i2c_freq_mode;
-	enum msm_actuator_addr_type i2c_addr_type;
-	enum msm_actuator_data_type i2c_data_type;
+	enum msm_camera_i2c_reg_addr_type i2c_addr_type;
+	enum msm_camera_i2c_data_type i2c_data_type;
 	struct msm_actuator_reg_params_t *reg_tbl_params;
 	struct reg_settings_t *init_settings;
 	struct park_lens_data_t park_lens;
diff --git a/original-kernel-headers/media/msm_camera.h b/original-kernel-headers/media/msm_camera.h
index b15315d..10ee4b7 100644
--- a/original-kernel-headers/media/msm_camera.h
+++ b/original-kernel-headers/media/msm_camera.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2012, 2014-2015 The Linux Foundation. All rights reserved.
+/* Copyright (c) 2009-2012, 2014-2016 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
@@ -13,17 +13,9 @@
 #ifndef __UAPI_MSM_CAMERA_H
 #define __UAPI_MSM_CAMERA_H
 
-#ifdef MSM_CAMERA_BIONIC
-#include <sys/types.h>
-#endif
 #include <linux/videodev2.h>
 #include <linux/types.h>
 #include <linux/ioctl.h>
-#ifdef MSM_CAMERA_GCC
-#include <time.h>
-#else
-#include <linux/time.h>
-#endif
 
 #include <linux/msm_ion.h>
 
@@ -690,7 +682,7 @@
 #define OUTPUT_ALL_CHNLS 8
 #define OUTPUT_VIDEO_ALL_CHNLS 9
 #define OUTPUT_ZSL_ALL_CHNLS 10
-#define LAST_AXI_OUTPUT_MODE_ENUM = OUTPUT_ZSL_ALL_CHNLS
+#define LAST_AXI_OUTPUT_MODE_ENUM OUTPUT_ZSL_ALL_CHNLS
 
 #define OUTPUT_PRIM              BIT(8)
 #define OUTPUT_PRIM_ALL_CHNLS    BIT(9)
@@ -2070,7 +2062,7 @@
 	_IOWR('V', BASE_VIDIOC_PRIVATE + 22, void *)
 
 #define VIDIOC_MSM_AXI_RDI_COUNT_UPDATE \
-	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, struct rdi_count_msg)
+	_IOWR('V', BASE_VIDIOC_PRIVATE + 23, void *)
 
 #define VIDIOC_MSM_VFE_INIT \
 	_IO('V', BASE_VIDIOC_PRIVATE + 24)
@@ -2229,5 +2221,4 @@
 	((handle & 0x80) ? (handle & 0x7F) : 0xFF)
 #define SET_VIDEO_INST_IDX(handle, data)	\
 	(handle |= (0x1 << 7) | (data & 0x7F))
-
-#endif /* __UAPI_MSM_CAMERA_H */
+#endif
diff --git a/original-kernel-headers/media/msm_camsensor_sdk.h b/original-kernel-headers/media/msm_camsensor_sdk.h
index eab853b..3985e97 100644
--- a/original-kernel-headers/media/msm_camsensor_sdk.h
+++ b/original-kernel-headers/media/msm_camsensor_sdk.h
@@ -367,9 +367,9 @@
 
 struct reg_settings_t {
 	unsigned short reg_addr;
-	enum msm_actuator_addr_type addr_type;
+	enum msm_camera_i2c_reg_addr_type addr_type;
 	unsigned short reg_data;
-	enum msm_actuator_data_type data_type;
+	enum msm_camera_i2c_data_type data_type;
 	enum msm_actuator_i2c_operation i2c_operation;
 	unsigned int delay;
 };