2020-12-11 16:05:24 +00:00
|
|
|
/* 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.
|
|
|
|
*/
|
2022-04-07 07:11:10 +00:00
|
|
|
extern void (*cvmx_override_pko_queue_priority)(int ipd_port, u8 *priorities);
|
2020-12-11 16:05:24 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 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__ */
|