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
22typedef u16 t_vmem_elem;
23
24#define VMEM_ARRAY(x, s)    t_vmem_elem x[s / ISP_NWAY][ISP_NWAY]
25
26void 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
32void 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
38void 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
48void 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