@@ -642,6 +642,7 @@ M: Shepard Siegel <shepard.siegel@atomicrules.com>
M: Ed Czeck <ed.czeck@atomicrules.com>
M: John Miller <john.miller@atomicrules.com>
F: drivers/net/ark/
+F: drivers/common/ark/
F: doc/guides/nics/ark.rst
F: doc/guides/nics/features/ark.ini
similarity index 98%
rename from drivers/net/ark/ark_ddm.c
rename to drivers/common/ark/ark_ddm.c
@@ -4,7 +4,7 @@
#include <unistd.h>
-#include "ark_logs.h"
+#include "ark_common.h"
#include "ark_ddm.h"
static_assert(sizeof(union ark_tx_meta) == 8, "Unexpected struct size ark_tx_meta");
similarity index 100%
rename from drivers/net/ark/ark_ddm.h
rename to drivers/common/ark/ark_ddm.h
similarity index 99%
rename from drivers/net/ark/ark_mpu.c
rename to drivers/common/ark/ark_mpu.c
@@ -4,7 +4,7 @@
#include <unistd.h>
-#include "ark_logs.h"
+#include "ark_common.h"
#include "ark_mpu.h"
uint16_t
similarity index 100%
rename from drivers/net/ark/ark_mpu.h
rename to drivers/common/ark/ark_mpu.h
similarity index 99%
rename from drivers/net/ark/ark_pktchkr.c
rename to drivers/common/ark/ark_pktchkr.c
@@ -9,7 +9,7 @@
#include <rte_malloc.h>
#include "ark_pktchkr.h"
-#include "ark_logs.h"
+#include "ark_common.h"
static int set_arg(char *arg, char *val);
static int ark_pktchkr_is_gen_forever(ark_pkt_chkr_t handle);
similarity index 88%
rename from drivers/net/ark/ark_pktchkr.h
rename to drivers/common/ark/ark_pktchkr.h
@@ -5,6 +5,8 @@
#ifndef _ARK_PKTCHKR_H_
#define _ARK_PKTCHKR_H_
+#include <rte_common.h>
+#include <rte_compat.h>
#include <stdint.h>
#include <inttypes.h>
@@ -64,25 +66,45 @@ struct ark_pkt_chkr_inst {
};
/* packet checker functions */
+__rte_internal
ark_pkt_chkr_t ark_pktchkr_init(void *addr, int ord, int l2_mode);
+__rte_internal
void ark_pktchkr_uninit(ark_pkt_chkr_t handle);
+__rte_internal
void ark_pktchkr_run(ark_pkt_chkr_t handle);
+__rte_internal
int ark_pktchkr_stopped(ark_pkt_chkr_t handle);
+__rte_internal
void ark_pktchkr_stop(ark_pkt_chkr_t handle);
+__rte_internal
int ark_pktchkr_is_running(ark_pkt_chkr_t handle);
+__rte_internal
int ark_pktchkr_get_pkts_sent(ark_pkt_chkr_t handle);
+__rte_internal
void ark_pktchkr_set_payload_byte(ark_pkt_chkr_t handle, uint32_t b);
+__rte_internal
void ark_pktchkr_set_pkt_size_min(ark_pkt_chkr_t handle, uint32_t x);
+__rte_internal
void ark_pktchkr_set_pkt_size_max(ark_pkt_chkr_t handle, uint32_t x);
+__rte_internal
void ark_pktchkr_set_pkt_size_incr(ark_pkt_chkr_t handle, uint32_t x);
+__rte_internal
void ark_pktchkr_set_num_pkts(ark_pkt_chkr_t handle, uint32_t x);
+__rte_internal
void ark_pktchkr_set_src_mac_addr(ark_pkt_chkr_t handle, uint64_t mac_addr);
+__rte_internal
void ark_pktchkr_set_dst_mac_addr(ark_pkt_chkr_t handle, uint64_t mac_addr);
+__rte_internal
void ark_pktchkr_set_eth_type(ark_pkt_chkr_t handle, uint32_t x);
+__rte_internal
void ark_pktchkr_set_hdr_dW(ark_pkt_chkr_t handle, uint32_t *hdr);
+__rte_internal
void ark_pktchkr_parse(char *args);
+__rte_internal
void ark_pktchkr_setup(ark_pkt_chkr_t handle);
+__rte_internal
void ark_pktchkr_dump_stats(ark_pkt_chkr_t handle);
+__rte_internal
int ark_pktchkr_wait_done(ark_pkt_chkr_t handle);
#endif
similarity index 95%
rename from drivers/net/ark/ark_pktdir.c
rename to drivers/common/ark/ark_pktdir.c
@@ -5,9 +5,10 @@
#include <stdint.h>
#include <inttypes.h>
+#include <rte_malloc.h>
+
#include "ark_pktdir.h"
-#include "ark_global.h"
-#include "ark_logs.h"
+#include "ark_common.h"
ark_pkt_dir_t
similarity index 89%
rename from drivers/net/ark/ark_pktdir.h
rename to drivers/common/ark/ark_pktdir.h
@@ -5,6 +5,8 @@
#ifndef _ARK_PKTDIR_H_
#define _ARK_PKTDIR_H_
+#include <rte_common.h>
+#include <rte_compat.h>
#include <stdint.h>
#define ARK_PKT_DIR_INIT_VAL 0x0110
@@ -32,10 +34,15 @@ struct ark_pkt_dir_inst {
volatile struct ark_pkt_dir_regs *regs;
};
+__rte_internal
ark_pkt_dir_t ark_pktdir_init(void *base);
+__rte_internal
void ark_pktdir_uninit(ark_pkt_dir_t handle);
+__rte_internal
void ark_pktdir_setup(ark_pkt_dir_t handle, uint32_t v);
+__rte_internal
uint32_t ark_pktdir_stall_cnt(ark_pkt_dir_t handle);
+__rte_internal
uint32_t ark_pktdir_status(ark_pkt_dir_t handle);
#endif
similarity index 99%
rename from drivers/net/ark/ark_pktgen.c
rename to drivers/common/ark/ark_pktgen.c
@@ -10,7 +10,7 @@
#include <rte_malloc.h>
#include "ark_pktgen.h"
-#include "ark_logs.h"
+#include "ark_common.h"
#define ARK_MAX_STR_LEN 64
union OPTV {
similarity index 86%
rename from drivers/net/ark/ark_pktgen.h
rename to drivers/common/ark/ark_pktgen.h
@@ -5,6 +5,8 @@
#ifndef _ARK_PKTGEN_H_
#define _ARK_PKTGEN_H_
+#include <rte_common.h>
+#include <rte_compat.h>
#include <stdint.h>
#include <inttypes.h>
@@ -51,30 +53,55 @@ struct ark_pkt_gen_inst {
};
/* packet generator functions */
+__rte_internal
ark_pkt_gen_t ark_pktgen_init(void *arg, int ord, int l2_mode);
+__rte_internal
void ark_pktgen_uninit(ark_pkt_gen_t handle);
+__rte_internal
void ark_pktgen_run(ark_pkt_gen_t handle);
+__rte_internal
void ark_pktgen_pause(ark_pkt_gen_t handle);
+__rte_internal
uint32_t ark_pktgen_paused(ark_pkt_gen_t handle);
+__rte_internal
uint32_t ark_pktgen_is_gen_forever(ark_pkt_gen_t handle);
+__rte_internal
uint32_t ark_pktgen_is_running(ark_pkt_gen_t handle);
+__rte_internal
uint32_t ark_pktgen_tx_done(ark_pkt_gen_t handle);
+__rte_internal
void ark_pktgen_reset(ark_pkt_gen_t handle);
+__rte_internal
void ark_pktgen_wait_done(ark_pkt_gen_t handle);
+__rte_internal
uint32_t ark_pktgen_get_pkts_sent(ark_pkt_gen_t handle);
+__rte_internal
void ark_pktgen_set_payload_byte(ark_pkt_gen_t handle, uint32_t b);
+__rte_internal
void ark_pktgen_set_pkt_spacing(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_set_pkt_size_min(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_set_pkt_size_max(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_set_pkt_size_incr(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_set_num_pkts(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_set_src_mac_addr(ark_pkt_gen_t handle, uint64_t mac_addr);
+__rte_internal
void ark_pktgen_set_dst_mac_addr(ark_pkt_gen_t handle, uint64_t mac_addr);
+__rte_internal
void ark_pktgen_set_eth_type(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_set_hdr_dW(ark_pkt_gen_t handle, uint32_t *hdr);
+__rte_internal
void ark_pktgen_set_start_offset(ark_pkt_gen_t handle, uint32_t x);
+__rte_internal
void ark_pktgen_parse(char *argv);
+__rte_internal
void ark_pktgen_setup(ark_pkt_gen_t handle);
+__rte_internal
void *ark_pktgen_delay_start(void *arg);
#endif
similarity index 98%
rename from drivers/net/ark/ark_rqp.c
rename to drivers/common/ark/ark_rqp.c
@@ -5,7 +5,7 @@
#include <unistd.h>
#include "ark_rqp.h"
-#include "ark_logs.h"
+#include "ark_common.h"
/* ************************************************************************* */
void
similarity index 100%
rename from drivers/net/ark/ark_rqp.h
rename to drivers/common/ark/ark_rqp.h
similarity index 99%
rename from drivers/net/ark/ark_udm.c
rename to drivers/common/ark/ark_udm.c
@@ -4,7 +4,7 @@
#include <unistd.h>
-#include "ark_logs.h"
+#include "ark_common.h"
#include "ark_udm.h"
static_assert(sizeof(struct ark_rx_meta) == 32, "Unexpected struct size ark_rx_meta");
similarity index 95%
rename from drivers/net/ark/ark_udm.h
rename to drivers/common/ark/ark_udm.h
@@ -102,23 +102,32 @@ struct ark_udm_t {
sizeof(struct ark_udm_rt_cfg_t)];
};
-
+__rte_internal
int ark_udm_verify(struct ark_udm_t *udm);
+__rte_internal
void ark_udm_configure(struct ark_udm_t *udm,
uint32_t headroom,
uint32_t dataroom);
+__rte_internal
void ark_udm_write_addr(struct ark_udm_t *udm, rte_iova_t addr);
+__rte_internal
void ark_udm_dump_stats(struct ark_udm_t *udm, const char *msg);
+__rte_internal
void ark_udm_dump_queue_stats(struct ark_udm_t *udm, const char *msg,
uint16_t qid);
+__rte_internal
void ark_udm_dump_setup(struct ark_udm_t *udm, uint16_t q_id);
/* Per queue data */
+__rte_internal
uint64_t ark_udm_dropped(struct ark_udm_t *udm);
+__rte_internal
uint64_t ark_udm_bytes(struct ark_udm_t *udm);
+__rte_internal
uint64_t ark_udm_packets(struct ark_udm_t *udm);
-
+__rte_internal
void ark_udm_queue_stats_reset(struct ark_udm_t *udm);
+__rte_internal
void ark_udm_queue_enable(struct ark_udm_t *udm, int enable);
#endif