1 /* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
3 * Copyright 2013-2016 Freescale Semiconductor Inc.
4 * Copyright 2016-2017 NXP
11 * Data Path Buffer Pool API
12 * Contains initialization APIs and runtime control APIs for DPBP
17 int dpbp_open(struct fsl_mc_io *mc_io,
22 int dpbp_close(struct fsl_mc_io *mc_io,
27 * struct dpbp_cfg - Structure representing DPBP configuration
28 * @options: place holder
34 int dpbp_create(struct fsl_mc_io *mc_io,
37 const struct dpbp_cfg *cfg,
40 int dpbp_destroy(struct fsl_mc_io *mc_io,
45 int dpbp_enable(struct fsl_mc_io *mc_io,
49 int dpbp_disable(struct fsl_mc_io *mc_io,
53 int dpbp_is_enabled(struct fsl_mc_io *mc_io,
58 int dpbp_reset(struct fsl_mc_io *mc_io,
63 * struct dpbp_attr - Structure representing DPBP attributes
65 * @bpid: Hardware buffer pool ID; should be used as an argument in
66 * acquire/release operations on buffers
73 int dpbp_get_attributes(struct fsl_mc_io *mc_io,
76 struct dpbp_attr *attr);
79 * DPBP notifications options
83 * BPSCN write will attempt to allocate into a cache (coherent write)
85 int dpbp_get_api_version(struct fsl_mc_io *mc_io,
90 int dpbp_get_num_free_bufs(struct fsl_mc_io *mc_io,
93 uint32_t *num_free_bufs);
95 #endif /* __FSL_DPBP_H */