1 /******************************************************************************
3 © 1995-2003, 2004, 2005-2011 Freescale Semiconductor, Inc.
6 This is proprietary source code of Freescale Semiconductor Inc.,
7 and its use is subject to the NetComm Device Drivers EULA.
8 The copyright notice above does not evidence any actual or intended
9 publication of such source code.
11 ALTERNATIVELY, redistribution and use in source and binary forms, with
12 or without modification, are permitted provided that the following
14 * Redistributions of source code must retain the above copyright
15 notice, this list of conditions and the following disclaimer.
16 * Redistributions in binary form must reproduce the above copyright
17 notice, this list of conditions and the following disclaimer in the
18 documentation and/or other materials provided with the distribution.
19 * Neither the name of Freescale Semiconductor nor the
20 names of its contributors may be used to endorse or promote products
21 derived from this software without specific prior written permission.
23 THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
24 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
27 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 **************************************************************************/
36 /******************************************************************************
40 *//***************************************************************************/
44 #include "error_ext.h"
48 /**************************************************************************//**
49 @Group BM_grp Buffer Manager API
51 @Description BM API functions, definitions and enums.
54 *//***************************************************************************/
56 /**************************************************************************//**
57 @Description This callback type is used when handling pool depletion entry/exit.
59 User provides this function. Driver invokes it.
61 @Param[in] h_App - User's application descriptor.
62 @Param[in] in - TRUE when entered depletion state
63 FALSE when exit the depletion state.
64 *//***************************************************************************/
65 typedef void (t_BmDepletionCallback)(t_Handle h_App, bool in);
67 /**************************************************************************//**
68 @Group BM_lib_grp BM common API
70 @Description BM common API functions, definitions and enums.
73 *//***************************************************************************/
75 /**************************************************************************//**
76 @Description BM Exceptions
77 *//***************************************************************************/
78 typedef enum e_BmExceptions {
79 e_BM_EX_INVALID_COMMAND = 0 , /**< Invalid Command Verb Interrupt */
80 e_BM_EX_FBPR_THRESHOLD, /**< FBPR Low Watermark Interrupt. */
81 e_BM_EX_SINGLE_ECC, /**< Single Bit ECC Error Interrupt. */
82 e_BM_EX_MULTI_ECC /**< Multi Bit ECC Error Interrupt */
86 /**************************************************************************//**
87 @Group BM_init_grp BM (common) Initialization Unit
89 @Description BM (common) Initialization Unit
92 *//***************************************************************************/
94 /**************************************************************************//**
95 @Function t_BmExceptionsCallback
97 @Description Exceptions user callback routine, will be called upon an
98 exception passing the exception identification.
100 @Param[in] h_App - User's application descriptor.
101 @Param[in] exception - The exception.
102 *//***************************************************************************/
103 typedef void (t_BmExceptionsCallback) (t_Handle h_App,
104 e_BmExceptions exception);
106 /**************************************************************************//**
107 @Description structure representing BM initialization parameters
108 *//***************************************************************************/
110 uint8_t guestId; /**< BM Partition Id */
112 uintptr_t baseAddress; /**< Bm base address (virtual).
113 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
114 uint16_t liodn; /**< This value is attached to every transaction initiated by
115 BMan when accessing its private data structures
116 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
117 uint32_t totalNumOfBuffers; /**< Total number of buffers
118 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
119 uint32_t fbprMemPartitionId; /**< FBPR's mem partition id;
120 NOTE: The memory partition must be non-cacheable and no-coherent area.
121 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
122 t_BmExceptionsCallback *f_Exception; /**< An application callback routine to handle exceptions.
123 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
124 t_Handle h_App; /**< A handle to an application layer object; This handle will
125 be passed by the driver upon calling the above callbacks.
126 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
127 uintptr_t errIrq; /**< BM error interrupt line; NO_IRQ if interrupts not used.
128 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID). */
130 uint8_t partBpidBase; /**< The first buffer-pool-id dedicated to this partition.
131 NOTE: this parameter relevant only when working with multiple partitions. */
132 uint8_t partNumOfPools; /**< Number of Pools dedicated to this partition.
133 NOTE: this parameter relevant only when working with multiple partitions. */
137 /**************************************************************************//**
140 @Description Creates descriptor for the BM module and initializes the BM module.
142 The routine returns a handle (descriptor) to the BM object.
143 This descriptor must be passed as first parameter to all other
146 @Param[in] p_BmParam - A pointer to data structure of parameters
148 @Return Handle to BM object, or NULL for Failure.
149 *//***************************************************************************/
150 t_Handle BM_Config(t_BmParam *p_BmParam);
152 /**************************************************************************//**
155 @Description Initializes the BM module
157 @Param[in] h_Bm - A handle to the BM module
159 @Return E_OK on success; Error code otherwise.
161 @Cautions Allowed only following BM_Config().
162 *//***************************************************************************/
163 t_Error BM_Init(t_Handle h_Bm);
165 /**************************************************************************//**
168 @Description Frees all resources that were assigned to BM module.
170 Calling this routine invalidates the descriptor.
172 @Param[in] h_Bm - A handle to the BM module
174 @Return E_OK on success; Error code otherwise.
175 *//***************************************************************************/
176 t_Error BM_Free(t_Handle h_Bm);
178 /**************************************************************************//**
179 @Group BM_advanced_init_grp BM (common) Advanced Configuration Unit
181 @Description Configuration functions used to change default values.
184 *//***************************************************************************/
186 /**************************************************************************//**
187 @Function BM_ConfigFbprThreshold
189 @Description Change the fbpr threshold from its default
191 An interrupt if enables is asserted when the number of FBPRs is below this threshold.
192 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID).
194 @Param[in] h_Bm - A handle to the BM module
195 @Param[in] threshold - threshold value.
197 @Return E_OK on success; Error code otherwise.
199 @Cautions Allowed only following BM_Config() and before BM_Init().
200 *//***************************************************************************/
201 t_Error BM_ConfigFbprThreshold(t_Handle h_Bm, uint32_t threshold);
203 /** @} */ /* end of BM_advanced_init_grp group */
204 /** @} */ /* end of BM_init_grp group */
206 /**************************************************************************//**
207 @Group BM_runtime_control_grp BM (common) Runtime Control Unit
209 @Description BM (common) Runtime control unit API functions, definitions and enums.
212 *//***************************************************************************/
214 /**************************************************************************//**
215 @Description enum for defining BM counters
216 *//***************************************************************************/
217 typedef enum e_BmCounters {
218 e_BM_COUNTERS_FBPR = 0 /**< Total Free Buffer Proxy Record (FBPR) Free Pool Count in external memory */
221 /**************************************************************************//**
222 @Description structure for returning revision information
223 *//***************************************************************************/
224 typedef struct t_BmRevisionInfo {
225 uint8_t majorRev; /**< Major revision */
226 uint8_t minorRev; /**< Minor revision */
229 #if (defined(DEBUG_ERRORS) && (DEBUG_ERRORS > 0))
230 /**************************************************************************//**
231 @Function BM_DumpRegs
233 @Description Dumps all BM registers
234 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID).
236 @Param[in] h_Bm A handle to an BM Module.
238 @Return E_OK on success;
240 @Cautions Allowed only after BM_Init().
241 *//***************************************************************************/
242 t_Error BM_DumpRegs(t_Handle h_Bm);
243 #endif /* (defined(DEBUG_ERRORS) && ... */
245 /**************************************************************************//**
246 @Function BM_SetException
248 @Description Calling this routine enables/disables the specified exception.
249 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID).
251 @Param[in] h_Bm - A handle to the BM Module.
252 @Param[in] exception - The exception to be selected.
253 @Param[in] enable - TRUE to enable interrupt, FALSE to mask it.
255 @Cautions Allowed only following BM_Init().
256 *//***************************************************************************/
257 t_Error BM_SetException(t_Handle h_Bm, e_BmExceptions exception, bool enable);
259 /**************************************************************************//**
260 @Function BM_ErrorIsr
262 @Description BM interrupt-service-routine for errors.
263 NOTE: this parameter relevant only for BM in master mode ('guestId'=NCSW_MASTER_ID).
265 @Param[in] h_Bm - A handle to the BM Module.
267 @Cautions Allowed only following BM_Init().
268 *//***************************************************************************/
269 void BM_ErrorIsr(t_Handle h_Bm);
271 /**************************************************************************//**
272 @Function BM_GetCounter
274 @Description Reads one of the BM counters.
276 @Param[in] h_Bm - A handle to the BM Module.
277 @Param[in] counter - The requested counter.
279 @Return Counter's current value.
280 *//***************************************************************************/
281 uint32_t BM_GetCounter(t_Handle h_Bm, e_BmCounters counter);
283 /**************************************************************************//**
284 @Function BM_GetRevision
286 @Description Returns the BM revision
288 @Param[in] h_Bm A handle to a BM Module.
289 @Param[out] p_BmRevisionInfo A structure of revision information parameters.
291 @Return E_OK on success; Error code otherwise.
293 @Cautions Allowed only following QM_Init().
294 *//***************************************************************************/
295 t_Error BM_GetRevision(t_Handle h_Bm, t_BmRevisionInfo *p_BmRevisionInfo);
297 /** @} */ /* end of BM_runtime_control_grp group */
298 /** @} */ /* end of BM_lib_grp group */
301 /**************************************************************************//**
302 @Group BM_portal_grp BM-Portal API
304 @Description BM-Portal API functions, definitions and enums.
307 *//***************************************************************************/
309 /**************************************************************************//**
310 @Group BM_portal_init_grp BM-Portal Initialization Unit
312 @Description BM-Portal Initialization Unit
315 *//***************************************************************************/
317 /**************************************************************************//**
318 @Description structure representing BM Portal initialization parameters
319 *//***************************************************************************/
321 uintptr_t ceBaseAddress; /**< Cache-enabled base address (virtual) */
322 uintptr_t ciBaseAddress; /**< Cache-inhibited base address (virtual) */
323 t_Handle h_Bm; /**< Bm Handle */
324 e_DpaaSwPortal swPortalId; /**< Portal id */
325 int irq; /**< portal interrupt line; NO_IRQ if interrupts not used */
329 /**************************************************************************//**
330 @Function BM_PORTAL_Config
332 @Description Creates descriptor for the BM Portal;
334 The routine returns a handle (descriptor) to a BM-Portal object;
335 This descriptor must be passed as first parameter to all other
336 BM-Portal function calls.
338 No actual initialization or configuration of QM-Portal hardware is
339 done by this routine.
341 @Param[in] p_BmPortalParam - Pointer to data structure of parameters
343 @Retval Handle to a BM-Portal object, or NULL for Failure.
344 *//***************************************************************************/
345 t_Handle BM_PORTAL_Config(t_BmPortalParam *p_BmPortalParam);
347 /**************************************************************************//**
348 @Function BM_PORTAL_Init
350 @Description Initializes a BM-Portal module
352 @Param[in] h_BmPortal - A handle to a BM-Portal module
354 @Return E_OK on success; Error code otherwise.
355 *//***************************************************************************/
356 t_Error BM_PORTAL_Init(t_Handle h_BmPortal);
358 /**************************************************************************//**
359 @Function BM_PortalFree
361 @Description Frees all resources that were assigned to BM Portal module.
363 Calling this routine invalidates the descriptor.
365 @Param[in] h_BmPortal - BM Portal module descriptor
367 @Return E_OK on success; Error code otherwise.
368 *//***************************************************************************/
369 t_Error BM_PORTAL_Free(t_Handle h_BmPortal);
371 /**************************************************************************//**
372 @Function BM_PORTAL_ConfigMemAttr
374 @Description Change the memory attributes
375 from its default configuration [MEMORY_ATTR_CACHEABLE].
377 @Param[in] h_BmPortal - A handle to a BM-Portal module
378 @Param[in] hwExtStructsMemAttr - memory attributes (cache/non-cache, etc.)
380 @Return E_OK on success; Error code otherwise.
382 @Cautions Allowed only following BM_PORTAL_Config() and before BM_PORTAL_Init().
383 *//***************************************************************************/
384 t_Error BM_PORTAL_ConfigMemAttr(t_Handle h_BmPortal, uint32_t hwExtStructsMemAttr);
386 /** @} */ /* end of BM_portal_init_grp group */
387 /** @} */ /* end of BM_portal_grp group */
390 /**************************************************************************//**
391 @Group BM_pool_grp BM-Pool API
393 @Description BM-Pool API functions, definitions and enums.
396 *//***************************************************************************/
398 /**************************************************************************//**
399 @Group BM_pool_init_grp BM-Pool Initialization Unit
401 @Description BM-Pool Initialization Unit
404 *//***************************************************************************/
406 /**************************************************************************//**
407 @Collection BM Pool Depletion Thresholds macros
408 The thresholds are represent by an array of size MAX_DEPLETION_THRESHOLDS
409 Use the following macros to access the appropriate location in the array.
410 *//***************************************************************************/
411 #define BM_POOL_DEP_THRESH_SW_ENTRY 0
412 #define BM_POOL_DEP_THRESH_SW_EXIT 1
413 #define BM_POOL_DEP_THRESH_HW_ENTRY 2
414 #define BM_POOL_DEP_THRESH_HW_EXIT 3
416 #define MAX_DEPLETION_THRESHOLDS 4
420 /**************************************************************************//**
421 @Description structure representing BM Pool initialization parameters
422 *//***************************************************************************/
424 t_Handle h_Bm; /**< A handle to a BM Module. */
425 t_Handle h_BmPortal; /**< A handle to a BM Portal Module.
426 will be used only for Init and Free routines.
427 NOTE: if NULL, assuming affinity */
428 uint32_t numOfBuffers; /**< Number of buffers use by this pool
429 NOTE: If zero, empty pool buffer is created. */
430 t_BufferPoolInfo bufferPoolInfo; /**< Data buffers pool information */
431 t_Handle h_App; /**< opaque user value passed as a parameter to callbacks */
432 bool shadowMode; /**< If TRUE, numOfBuffers will be set to '0'. */
433 uint8_t bpid; /**< index of the shadow buffer pool (0-BM_MAX_NUM_OF_POOLS).
434 valid only if shadowMode='TRUE'. */
438 /**************************************************************************//**
439 @Function BM_POOL_Config
441 @Description Creates descriptor for the BM Pool;
443 The routine returns a handle (descriptor) to the BM Pool object.
445 @Param[in] p_BmPoolParam - A pointer to data structure of parameters
447 @Return Handle to BM Portal object, or NULL for Failure.
448 *//***************************************************************************/
449 t_Handle BM_POOL_Config(t_BmPoolParam *p_BmPoolParam);
451 /**************************************************************************//**
452 @Function BM_POOL_Init
454 @Description Initializes a BM-Pool module
456 @Param[in] h_BmPool - A handle to a BM-Pool module
458 @Return E_OK on success; Error code otherwise.
459 *//***************************************************************************/
460 t_Error BM_POOL_Init(t_Handle h_BmPool);
462 /**************************************************************************//**
463 @Function BM_PoolFree
465 @Description Frees all resources that were assigned to BM Pool module.
467 Calling this routine invalidates the descriptor.
469 @Param[in] h_BmPool - BM Pool module descriptor
471 @Return E_OK on success; Error code otherwise.
472 *//***************************************************************************/
473 t_Error BM_POOL_Free(t_Handle h_BmPool);
475 /**************************************************************************//**
476 @Function BM_POOL_ConfigBpid
478 @Description Config a specific pool id rather than dynamic pool id.
480 @Param[in] h_BmPool - A handle to a BM-Pool module
481 @Param[in] bpid - index of the buffer pool (0-BM_MAX_NUM_OF_POOLS).
483 @Return E_OK on success; Error code otherwise.
485 @Cautions Allowed only following BM_POOL_Config() and before BM_POOL_Init().
486 *//***************************************************************************/
487 t_Error BM_POOL_ConfigBpid(t_Handle h_BmPool, uint8_t bpid);
489 /**************************************************************************//**
490 @Function BM_POOL_ConfigDepletion
492 @Description Config depletion-entry/exit thresholds and callback.
494 @Param[in] h_BmPool - A handle to a BM-Pool module
495 @Param[in] f_Depletion - depletion-entry/exit callback.
496 @Param[in] thresholds - depletion-entry/exit thresholds.
498 @Return E_OK on success; Error code otherwise.
500 @Cautions Allowed only following BM_POOL_Config() and before BM_POOL_Init();
501 Allowed only if shadowMode='FALSE'.
502 Allowed only if BM in master mode ('guestId'=NCSW_MASTER_ID), or
503 the BM is in guest mode BUT than this routine will invoke IPC
505 *//***************************************************************************/
506 t_Error BM_POOL_ConfigDepletion(t_Handle h_BmPool,
507 t_BmDepletionCallback *f_Depletion,
508 uint32_t thresholds[MAX_DEPLETION_THRESHOLDS]);
510 /**************************************************************************//**
511 @Function BM_POOL_ConfigStockpile
513 @Description Config software stockpile.
515 @Param[in] h_BmPool - A handle to a BM-Pool module
516 @Param[in] maxBuffers - the software data structure size saved for stockpile;
517 when reached this value, release to hw command performed.
518 @Param[in] minBuffers - if current capacity is equal or lower then this value,
519 acquire from hw command performed.
521 @Return E_OK on success; Error code otherwise.
523 @Cautions Allowed only following BM_POOL_Config() and before BM_POOL_Init().
524 *//***************************************************************************/
525 t_Error BM_POOL_ConfigStockpile(t_Handle h_BmPool, uint16_t maxBuffers, uint16_t minBuffers);
527 /**************************************************************************//**
528 @Function BM_POOL_ConfigBuffContextMode
530 @Description Config the BM pool to set/unset buffer-context
532 @Param[in] h_BmPool - A handle to a BM-Pool module
533 @Param[in] en - enable/disable buffer context mode
535 @Return E_OK on success; Error code otherwise.
537 @Cautions Allowed only following BM_POOL_Config() and before BM_POOL_Init().
538 *//***************************************************************************/
539 t_Error BM_POOL_ConfigBuffContextMode(t_Handle h_BmPool, bool en);
541 /** @} */ /* end of BM_pool_init_grp group */
544 /**************************************************************************//**
545 @Group BM_pool_runtime_control_grp BM-Pool Runtime Control Unit
547 @Description BM-Pool Runtime control unit API functions, definitions and enums.
550 *//***************************************************************************/
552 /**************************************************************************//**
553 @Description enum for defining BM Pool counters
554 *//***************************************************************************/
555 typedef enum e_BmPoolCounters {
556 e_BM_POOL_COUNTERS_CONTENT = 0, /**< number of free buffers for a particular pool */
557 e_BM_POOL_COUNTERS_SW_DEPLETION, /**< number of times pool entered sw depletion */
558 e_BM_POOL_COUNTERS_HW_DEPLETION /**< number of times pool entered hw depletion */
561 /**************************************************************************//**
562 @Function BM_POOL_GetId
564 @Description return a buffer pool id.
566 @Param[in] h_BmPool - A handle to a BM-pool
569 *//***************************************************************************/
570 uint8_t BM_POOL_GetId(t_Handle h_BmPool);
572 /**************************************************************************//**
573 @Function BM_POOL_GetBufferSize
575 @Description returns the pool's buffer size.
577 @Param[in] h_BmPool - A handle to a BM-pool
579 @Return pool's buffer size.
580 *//***************************************************************************/
581 uint16_t BM_POOL_GetBufferSize(t_Handle h_BmPool);
583 /**************************************************************************//**
584 @Function BM_POOL_GetBufferContext
586 @Description Returns the user's private context that
587 should be associated with the buffer.
589 @Param[in] h_BmPool - A handle to a BM-pool
590 @Param[in] p_Buff - A Pointer to the buffer
592 @Return user's private context.
593 *//***************************************************************************/
594 t_Handle BM_POOL_GetBufferContext(t_Handle h_BmPool, void *p_Buff);
596 /**************************************************************************//**
597 @Function BM_POOL_PhysToVirt
599 @Description Translates a physical address to the matching virtual address.
601 @Param[in] h_BmPool - A handle to a BM-pool
602 @Param[in] addr - The physical address to translate
604 @Return Virtual address.
605 *//***************************************************************************/
606 void * BM_POOL_PhysToVirt(t_Handle h_BmPool, physAddress_t addr);
608 /**************************************************************************//**
609 @Function BM_POOL_VirtToPhys
611 @Description Translates a virtual address to the matching physical address.
613 @Param[in] h_BmPool - A handle to a BM-pool
614 @Param[in] addr - The virtual address to translate
616 @Return Physical address.
617 *//***************************************************************************/
618 physAddress_t BM_POOL_VirtToPhys(t_Handle h_BmPool, void *addr);
620 /**************************************************************************//**
621 @Function BM_POOL_GetCounter
623 @Description Reads one of the BM Pool counters.
625 @Param[in] h_BmPool - A handle to a BM-pool
626 @Param[in] counter - The requested counter.
628 @Return Counter's current value.
629 *//***************************************************************************/
630 uint32_t BM_POOL_GetCounter(t_Handle h_BmPool, e_BmPoolCounters counter);
632 /** @} */ /* end of BM_pool_runtime_control_grp group */
635 /**************************************************************************//**
636 @Group BM_pool_runtime_data_grp BM-Pool Runtime Data Unit
638 @Description BM-Pool Runtime data unit API functions, definitions and enums.
641 *//***************************************************************************/
643 /**************************************************************************//**
644 @Function BM_POOL_GetBuf
646 @Description Allocate buffer from a buffer pool.
648 @Param[in] h_BmPool - A handle to a BM-pool
649 @Param[in] h_BmPortal - A handle to a BM Portal Module;
650 NOTE : if NULL, assuming affinity.
652 @Return A Pointer to the allocated buffer.
653 *//***************************************************************************/
654 void * BM_POOL_GetBuf(t_Handle h_BmPool, t_Handle h_BmPortal);
656 /**************************************************************************//**
657 @Function BM_POOL_PutBuf
659 @Description Deallocate buffer to a buffer pool.
661 @Param[in] h_BmPool - A handle to a BM-pool
662 @Param[in] h_BmPortal - A handle to a BM Portal Module;
663 NOTE : if NULL, assuming affinity.
664 @Param[in] p_Buff - A Pointer to the buffer.
666 @Return E_OK on success; Error code otherwise.
667 *//***************************************************************************/
668 t_Error BM_POOL_PutBuf(t_Handle h_BmPool, t_Handle h_BmPortal, void *p_Buff);
670 /**************************************************************************//**
671 @Function BM_POOL_FillBufs
673 @Description Fill a BM pool with new buffers.
675 @Param[in] h_BmPool - A handle to a BM-pool
676 @Param[in] h_BmPortal - A handle to a BM Portal Module;
677 NOTE : if NULL, assuming affinity.
678 @Param[in] numBufs - How many buffers to fill into the pool.
680 @Return E_OK on success; Error code otherwise.
681 *//***************************************************************************/
682 t_Error BM_POOL_FillBufs(t_Handle h_BmPool, t_Handle h_BmPortal, uint32_t numBufs);
684 /** @} */ /* end of BM_pool_runtime_data_grp group */
685 /** @} */ /* end of BM_pool_grp group */
686 /** @} */ /* end of BM_grp group */
688 #endif /* __BM_EXT_H */