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