1f5fbb83fSMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0 */ 29d4fa1a1SMauro Carvalho Chehab /* 39d4fa1a1SMauro Carvalho Chehab * Support for Intel Camera Imaging ISP subsystem. 49d4fa1a1SMauro Carvalho Chehab * Copyright (c) 2010 - 2015, Intel Corporation. 59d4fa1a1SMauro Carvalho Chehab * 69d4fa1a1SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify it 79d4fa1a1SMauro Carvalho Chehab * under the terms and conditions of the GNU General Public License, 89d4fa1a1SMauro Carvalho Chehab * version 2, as published by the Free Software Foundation. 99d4fa1a1SMauro Carvalho Chehab * 109d4fa1a1SMauro Carvalho Chehab * This program is distributed in the hope it will be useful, but WITHOUT 119d4fa1a1SMauro Carvalho Chehab * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 129d4fa1a1SMauro Carvalho Chehab * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 139d4fa1a1SMauro Carvalho Chehab * more details. 149d4fa1a1SMauro Carvalho Chehab */ 159d4fa1a1SMauro Carvalho Chehab 169d4fa1a1SMauro Carvalho Chehab #ifndef _IA_CSS_RMGR_H 179d4fa1a1SMauro Carvalho Chehab #define _IA_CSS_RMGR_H 189d4fa1a1SMauro Carvalho Chehab 199d4fa1a1SMauro Carvalho Chehab #include <ia_css_err.h> 209d4fa1a1SMauro Carvalho Chehab 219d4fa1a1SMauro Carvalho Chehab #ifndef __INLINE_RMGR__ 229d4fa1a1SMauro Carvalho Chehab #define STORAGE_CLASS_RMGR_H extern 239d4fa1a1SMauro Carvalho Chehab #define STORAGE_CLASS_RMGR_C 249d4fa1a1SMauro Carvalho Chehab #else /* __INLINE_RMGR__ */ 259d4fa1a1SMauro Carvalho Chehab #define STORAGE_CLASS_RMGR_H static inline 269d4fa1a1SMauro Carvalho Chehab #define STORAGE_CLASS_RMGR_C static inline 279d4fa1a1SMauro Carvalho Chehab #endif /* __INLINE_RMGR__ */ 289d4fa1a1SMauro Carvalho Chehab 299d4fa1a1SMauro Carvalho Chehab /** 309d4fa1a1SMauro Carvalho Chehab * @brief Initialize resource manager (host/common) 319d4fa1a1SMauro Carvalho Chehab */ 3241022d35SMauro Carvalho Chehab int ia_css_rmgr_init(void); 339d4fa1a1SMauro Carvalho Chehab 349d4fa1a1SMauro Carvalho Chehab /** 359d4fa1a1SMauro Carvalho Chehab * @brief Uninitialize resource manager (host/common) 369d4fa1a1SMauro Carvalho Chehab */ 379d4fa1a1SMauro Carvalho Chehab void ia_css_rmgr_uninit(void); 389d4fa1a1SMauro Carvalho Chehab 399d4fa1a1SMauro Carvalho Chehab /***************************************************************** 409d4fa1a1SMauro Carvalho Chehab * Interface definition - resource type (host/common) 419d4fa1a1SMauro Carvalho Chehab ***************************************************************** 429d4fa1a1SMauro Carvalho Chehab * 439d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_pool; 449d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_handle; 459d4fa1a1SMauro Carvalho Chehab * 469d4fa1a1SMauro Carvalho Chehab * STORAGE_CLASS_RMGR_H void ia_css_rmgr_init_<type>( 479d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_pool *pool); 489d4fa1a1SMauro Carvalho Chehab * 499d4fa1a1SMauro Carvalho Chehab * STORAGE_CLASS_RMGR_H void ia_css_rmgr_uninit_<type>( 509d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_pool *pool); 519d4fa1a1SMauro Carvalho Chehab * 529d4fa1a1SMauro Carvalho Chehab * STORAGE_CLASS_RMGR_H void ia_css_rmgr_acq_<type>( 539d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_pool *pool, 549d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_handle **handle); 559d4fa1a1SMauro Carvalho Chehab * 569d4fa1a1SMauro Carvalho Chehab * STORAGE_CLASS_RMGR_H void ia_css_rmgr_rel_<type>( 579d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_pool *pool, 589d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_handle **handle); 599d4fa1a1SMauro Carvalho Chehab * 609d4fa1a1SMauro Carvalho Chehab ***************************************************************** 619d4fa1a1SMauro Carvalho Chehab * Interface definition - refcounting (host/common) 629d4fa1a1SMauro Carvalho Chehab ***************************************************************** 639d4fa1a1SMauro Carvalho Chehab * 649d4fa1a1SMauro Carvalho Chehab * void ia_css_rmgr_refcount_retain_<type>( 659d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_handle **handle); 669d4fa1a1SMauro Carvalho Chehab * 679d4fa1a1SMauro Carvalho Chehab * void ia_css_rmgr_refcount_release_<type>( 689d4fa1a1SMauro Carvalho Chehab * struct ia_css_rmgr_<type>_handle **handle); 699d4fa1a1SMauro Carvalho Chehab */ 709d4fa1a1SMauro Carvalho Chehab 719d4fa1a1SMauro Carvalho Chehab #include "ia_css_rmgr_vbuf.h" 729d4fa1a1SMauro Carvalho Chehab 739d4fa1a1SMauro Carvalho Chehab #endif /* _IA_CSS_RMGR_H */ 74