1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright (c) 2015-2018 Atomic Rules LLC
8 #include "ark_pktdir.h"
9 #include "ark_global.h"
14 ark_pktdir_init(void *base)
16 struct ark_pkt_dir_inst *inst =
17 rte_malloc("ark_pkt_dir_inst",
18 sizeof(struct ark_pkt_dir_inst),
21 ARK_PMD_LOG(ERR, "Failed to malloc ark_pkt_dir_inst.\n");
24 inst->regs = (struct ark_pkt_dir_regs *)base;
25 inst->regs->ctrl = ARK_PKT_DIR_INIT_VAL; /* POR state */
30 ark_pktdir_uninit(ark_pkt_dir_t handle)
32 struct ark_pkt_dir_inst *inst = (struct ark_pkt_dir_inst *)handle;
38 ark_pktdir_setup(ark_pkt_dir_t handle, uint32_t v)
40 struct ark_pkt_dir_inst *inst = (struct ark_pkt_dir_inst *)handle;
45 ark_pktdir_status(ark_pkt_dir_t handle)
47 struct ark_pkt_dir_inst *inst = (struct ark_pkt_dir_inst *)handle;
48 return inst->regs->ctrl;
52 ark_pktdir_stall_cnt(ark_pkt_dir_t handle)
54 struct ark_pkt_dir_inst *inst = (struct ark_pkt_dir_inst *)handle;
55 return inst->regs->stall_cnt;