1*8ae5b155SLewis Huang /*
2*8ae5b155SLewis Huang  * Copyright (c) 2019 Advanced Micro Devices, Inc. (unpublished)
3*8ae5b155SLewis Huang  *
4*8ae5b155SLewis Huang  * All rights reserved.  This notice is intended as a precaution against
5*8ae5b155SLewis Huang  * inadvertent publication and does not imply publication or any waiver
6*8ae5b155SLewis Huang  * of confidentiality.  The year included in the foregoing notice is the
7*8ae5b155SLewis Huang  * year of creation of the work.
8*8ae5b155SLewis Huang  */
9*8ae5b155SLewis Huang 
10*8ae5b155SLewis Huang #include "color_table.h"
11*8ae5b155SLewis Huang 
12*8ae5b155SLewis Huang static struct fixed31_32 pq_table[MAX_HW_POINTS + 2];
13*8ae5b155SLewis Huang static struct fixed31_32 de_pq_table[MAX_HW_POINTS + 2];
14*8ae5b155SLewis Huang static bool pq_initialized;
15*8ae5b155SLewis Huang static bool de_pg_initialized;
16*8ae5b155SLewis Huang 
17*8ae5b155SLewis Huang bool mod_color_is_table_init(enum table_type type)
18*8ae5b155SLewis Huang {
19*8ae5b155SLewis Huang 	bool ret = false;
20*8ae5b155SLewis Huang 
21*8ae5b155SLewis Huang 	if (type == type_pq_table)
22*8ae5b155SLewis Huang 		ret = pq_initialized;
23*8ae5b155SLewis Huang 	if (type == type_de_pq_table)
24*8ae5b155SLewis Huang 		ret = de_pg_initialized;
25*8ae5b155SLewis Huang 
26*8ae5b155SLewis Huang 	return ret;
27*8ae5b155SLewis Huang }
28*8ae5b155SLewis Huang 
29*8ae5b155SLewis Huang struct fixed31_32 *mod_color_get_table(enum table_type type)
30*8ae5b155SLewis Huang {
31*8ae5b155SLewis Huang 	struct fixed31_32 *table = NULL;
32*8ae5b155SLewis Huang 
33*8ae5b155SLewis Huang 	if (type == type_pq_table)
34*8ae5b155SLewis Huang 		table = pq_table;
35*8ae5b155SLewis Huang 	if (type == type_de_pq_table)
36*8ae5b155SLewis Huang 		table = de_pq_table;
37*8ae5b155SLewis Huang 
38*8ae5b155SLewis Huang 	return table;
39*8ae5b155SLewis Huang }
40*8ae5b155SLewis Huang 
41*8ae5b155SLewis Huang void mod_color_set_table_init_state(enum table_type type, bool state)
42*8ae5b155SLewis Huang {
43*8ae5b155SLewis Huang 	if (type == type_pq_table)
44*8ae5b155SLewis Huang 		pq_initialized = state;
45*8ae5b155SLewis Huang 	if (type == type_de_pq_table)
46*8ae5b155SLewis Huang 		de_pg_initialized = state;
47*8ae5b155SLewis Huang }
48*8ae5b155SLewis Huang 
49