xref: /linux/drivers/staging/media/atomisp/pci/hive_isp_css_common/host/vmem_local.h (revision 3fd6c59042dbba50391e30862beac979491145fe)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2010-2015, Intel Corporation.
5  */
6 
7 #ifndef __VMEM_LOCAL_H_INCLUDED__
8 #define __VMEM_LOCAL_H_INCLUDED__
9 
10 #include "type_support.h"
11 #include "vmem_global.h"
12 
13 typedef u16 t_vmem_elem;
14 typedef s16 t_svmem_elem;
15 
16 #define VMEM_ARRAY(x, s)	t_vmem_elem x[(s) / ISP_NWAY][ISP_NWAY]
17 #define SVMEM_ARRAY(x, s)	t_svmem_elem x[(s) / ISP_NWAY][ISP_NWAY]
18 
19 void isp_vmem_load(
20     const isp_ID_t		ID,
21     const t_vmem_elem	*from,
22     t_vmem_elem		*to,
23     unsigned int elems); /* In t_vmem_elem */
24 
25 void isp_vmem_store(
26     const isp_ID_t		ID,
27     t_vmem_elem		*to,
28     const t_vmem_elem	*from,
29     unsigned int elems); /* In t_vmem_elem */
30 
31 void isp_vmem_2d_load(
32     const isp_ID_t		ID,
33     const t_vmem_elem	*from,
34     t_vmem_elem		*to,
35     unsigned int height,
36     unsigned int width,
37     unsigned int stride_to,  /* In t_vmem_elem */
38 
39     unsigned		stride_from /* In t_vmem_elem */);
40 
41 void isp_vmem_2d_store(
42     const isp_ID_t		ID,
43     t_vmem_elem		*to,
44     const t_vmem_elem	*from,
45     unsigned int height,
46     unsigned int width,
47     unsigned int stride_to,  /* In t_vmem_elem */
48 
49     unsigned		stride_from /* In t_vmem_elem */);
50 
51 #endif /* __VMEM_LOCAL_H_INCLUDED__ */
52