1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 2015, Intel Corporation.
5 */
6
7 #include <linux/string.h> /* for memcpy() */
8
9 #include <type_support.h>
10 #include "system_global.h"
11 #include "vamem.h"
12 #include "ia_css_types.h"
13 #include "ia_css_ctc_table.host.h"
14
15 struct ia_css_ctc_table default_ctc_table;
16
17
18 static const uint16_t
19 default_ctc_table_data[IA_CSS_VAMEM_2_CTC_TABLE_SIZE] = {
20 0, 384, 837, 957, 1011, 1062, 1083, 1080,
21 1078, 1077, 1053, 1039, 1012, 992, 969, 951,
22 929, 906, 886, 866, 845, 823, 809, 790,
23 772, 758, 741, 726, 711, 701, 688, 675,
24 666, 656, 648, 639, 633, 626, 618, 612,
25 603, 594, 582, 572, 557, 545, 529, 516,
26 504, 491, 480, 467, 459, 447, 438, 429,
27 419, 412, 404, 397, 389, 382, 376, 368,
28 363, 357, 351, 345, 340, 336, 330, 326,
29 321, 318, 312, 308, 304, 300, 297, 294,
30 291, 286, 284, 281, 278, 275, 271, 268,
31 261, 257, 251, 245, 240, 235, 232, 225,
32 223, 218, 213, 209, 206, 204, 199, 197,
33 193, 189, 186, 185, 183, 179, 177, 175,
34 172, 170, 169, 167, 164, 164, 162, 160,
35 158, 157, 156, 154, 154, 152, 151, 150,
36 149, 148, 146, 147, 146, 144, 143, 143,
37 142, 141, 140, 141, 139, 138, 138, 138,
38 137, 136, 136, 135, 134, 134, 134, 133,
39 132, 132, 131, 130, 131, 130, 129, 128,
40 129, 127, 127, 127, 127, 125, 125, 125,
41 123, 123, 122, 120, 118, 115, 114, 111,
42 110, 108, 106, 105, 103, 102, 100, 99,
43 97, 97, 96, 95, 94, 93, 93, 91,
44 91, 91, 90, 90, 89, 89, 88, 88,
45 89, 88, 88, 87, 87, 87, 87, 86,
46 87, 87, 86, 87, 86, 86, 84, 84,
47 82, 80, 78, 76, 74, 72, 70, 68,
48 67, 65, 62, 60, 58, 56, 55, 54,
49 53, 51, 49, 49, 47, 45, 45, 45,
50 41, 40, 39, 39, 34, 33, 34, 32,
51 25, 23, 24, 20, 13, 9, 12, 0,
52 0
53 };
54
55
56 void
ia_css_config_ctc_table(void)57 ia_css_config_ctc_table(void)
58 {
59 memcpy(default_ctc_table.data.vamem_2, default_ctc_table_data,
60 sizeof(default_ctc_table_data));
61 default_ctc_table.vamem_type = IA_CSS_VAMEM_TYPE_2;
62 }
63