blob: e1eb824c934677d976da0ddffca75efd137d69e5 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2020 Marvell International Ltd.
*
* PKO helper, configuration API
*/
#ifndef __CVMX_HELPER_PKO_H__
#define __CVMX_HELPER_PKO_H__
/* CSR typedefs have been moved to cvmx-pko-defs.h */
/**
* cvmx_override_pko_queue_priority(int ipd_port, u64
* priorities[16]) is a function pointer. It is meant to allow
* customization of the PKO queue priorities based on the port
* number. Users should set this pointer to a function before
* calling any cvmx-helper operations.
*/
extern void (*cvmx_override_pko_queue_priority)(int ipd_port, u8 *priorities);
/**
* Gets the fpa pool number of pko pool
*/
s64 cvmx_fpa_get_pko_pool(void);
/**
* Gets the buffer size of pko pool
*/
u64 cvmx_fpa_get_pko_pool_block_size(void);
/**
* Gets the buffer size of pko pool
*/
u64 cvmx_fpa_get_pko_pool_buffer_count(void);
int cvmx_helper_pko_init(void);
/*
* This function is a no-op
* included here for backwards compatibility only.
*/
static inline int cvmx_pko_initialize_local(void)
{
return 0;
}
int __cvmx_helper_pko_drain(void);
int __cvmx_helper_interface_setup_pko(int interface);
#endif /* __CVMX_HELPER_PKO_H__ */