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  * 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 __VMEM_LOCAL_H_INCLUDED__
17 #define __VMEM_LOCAL_H_INCLUDED__
18 
19 #include "type_support.h"
20 #include "vmem_global.h"
21 
22 typedef u16 t_vmem_elem;
23 
24 #define VMEM_ARRAY(x, s)    t_vmem_elem x[s / ISP_NWAY][ISP_NWAY]
25 
26 void isp_vmem_load(
27     const isp_ID_t		ID,
28     const t_vmem_elem	*from,
29     t_vmem_elem		*to,
30     unsigned int elems); /* In t_vmem_elem */
31 
32 void isp_vmem_store(
33     const isp_ID_t		ID,
34     t_vmem_elem		*to,
35     const t_vmem_elem	*from,
36     unsigned int elems); /* In t_vmem_elem */
37 
38 void isp_vmem_2d_load(
39     const isp_ID_t		ID,
40     const t_vmem_elem	*from,
41     t_vmem_elem		*to,
42     unsigned int height,
43     unsigned int width,
44     unsigned int stride_to,  /* In t_vmem_elem */
45 
46     unsigned		stride_from /* In t_vmem_elem */);
47 
48 void isp_vmem_2d_store(
49     const isp_ID_t		ID,
50     t_vmem_elem		*to,
51     const t_vmem_elem	*from,
52     unsigned int height,
53     unsigned int width,
54     unsigned int stride_to,  /* In t_vmem_elem */
55 
56     unsigned		stride_from /* In t_vmem_elem */);
57 
58 #endif /* __VMEM_LOCAL_H_INCLUDED__ */
59