blob: 91484da61ac34df28fd42a02f4a0fe63ca9c2197 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
/*
* Copyright (c) 2026 Justin Hibbits
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#ifndef BMAN_VAR_H
#define BMAN_VAR_H
#include "dpaa_common.h"
#include "portals.h"
#define BMAN_MAX_POOLS 64
#define BMAN_MAX_POOLS_1023 8
DPAA_RING_DECLARE(bman_rcr);
struct bman_mc {
uint8_t polarity;
bool busy;
};
struct bman_portal_softc {
struct dpaa_portal_softc sc_base;
struct bman_mc mc;
struct bman_rcr_ring sc_rcr;
struct bman_pool *sc_pools[BMAN_MAX_POOLS];
};
struct bman_pool {
uint32_t bpid;
bm_depletion_handler dep_cb;
void *arg;
};
DPCPU_DECLARE(struct bman_portal_softc *, bman_affine_portal);
int bman_release(struct bman_pool *pool, const struct bman_buffer *bufs,
uint8_t count);
void bman_portal_enable_scn(struct bman_portal_softc *, struct bman_pool *);
#endif
|