summaryrefslogtreecommitdiffstats
path: root/drivers/staging/media/atomisp/pci/atomisp2/css2400/runtime/rmgr/interface/ia_css_rmgr.h
blob: a0bb9f663ce6aa3636c5122644fa90a30126cc73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#ifndef ISP2401
/*
 * Support for Intel Camera Imaging ISP subsystem.
 * Copyright (c) 2015, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 */
#else
/**
Support for Intel Camera Imaging ISP subsystem.
Copyright (c) 2010 - 2015, Intel Corporation.

This program is free software; you can redistribute it and/or modify it
under the terms and conditions of the GNU General Public License,
version 2, as published by the Free Software Foundation.

This program is distributed in the hope it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
more details.
*/
#endif

#ifndef _IA_CSS_RMGR_H
#define _IA_CSS_RMGR_H

#include "storage_class.h"
#include <ia_css_err.h>

#ifndef __INLINE_RMGR__
#define STORAGE_CLASS_RMGR_H STORAGE_CLASS_EXTERN
#define STORAGE_CLASS_RMGR_C
#else				/* __INLINE_RMGR__ */
#define STORAGE_CLASS_RMGR_H STORAGE_CLASS_INLINE
#define STORAGE_CLASS_RMGR_C STORAGE_CLASS_INLINE
#endif				/* __INLINE_RMGR__ */

/**
 * @brief Initialize resource manager (host/common)
 */
enum ia_css_err ia_css_rmgr_init(void);

/**
 * @brief Uninitialize resource manager (host/common)
 */
void ia_css_rmgr_uninit(void);

/*****************************************************************
 * Interface definition - resource type (host/common)
 *****************************************************************
 *
 * struct ia_css_rmgr_<type>_pool;
 * struct ia_css_rmgr_<type>_handle;
 *
 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_init_<type>(
 *	struct ia_css_rmgr_<type>_pool *pool);
 *
 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_uninit_<type>(
 *	struct ia_css_rmgr_<type>_pool *pool);
 *
 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_acq_<type>(
 *	struct ia_css_rmgr_<type>_pool *pool,
 *	struct ia_css_rmgr_<type>_handle **handle);
 *
 * STORAGE_CLASS_RMGR_H void ia_css_rmgr_rel_<type>(
 *	struct ia_css_rmgr_<type>_pool *pool,
 *	struct ia_css_rmgr_<type>_handle **handle);
 *
 *****************************************************************
 * Interface definition - refcounting (host/common)
 *****************************************************************
 *
 * void ia_css_rmgr_refcount_retain_<type>(
 *	struct ia_css_rmgr_<type>_handle **handle);
 *
 * void ia_css_rmgr_refcount_release_<type>(
 *	struct ia_css_rmgr_<type>_handle **handle);
 */

#include "ia_css_rmgr_vbuf.h"

#endif	/* _IA_CSS_RMGR_H */
OpenPOWER on IntegriCloud