12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * Copyright (C) 2020 Marvell International Ltd.
- *
- * Helper functions for FPA setup.
- */
- #ifndef __CVMX_HELPER_H_FPA__
- #define __CVMX_HELPER_H_FPA__
- /**
- * Allocate memory and initialize the FPA pools using memory
- * from cvmx-bootmem. Sizes of each element in the pools is
- * controlled by the cvmx-config.h header file. Specifying
- * zero for any parameter will cause that FPA pool to not be
- * setup. This is useful if you aren't using some of the
- * hardware and want to save memory.
- *
- * @param packet_buffers
- * Number of packet buffers to allocate
- * @param work_queue_entries
- * Number of work queue entries
- * @param pko_buffers
- * PKO Command buffers. You should at minimum have two per
- * each PKO queue.
- * @param tim_buffers
- * TIM ring buffer command queues. At least two per timer bucket
- * is recommended.
- * @param dfa_buffers
- * DFA command buffer. A relatively small (32 for example)
- * number should work.
- * Return: Zero on success, non-zero if out of memory
- */
- int cvmx_helper_initialize_fpa(int packet_buffers, int work_queue_entries, int pko_buffers,
- int tim_buffers, int dfa_buffers);
- int __cvmx_helper_initialize_fpa_pool(int pool, u64 buffer_size, u64 buffers, const char *name);
- int cvmx_helper_shutdown_fpa_pools(int node);
- void cvmx_helper_fpa_dump(int node);
- #endif /* __CVMX_HELPER_H__ */
|