GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / media / atomisp / pci / hive_isp_css_common / hmem_global.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  */
15
16 #ifndef __HMEM_GLOBAL_H_INCLUDED__
17 #define __HMEM_GLOBAL_H_INCLUDED__
18
19 #include <type_support.h>
20
21 #define IS_HMEM_VERSION_1
22
23 #include "isp.h"
24
25 /*
26 #define ISP_HIST_ADDRESS_BITS                  12
27 #define ISP_HIST_ALIGNMENT                     4
28 #define ISP_HIST_COMP_IN_PREC                  12
29 #define ISP_HIST_DEPTH                         1024
30 #define ISP_HIST_WIDTH                         24
31 #define ISP_HIST_COMPONENTS                    4
32 */
33 #define ISP_HIST_ALIGNMENT_LOG2         2
34
35 #define HMEM_SIZE_LOG2          (ISP_HIST_ADDRESS_BITS - ISP_HIST_ALIGNMENT_LOG2)
36 #define HMEM_SIZE                       ISP_HIST_DEPTH
37
38 #define HMEM_UNIT_SIZE          (HMEM_SIZE / ISP_HIST_COMPONENTS)
39 #define HMEM_UNIT_COUNT         ISP_HIST_COMPONENTS
40
41 #define HMEM_RANGE_LOG2         ISP_HIST_WIDTH
42 #define HMEM_RANGE                      BIT(HMEM_RANGE_LOG2)
43
44 typedef u32                     hmem_data_t;
45
46 #endif /* __HMEM_GLOBAL_H_INCLUDED__ */