summaryrefslogtreecommitdiffstats
path: root/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc')
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c120
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h33
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h46
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc_param.h20
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c156
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h33
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h49
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h55
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c63
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h36
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h44
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c215
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h24
-rw-r--r--drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h110
14 files changed, 0 insertions, 1004 deletions
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c
deleted file mode 100644
index e27648c46a25..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#include "ia_css_types.h"
-#include "sh_css_defs.h"
-#include "ia_css_debug.h"
-#include "assert_support.h"
-
-#include "ctc/ctc_1.0/ia_css_ctc.host.h"
-#include "ia_css_ctc1_5.host.h"
-
-static void ctc_gradient(
- int *dydx, int *shift,
- int y1, int y0, int x1, int x0)
-{
- int frc_bits = max(IA_CSS_CTC_COEF_SHIFT, 16);
- int dy = y1 - y0;
- int dx = x1 - x0;
- int dydx_int;
- int dydx_frc;
- int sft;
- /* max_dydx = the maxinum gradient = the maximum y (gain) */
- int max_dydx = (1 << IA_CSS_CTC_COEF_SHIFT) - 1;
-
- if (dx == 0) {
- ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ctc_gradient() error, illegal division operation\n");
- return;
- } else {
- dydx_int = dy / dx;
- dydx_frc = ((dy - dydx_int * dx) << frc_bits) / dx;
- }
-
- assert(y0 >= 0 && y0 <= max_dydx);
- assert(y1 >= 0 && y1 <= max_dydx);
- assert(x0 < x1);
- assert(dydx != NULL);
- assert(shift != NULL);
-
- ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ctc_gradient() enter:\n");
-
- /* search "sft" which meets this condition:
- (1 << (IA_CSS_CTC_COEF_SHIFT - 1))
- <= (((float)dy / (float)dx) * (1 << sft))
- <= ((1 << IA_CSS_CTC_COEF_SHIFT) - 1) */
- for (sft = 0; sft <= IA_CSS_CTC_COEF_SHIFT; sft++) {
- int tmp_dydx = (dydx_int << sft)
- + (dydx_frc >> (frc_bits - sft));
- if (tmp_dydx <= max_dydx) {
- *dydx = tmp_dydx;
- *shift = sft;
- }
- if (tmp_dydx >= max_dydx)
- break;
- }
-
- ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ctc_gradient() leave:\n");
-}
-
-void
-ia_css_ctc_encode(
- struct sh_css_isp_ctc_params *to,
- const struct ia_css_ctc_config *from,
- unsigned size)
-{
- (void)size;
- to->y0 = from->y0;
- to->y1 = from->y1;
- to->y2 = from->y2;
- to->y3 = from->y3;
- to->y4 = from->y4;
- to->y5 = from->y5;
-
- to->ce_gain_exp = from->ce_gain_exp;
-
- to->x1 = from->x1;
- to->x2 = from->x2;
- to->x3 = from->x3;
- to->x4 = from->x4;
-
- ctc_gradient(&(to->dydx0),
- &(to->dydx0_shift),
- from->y1, from->y0,
- from->x1, 0);
-
- ctc_gradient(&(to->dydx1),
- &(to->dydx1_shift),
- from->y2, from->y1,
- from->x2, from->x1);
-
- ctc_gradient(&to->dydx2,
- &to->dydx2_shift,
- from->y3, from->y2,
- from->x3, from->x2);
-
- ctc_gradient(&to->dydx3,
- &to->dydx3_shift,
- from->y4, from->y3,
- from->x4, from->x3);
-
- ctc_gradient(&(to->dydx4),
- &(to->dydx4_shift),
- from->y5, from->y4,
- SH_CSS_BAYER_MAXVAL, from->x4);
-}
-
-void
-ia_css_ctc_dump(
- const struct sh_css_isp_ctc_params *ctc,
- unsigned level);
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h
deleted file mode 100644
index d943aff28152..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC1_5_HOST_H
-#define __IA_CSS_CTC1_5_HOST_H
-
-#include "sh_css_params.h"
-
-#include "ia_css_ctc1_5_param.h"
-
-void
-ia_css_ctc_encode(
- struct sh_css_isp_ctc_params *to,
- const struct ia_css_ctc_config *from,
- unsigned size);
-
-void
-ia_css_ctc_dump(
- const struct sh_css_isp_ctc_params *ctc,
- unsigned level);
-
-#endif /* __IA_CSS_CTC1_5_HOST_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h
deleted file mode 100644
index 8d9ac2b1832c..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc1_5_param.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC1_5_PARAM_H
-#define __IA_CSS_CTC1_5_PARAM_H
-
-#include "type_support.h"
-#include "ctc/ctc_1.0/ia_css_ctc_param.h" /* vamem params */
-
-/* CTC (Color Tone Control) */
-struct sh_css_isp_ctc_params {
- int32_t y0;
- int32_t y1;
- int32_t y2;
- int32_t y3;
- int32_t y4;
- int32_t y5;
- int32_t ce_gain_exp;
- int32_t x1;
- int32_t x2;
- int32_t x3;
- int32_t x4;
- int32_t dydx0;
- int32_t dydx0_shift;
- int32_t dydx1;
- int32_t dydx1_shift;
- int32_t dydx2;
- int32_t dydx2_shift;
- int32_t dydx3;
- int32_t dydx3_shift;
- int32_t dydx4;
- int32_t dydx4_shift;
-};
-
-#endif /* __IA_CSS_CTC1_5_PARAM_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc_param.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc_param.h
deleted file mode 100644
index dcd471f9bd66..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc1_5/ia_css_ctc_param.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTCX_PARAM_H
-#define __IA_CSS_CTCX_PARAM_H
-
-#include "ia_css_ctc1_5_param.h"
-
-#endif /* __IA_CSS_CTCX_PARAM_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c
deleted file mode 100644
index 07bd24edc7bf..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#include "ia_css_types.h"
-#include "sh_css_defs.h"
-#include "assert_support.h"
-
-#include "ia_css_ctc2.host.h"
-
-#define INEFFECTIVE_VAL 4096
-#define BASIC_VAL 819
-
-/*Default configuration of parameters for Ctc2*/
-const struct ia_css_ctc2_config default_ctc2_config = {
- INEFFECTIVE_VAL, INEFFECTIVE_VAL, INEFFECTIVE_VAL,
- INEFFECTIVE_VAL, INEFFECTIVE_VAL, INEFFECTIVE_VAL,
- BASIC_VAL * 2, BASIC_VAL * 4, BASIC_VAL * 6,
- BASIC_VAL * 8, INEFFECTIVE_VAL, INEFFECTIVE_VAL,
- BASIC_VAL >> 1, BASIC_VAL};
-
-/* (dydx) = ctc2_slope(y1, y0, x1, x0)
- * -----------------------------------------------
- * Calculation of the Slope of a Line = ((y1 - y0) >> 8)/(x1 - x0)
- *
- * Note: y1, y0 , x1 & x0 must lie within the range 0 <-> 8191
- */
-static int ctc2_slope(int y1, int y0, int x1, int x0)
-{
- const int shift_val = 8;
- const int max_slope = (1 << IA_CSS_CTC_COEF_SHIFT) - 1;
- int dy = y1 - y0;
- int dx = x1 - x0;
- int rounding = (dx + 1) >> 1;
- int dy_shift = dy << shift_val;
- int slope, dydx;
-
- /*Protection for paramater values, & avoiding zero divisions*/
- assert(y0 >= 0 && y0 <= max_slope);
- assert(y1 >= 0 && y1 <= max_slope);
- assert(x0 >= 0 && x0 <= max_slope);
- assert(x1 > 0 && x1 <= max_slope);
- assert(dx > 0);
-
- if (dy < 0)
- rounding = -rounding;
- slope = (int) (dy_shift + rounding) / dx;
-
- /*the slope must lie within the range
- (-max_slope-1) >= (dydx) >= (max_slope)
- */
- if (slope <= -max_slope-1) {
- dydx = -max_slope-1;
- } else if (slope >= max_slope) {
- dydx = max_slope;
- } else {
- dydx = slope;
- }
-
- return dydx;
-}
-
-/* (void) = ia_css_ctc2_vmem_encode(*to, *from)
- * -----------------------------------------------
- * VMEM Encode Function to translate Y parameters from userspace into ISP space
- */
-void ia_css_ctc2_vmem_encode(struct ia_css_isp_ctc2_vmem_params *to,
- const struct ia_css_ctc2_config *from,
- size_t size)
-{
- unsigned i, j;
- const unsigned shffl_blck = 4;
- const unsigned lenght_zeros = 11;
- short dydx0, dydx1, dydx2, dydx3, dydx4;
-
- (void)size;
- /*
- * Calculation of slopes of lines interconnecting
- * 0.0 -> y_x1 -> y_x2 -> y _x3 -> y_x4 -> 1.0
- */
- dydx0 = ctc2_slope(from->y_y1, from->y_y0,
- from->y_x1, 0);
- dydx1 = ctc2_slope(from->y_y2, from->y_y1,
- from->y_x2, from->y_x1);
- dydx2 = ctc2_slope(from->y_y3, from->y_y2,
- from->y_x3, from->y_x2);
- dydx3 = ctc2_slope(from->y_y4, from->y_y3,
- from->y_x4, from->y_x3);
- dydx4 = ctc2_slope(from->y_y5, from->y_y4,
- SH_CSS_BAYER_MAXVAL, from->y_x4);
-
- /*Fill 3 arrays with:
- * - Luma input gain values y_y0, y_y1, y_y2, y_3, y_y4
- * - Luma kneepoints 0, y_x1, y_x2, y_x3, y_x4
- * - Calculated slopes dydx0, dyxd1, dydx2, dydx3, dydx4
- *
- * - Each 64-element array is divided in blocks of 16 elements:
- * the 5 parameters + zeros in the remaining 11 positions
- * - All blocks of the same array will contain the same data
- */
- for (i = 0; i < shffl_blck; i++) {
- to->y_x[0][(i << shffl_blck)] = 0;
- to->y_x[0][(i << shffl_blck) + 1] = from->y_x1;
- to->y_x[0][(i << shffl_blck) + 2] = from->y_x2;
- to->y_x[0][(i << shffl_blck) + 3] = from->y_x3;
- to->y_x[0][(i << shffl_blck) + 4] = from->y_x4;
-
- to->y_y[0][(i << shffl_blck)] = from->y_y0;
- to->y_y[0][(i << shffl_blck) + 1] = from->y_y1;
- to->y_y[0][(i << shffl_blck) + 2] = from->y_y2;
- to->y_y[0][(i << shffl_blck) + 3] = from->y_y3;
- to->y_y[0][(i << shffl_blck) + 4] = from->y_y4;
-
- to->e_y_slope[0][(i << shffl_blck)] = dydx0;
- to->e_y_slope[0][(i << shffl_blck) + 1] = dydx1;
- to->e_y_slope[0][(i << shffl_blck) + 2] = dydx2;
- to->e_y_slope[0][(i << shffl_blck) + 3] = dydx3;
- to->e_y_slope[0][(i << shffl_blck) + 4] = dydx4;
-
- for (j = 0; j < lenght_zeros; j++) {
- to->y_x[0][(i << shffl_blck) + 5 + j] = 0;
- to->y_y[0][(i << shffl_blck) + 5 + j] = 0;
- to->e_y_slope[0][(i << shffl_blck)+ 5 + j] = 0;
- }
- }
-}
-
-/* (void) = ia_css_ctc2_encode(*to, *from)
- * -----------------------------------------------
- * DMEM Encode Function to translate UV parameters from userspace into ISP space
- */
-void ia_css_ctc2_encode(struct ia_css_isp_ctc2_dmem_params *to,
- struct ia_css_ctc2_config *from,
- size_t size)
-{
- (void)size;
-
- to->uv_y0 = from->uv_y0;
- to->uv_y1 = from->uv_y1;
- to->uv_x0 = from->uv_x0;
- to->uv_x1 = from->uv_x1;
-
- /*Slope Calculation*/
- to->uv_dydx = ctc2_slope(from->uv_y1, from->uv_y0,
- from->uv_x1, from->uv_x0);
-}
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h
deleted file mode 100644
index 3733aee24dcd..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2.host.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC2_HOST_H
-#define __IA_CSS_CTC2_HOST_H
-
-#include "ia_css_ctc2_param.h"
-#include "ia_css_ctc2_types.h"
-
-extern const struct ia_css_ctc2_config default_ctc2_config;
-
-/*Encode Functions to translate parameters from userspace into ISP space*/
-
-void ia_css_ctc2_vmem_encode(struct ia_css_isp_ctc2_vmem_params *to,
- const struct ia_css_ctc2_config *from,
- size_t size);
-
-void ia_css_ctc2_encode(struct ia_css_isp_ctc2_dmem_params *to,
- struct ia_css_ctc2_config *from,
- size_t size);
-
-#endif /* __IA_CSS_CTC2_HOST_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h
deleted file mode 100644
index ad7040c9d7cb..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_param.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC2_PARAM_H
-#define __IA_CSS_CTC2_PARAM_H
-
-#define IA_CSS_CTC_COEF_SHIFT 13
-#include "vmem.h" /* needed for VMEM_ARRAY */
-
-/* CTC (Chroma Tone Control)ISP Parameters */
-
-/*VMEM Luma params*/
-struct ia_css_isp_ctc2_vmem_params {
- /** Gains by Y(Luma) at Y = 0.0,Y_X1, Y_X2, Y_X3, Y_X4*/
- VMEM_ARRAY(y_x, ISP_VEC_NELEMS);
- /* kneepoints by Y(Luma) 0.0, y_x1, y_x2, y _x3, y_x4*/
- VMEM_ARRAY(y_y, ISP_VEC_NELEMS);
- /* Slopes of lines interconnecting
- * 0.0 -> y_x1 -> y_x2 -> y _x3 -> y_x4 -> 1.0*/
- VMEM_ARRAY(e_y_slope, ISP_VEC_NELEMS);
-};
-
-/*DMEM Chroma params*/
-struct ia_css_isp_ctc2_dmem_params {
-
- /* Gains by UV(Chroma) under kneepoints uv_x0 and uv_x1*/
- int32_t uv_y0;
- int32_t uv_y1;
-
- /* Kneepoints by UV(Chroma)- uv_x0 and uv_x1*/
- int32_t uv_x0;
- int32_t uv_x1;
-
- /* Slope of line interconnecting uv_x0 -> uv_x1*/
- int32_t uv_dydx;
-
-};
-#endif /* __IA_CSS_CTC2_PARAM_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h
deleted file mode 100644
index 1222cf33e851..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc2/ia_css_ctc2_types.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC2_TYPES_H
-#define __IA_CSS_CTC2_TYPES_H
-
-/* Chroma Tone Control configuration.
-*
-* ISP block: CTC2 (CTC by polygonal approximation)
-* (ISP1: CTC1 (CTC by look-up table) is used.)
-* ISP2: CTC2 is used.
-* ISP261: CTC2 (CTC by Fast Approximate Distance)
-*/
-struct ia_css_ctc2_config {
-
- /** Gains by Y(Luma) at Y =0.0,Y_X1, Y_X2, Y_X3, Y_X4 and Y_X5
- * --default/ineffective value: 4096(0.5f)
- */
- int32_t y_y0;
- int32_t y_y1;
- int32_t y_y2;
- int32_t y_y3;
- int32_t y_y4;
- int32_t y_y5;
- /* 1st-4th kneepoints by Y(Luma) --default/ineffective value:n/a
- * requirement: 0.0 < y_x1 < y_x2 <y _x3 < y_x4 < 1.0
- */
- int32_t y_x1;
- int32_t y_x2;
- int32_t y_x3;
- int32_t y_x4;
- /* Gains by UV(Chroma) under threholds uv_x0 and uv_x1
- * --default/ineffective value: 4096(0.5f)
- */
- int32_t uv_y0;
- int32_t uv_y1;
- /* Minimum and Maximum Thresholds by UV(Chroma)- uv_x0 and uv_x1
- * --default/ineffective value: n/a
- */
- int32_t uv_x0;
- int32_t uv_x1;
- };
-
-#endif /* __IA_CSS_CTC2_TYPES_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c
deleted file mode 100644
index 7c1a367918a0..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#include "ia_css_types.h"
-#include "sh_css_defs.h"
-#include "ia_css_debug.h"
-#include "assert_support.h"
-
-#include "ia_css_ctc.host.h"
-
-const struct ia_css_ctc_config default_ctc_config = {
- ((1 << IA_CSS_CTC_COEF_SHIFT) + 1) / 2, /* 0.5 */
- ((1 << IA_CSS_CTC_COEF_SHIFT) + 1) / 2, /* 0.5 */
- ((1 << IA_CSS_CTC_COEF_SHIFT) + 1) / 2, /* 0.5 */
- ((1 << IA_CSS_CTC_COEF_SHIFT) + 1) / 2, /* 0.5 */
- ((1 << IA_CSS_CTC_COEF_SHIFT) + 1) / 2, /* 0.5 */
- ((1 << IA_CSS_CTC_COEF_SHIFT) + 1) / 2, /* 0.5 */
- 1,
- SH_CSS_BAYER_MAXVAL / 5, /* To be implemented */
- SH_CSS_BAYER_MAXVAL * 2 / 5, /* To be implemented */
- SH_CSS_BAYER_MAXVAL * 3 / 5, /* To be implemented */
- SH_CSS_BAYER_MAXVAL * 4 / 5, /* To be implemented */
-};
-
-void
-ia_css_ctc_vamem_encode(
- struct sh_css_isp_ctc_vamem_params *to,
- const struct ia_css_ctc_table *from,
- unsigned size)
-{
- (void)size;
- memcpy (&to->ctc, &from->data, sizeof(to->ctc));
-}
-
-void
-ia_css_ctc_debug_dtrace(
- const struct ia_css_ctc_config *config,
- unsigned level)
-{
- ia_css_debug_dtrace(level,
- "config.ce_gain_exp=%d, config.y0=%d, "
- "config.x1=%d, config.y1=%d, "
- "config.x2=%d, config.y2=%d, "
- "config.x3=%d, config.y3=%d, "
- "config.x4=%d, config.y4=%d\n",
- config->ce_gain_exp, config->y0,
- config->x1, config->y1,
- config->x2, config->y2,
- config->x3, config->y3,
- config->x4, config->y4);
-}
-
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h
deleted file mode 100644
index bec52a6519f9..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC_HOST_H
-#define __IA_CSS_CTC_HOST_H
-
-#include "sh_css_params.h"
-
-#include "ia_css_ctc_param.h"
-#include "ia_css_ctc_table.host.h"
-
-extern const struct ia_css_ctc_config default_ctc_config;
-
-void
-ia_css_ctc_vamem_encode(
- struct sh_css_isp_ctc_vamem_params *to,
- const struct ia_css_ctc_table *from,
- unsigned size);
-
-void
-ia_css_ctc_debug_dtrace(
- const struct ia_css_ctc_config *config, unsigned level)
-;
-
-#endif /* __IA_CSS_CTC_HOST_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h
deleted file mode 100644
index 6e88ad3d2420..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_param.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC_PARAM_H
-#define __IA_CSS_CTC_PARAM_H
-
-#include "type_support.h"
-#include <system_global.h>
-
-#include "ia_css_ctc_types.h"
-
-#ifndef PIPE_GENERATION
-#if defined(HAS_VAMEM_VERSION_2)
-#define SH_CSS_ISP_CTC_TABLE_SIZE_LOG2 IA_CSS_VAMEM_2_CTC_TABLE_SIZE_LOG2
-#define SH_CSS_ISP_CTC_TABLE_SIZE IA_CSS_VAMEM_2_CTC_TABLE_SIZE
-#elif defined(HAS_VAMEM_VERSION_1)
-#define SH_CSS_ISP_CTC_TABLE_SIZE_LOG2 IA_CSS_VAMEM_1_CTC_TABLE_SIZE_LOG2
-#define SH_CSS_ISP_CTC_TABLE_SIZE IA_CSS_VAMEM_1_CTC_TABLE_SIZE
-#else
-#error "VAMEM should be {VERSION1, VERSION2}"
-#endif
-
-#else
-/* For pipe generation, the size is not relevant */
-#define SH_CSS_ISP_CTC_TABLE_SIZE 0
-#endif
-
-/* This should be vamem_data_t, but that breaks the pipe generator */
-struct sh_css_isp_ctc_vamem_params {
- uint16_t ctc[SH_CSS_ISP_CTC_TABLE_SIZE];
-};
-
-#endif /* __IA_CSS_CTC_PARAM_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c
deleted file mode 100644
index edf85aba7716..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#include <type_support.h>
-#include <string_support.h> /* memcpy */
-#include "system_global.h"
-#include "vamem.h"
-#include "ia_css_types.h"
-#include "ia_css_ctc_table.host.h"
-
-struct ia_css_ctc_table default_ctc_table;
-
-#if defined(HAS_VAMEM_VERSION_2)
-
-static const uint16_t
-default_ctc_table_data[IA_CSS_VAMEM_2_CTC_TABLE_SIZE] = {
- 0, 384, 837, 957, 1011, 1062, 1083, 1080,
-1078, 1077, 1053, 1039, 1012, 992, 969, 951,
- 929, 906, 886, 866, 845, 823, 809, 790,
- 772, 758, 741, 726, 711, 701, 688, 675,
- 666, 656, 648, 639, 633, 626, 618, 612,
- 603, 594, 582, 572, 557, 545, 529, 516,
- 504, 491, 480, 467, 459, 447, 438, 429,
- 419, 412, 404, 397, 389, 382, 376, 368,
- 363, 357, 351, 345, 340, 336, 330, 326,
- 321, 318, 312, 308, 304, 300, 297, 294,
- 291, 286, 284, 281, 278, 275, 271, 268,
- 261, 257, 251, 245, 240, 235, 232, 225,
- 223, 218, 213, 209, 206, 204, 199, 197,
- 193, 189, 186, 185, 183, 179, 177, 175,
- 172, 170, 169, 167, 164, 164, 162, 160,
- 158, 157, 156, 154, 154, 152, 151, 150,
- 149, 148, 146, 147, 146, 144, 143, 143,
- 142, 141, 140, 141, 139, 138, 138, 138,
- 137, 136, 136, 135, 134, 134, 134, 133,
- 132, 132, 131, 130, 131, 130, 129, 128,
- 129, 127, 127, 127, 127, 125, 125, 125,
- 123, 123, 122, 120, 118, 115, 114, 111,
- 110, 108, 106, 105, 103, 102, 100, 99,
- 97, 97, 96, 95, 94, 93, 93, 91,
- 91, 91, 90, 90, 89, 89, 88, 88,
- 89, 88, 88, 87, 87, 87, 87, 86,
- 87, 87, 86, 87, 86, 86, 84, 84,
- 82, 80, 78, 76, 74, 72, 70, 68,
- 67, 65, 62, 60, 58, 56, 55, 54,
- 53, 51, 49, 49, 47, 45, 45, 45,
- 41, 40, 39, 39, 34, 33, 34, 32,
- 25, 23, 24, 20, 13, 9, 12, 0,
- 0
-};
-
-#elif defined(HAS_VAMEM_VERSION_1)
-
-/* Default Parameters */
-static const uint16_t
-default_ctc_table_data[IA_CSS_VAMEM_1_CTC_TABLE_SIZE] = {
- 0, 0, 256, 384, 384, 497, 765, 806,
- 837, 851, 888, 901, 957, 981, 993, 1001,
- 1011, 1029, 1028, 1039, 1062, 1059, 1073, 1080,
- 1083, 1085, 1085, 1098, 1080, 1084, 1085, 1093,
- 1078, 1073, 1070, 1069, 1077, 1066, 1072, 1063,
- 1053, 1044, 1046, 1053, 1039, 1028, 1025, 1024,
- 1012, 1013, 1016, 996, 992, 990, 990, 980,
- 969, 968, 961, 955, 951, 949, 933, 930,
- 929, 925, 921, 916, 906, 901, 895, 893,
- 886, 877, 872, 869, 866, 861, 857, 849,
- 845, 838, 836, 832, 823, 821, 815, 813,
- 809, 805, 796, 793, 790, 785, 784, 778,
- 772, 768, 766, 763, 758, 752, 749, 745,
- 741, 740, 736, 730, 726, 724, 723, 718,
- 711, 709, 706, 704, 701, 698, 691, 689,
- 688, 683, 683, 678, 675, 673, 671, 669,
- 666, 663, 661, 660, 656, 656, 653, 650,
- 648, 647, 646, 643, 639, 638, 637, 635,
- 633, 632, 629, 627, 626, 625, 622, 621,
- 618, 618, 614, 614, 612, 609, 606, 606,
- 603, 600, 600, 597, 594, 591, 590, 586,
- 582, 581, 578, 575, 572, 569, 563, 560,
- 557, 554, 551, 548, 545, 539, 536, 533,
- 529, 527, 524, 519, 516, 513, 510, 507,
- 504, 501, 498, 493, 491, 488, 485, 484,
- 480, 476, 474, 471, 467, 466, 464, 460,
- 459, 455, 453, 449, 447, 446, 443, 441,
- 438, 435, 432, 432, 429, 427, 426, 422,
- 419, 418, 416, 414, 412, 410, 408, 406,
- 404, 402, 401, 398, 397, 395, 393, 390,
- 389, 388, 387, 384, 382, 380, 378, 377,
- 376, 375, 372, 370, 368, 368, 366, 364,
- 363, 361, 360, 358, 357, 355, 354, 352,
- 351, 350, 349, 346, 345, 344, 344, 342,
- 340, 339, 337, 337, 336, 335, 333, 331,
- 330, 329, 328, 326, 326, 324, 324, 322,
- 321, 320, 318, 318, 318, 317, 315, 313,
- 312, 311, 311, 310, 308, 307, 306, 306,
- 304, 304, 302, 301, 300, 300, 299, 297,
- 297, 296, 296, 294, 294, 292, 291, 291,
- 291, 290, 288, 287, 286, 286, 287, 285,
- 284, 283, 282, 282, 281, 281, 279, 278,
- 278, 278, 276, 276, 275, 274, 274, 273,
- 271, 270, 269, 268, 268, 267, 265, 262,
- 261, 260, 260, 259, 257, 254, 252, 252,
- 251, 251, 249, 246, 245, 244, 243, 242,
- 240, 239, 239, 237, 235, 235, 233, 231,
- 232, 230, 229, 226, 225, 224, 225, 224,
- 223, 220, 219, 219, 218, 217, 217, 214,
- 213, 213, 212, 211, 209, 209, 209, 208,
- 206, 205, 204, 203, 204, 203, 201, 200,
- 199, 197, 198, 198, 197, 195, 194, 194,
- 193, 192, 192, 191, 189, 190, 189, 188,
- 186, 187, 186, 185, 185, 184, 183, 181,
- 183, 182, 181, 180, 179, 178, 178, 178,
- 177, 176, 175, 176, 175, 174, 174, 173,
- 172, 173, 172, 171, 170, 170, 169, 169,
- 169, 168, 167, 166, 167, 167, 166, 165,
- 164, 164, 164, 163, 164, 163, 162, 163,
- 162, 161, 160, 161, 160, 160, 160, 159,
- 158, 157, 158, 158, 157, 157, 156, 156,
- 156, 156, 155, 155, 154, 154, 154, 154,
- 154, 153, 152, 153, 152, 152, 151, 152,
- 151, 152, 151, 150, 150, 149, 149, 150,
- 149, 149, 148, 148, 148, 149, 148, 147,
- 146, 146, 147, 146, 147, 146, 145, 146,
- 146, 145, 144, 145, 144, 145, 144, 144,
- 143, 143, 143, 144, 143, 142, 142, 142,
- 142, 142, 142, 141, 141, 141, 141, 140,
- 140, 141, 140, 140, 141, 140, 139, 139,
- 139, 140, 139, 139, 138, 138, 137, 139,
- 138, 138, 138, 137, 138, 137, 137, 137,
- 137, 136, 137, 136, 136, 136, 136, 135,
- 136, 135, 135, 135, 135, 136, 135, 135,
- 134, 134, 133, 135, 134, 134, 134, 133,
- 134, 133, 134, 133, 133, 132, 133, 133,
- 132, 133, 132, 132, 132, 132, 131, 131,
- 131, 132, 131, 131, 130, 131, 130, 132,
- 131, 130, 130, 129, 130, 129, 130, 129,
- 129, 129, 130, 129, 128, 128, 128, 128,
- 129, 128, 128, 127, 127, 128, 128, 127,
- 127, 126, 126, 127, 127, 126, 126, 126,
- 127, 126, 126, 126, 125, 125, 126, 125,
- 125, 124, 124, 124, 125, 125, 124, 124,
- 123, 124, 124, 123, 123, 122, 122, 122,
- 122, 122, 121, 120, 120, 119, 118, 118,
- 118, 117, 117, 116, 115, 115, 115, 114,
- 114, 113, 113, 112, 111, 111, 111, 110,
- 110, 109, 109, 108, 108, 108, 107, 107,
- 106, 106, 105, 105, 105, 104, 104, 103,
- 103, 102, 102, 102, 102, 101, 101, 100,
- 100, 99, 99, 99, 99, 99, 99, 98,
- 97, 98, 97, 97, 97, 96, 96, 95,
- 96, 95, 96, 95, 95, 94, 94, 95,
- 94, 94, 94, 93, 93, 92, 93, 93,
- 93, 93, 92, 92, 91, 92, 92, 92,
- 91, 91, 90, 90, 91, 91, 91, 90,
- 90, 90, 90, 91, 90, 90, 90, 89,
- 89, 89, 90, 89, 89, 89, 89, 89,
- 88, 89, 89, 88, 88, 88, 88, 87,
- 89, 88, 88, 88, 88, 88, 87, 88,
- 88, 88, 87, 87, 87, 87, 87, 88,
- 87, 87, 87, 87, 87, 87, 88, 87,
- 87, 87, 87, 86, 86, 87, 87, 87,
- 87, 86, 86, 86, 87, 87, 86, 87,
- 86, 86, 86, 87, 87, 86, 86, 86,
- 86, 86, 87, 87, 86, 85, 85, 85,
- 84, 85, 85, 84, 84, 83, 83, 82,
- 82, 82, 81, 81, 80, 79, 79, 79,
- 78, 77, 77, 76, 76, 76, 75, 74,
- 74, 74, 73, 73, 72, 71, 71, 71,
- 70, 70, 69, 69, 68, 68, 67, 67,
- 67, 66, 66, 65, 65, 64, 64, 63,
- 62, 62, 62, 61, 60, 60, 59, 59,
- 58, 58, 57, 57, 56, 56, 56, 55,
- 55, 54, 55, 55, 54, 53, 53, 52,
- 53, 53, 52, 51, 51, 50, 51, 50,
- 49, 49, 50, 49, 49, 48, 48, 47,
- 47, 48, 46, 45, 45, 45, 46, 45,
- 45, 44, 45, 45, 45, 43, 42, 42,
- 41, 43, 41, 40, 40, 39, 40, 41,
- 39, 39, 39, 39, 39, 38, 35, 35,
- 34, 37, 36, 34, 33, 33, 33, 35,
- 34, 32, 32, 31, 32, 30, 29, 26,
- 25, 25, 27, 26, 23, 23, 23, 25,
- 24, 24, 22, 21, 20, 19, 16, 14,
- 13, 13, 13, 10, 9, 7, 7, 7,
- 12, 12, 12, 7, 0, 0, 0, 0
-};
-
-#else
-#error "VAMEM version must be one of {VAMEM_VERSION_1, VAMEM_VERSION_2}"
-#endif
-
-void
-ia_css_config_ctc_table(void)
-{
-#if defined(HAS_VAMEM_VERSION_2)
- memcpy(default_ctc_table.data.vamem_2, default_ctc_table_data,
- sizeof(default_ctc_table_data));
- default_ctc_table.vamem_type = IA_CSS_VAMEM_TYPE_2;
-#else
- memcpy(default_ctc_table.data.vamem_1, default_ctc_table_data,
- sizeof(default_ctc_table_data));
- default_ctc_table.vamem_type = 1IA_CSS_VAMEM_TYPE_1;
-#endif
-}
-
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h
deleted file mode 100644
index a350dec8b4ad..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_table.host.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC_TABLE_HOST_H
-#define __IA_CSS_CTC_TABLE_HOST_H
-
-#include "ia_css_ctc_types.h"
-
-extern struct ia_css_ctc_table default_ctc_table;
-
-void ia_css_config_ctc_table(void);
-
-#endif /* __IA_CSS_CTC_TABLE_HOST_H */
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h b/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h
deleted file mode 100644
index 4ac47ce10566..000000000000
--- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/isp/kernels/ctc/ctc_1.0/ia_css_ctc_types.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Support for Intel Camera Imaging ISP subsystem.
- * Copyright (c) 2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef __IA_CSS_CTC_TYPES_H
-#define __IA_CSS_CTC_TYPES_H
-
-/* @file
-* CSS-API header file for Chroma Tone Control parameters.
-*/
-
-/* Fractional bits for CTC gain (used only for ISP1).
- *
- * IA_CSS_CTC_COEF_SHIFT(=13) includes not only the fractional bits
- * of gain(=8), but also the bits(=5) to convert chroma
- * from 13bit precision to 8bit precision.
- *
- * Gain (struct ia_css_ctc_table) : u5.8
- * Input(Chorma) : s0.12 (13bit precision)
- * Output(Chorma): s0.7 (8bit precision)
- * Output = (Input * Gain) >> IA_CSS_CTC_COEF_SHIFT
- */
-#define IA_CSS_CTC_COEF_SHIFT 13
-
-/* Number of elements in the CTC table. */
-#define IA_CSS_VAMEM_1_CTC_TABLE_SIZE_LOG2 10
-/* Number of elements in the CTC table. */
-#define IA_CSS_VAMEM_1_CTC_TABLE_SIZE (1U<<IA_CSS_VAMEM_1_CTC_TABLE_SIZE_LOG2)
-
-/* Number of elements in the CTC table. */
-#define IA_CSS_VAMEM_2_CTC_TABLE_SIZE_LOG2 8
-/* Number of elements in the CTC table. */
-#define IA_CSS_VAMEM_2_CTC_TABLE_SIZE ((1U<<IA_CSS_VAMEM_2_CTC_TABLE_SIZE_LOG2) + 1)
-
-enum ia_css_vamem_type {
- IA_CSS_VAMEM_TYPE_1,
- IA_CSS_VAMEM_TYPE_2
-};
-
-/* Chroma Tone Control configuration.
- *
- * ISP block: CTC2 (CTC by polygonal line approximation)
- * (ISP1: CTC1 (CTC by look-up table) is used.)
- * ISP2: CTC2 is used.
- */
-struct ia_css_ctc_config {
- uint16_t y0; /** 1st kneepoint gain.
- u[ce_gain_exp].[13-ce_gain_exp], [0,8191],
- default/ineffective 4096(0.5) */
- uint16_t y1; /** 2nd kneepoint gain.
- u[ce_gain_exp].[13-ce_gain_exp], [0,8191],
- default/ineffective 4096(0.5) */
- uint16_t y2; /** 3rd kneepoint gain.
- u[ce_gain_exp].[13-ce_gain_exp], [0,8191],
- default/ineffective 4096(0.5) */
- uint16_t y3; /** 4th kneepoint gain.
- u[ce_gain_exp].[13-ce_gain_exp], [0,8191],
- default/ineffective 4096(0.5) */
- uint16_t y4; /** 5th kneepoint gain.
- u[ce_gain_exp].[13-ce_gain_exp], [0,8191],
- default/ineffective 4096(0.5) */
- uint16_t y5; /** 6th kneepoint gain.
- u[ce_gain_exp].[13-ce_gain_exp], [0,8191],
- default/ineffective 4096(0.5) */
- uint16_t ce_gain_exp; /** Common exponent of y-axis gain.
- u8.0, [0,13],
- default/ineffective 1 */
- uint16_t x1; /** 2nd kneepoint luma.
- u0.13, [0,8191], constraints: 0<x1<x2,
- default/ineffective 1024 */
- uint16_t x2; /** 3rd kneepoint luma.
- u0.13, [0,8191], constraints: x1<x2<x3,
- default/ineffective 2048 */
- uint16_t x3; /** 4th kneepoint luma.
- u0.13, [0,8191], constraints: x2<x3<x4,
- default/ineffective 6144 */
- uint16_t x4; /** 5tn kneepoint luma.
- u0.13, [0,8191], constraints: x3<x4<8191,
- default/ineffective 7168 */
-};
-
-union ia_css_ctc_data {
- uint16_t vamem_1[IA_CSS_VAMEM_1_CTC_TABLE_SIZE];
- uint16_t vamem_2[IA_CSS_VAMEM_2_CTC_TABLE_SIZE];
-};
-
-/* CTC table, used for Chroma Tone Control.
- *
- * ISP block: CTC1 (CTC by look-up table)
- * ISP1: CTC1 is used.
- * (ISP2: CTC2 (CTC by polygonal line approximation) is used.)
- */
-struct ia_css_ctc_table {
- enum ia_css_vamem_type vamem_type;
- union ia_css_ctc_data data;
-};
-
-#endif /* __IA_CSS_CTC_TYPES_H */
-
-