numam-dpdk/drivers/raw/ifpga/afu_pmd_he_mem.h
Wei Huang 72dbdec4da raw/ifpga: add HE-MEM AFU driver
HE-MEM is one of the host exerciser modules in OFS FPGA,
which is used to test local memory with built-in traffic
generator.
This driver initialize the module and report test result.

Signed-off-by: Wei Huang <wei.huang@intel.com>
Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
2022-06-21 09:27:17 +02:00

47 lines
1.1 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2022 Intel Corporation
*/
#ifndef AFU_PMD_HE_MEM_H
#define AFU_PMD_HE_MEM_H
#ifdef __cplusplus
extern "C" {
#endif
#include "afu_pmd_core.h"
#include "rte_pmd_afu.h"
#define HE_MEM_TG_UUID_L 0xa3dc5b831f5cecbb
#define HE_MEM_TG_UUID_H 0x4dadea342c7848cb
#define NUM_MEM_TG_CHANNELS 4
#define MEM_TG_TIMEOUT_MS 5000
#define MEM_TG_POLL_INTERVAL_MS 10
/* MEM-TG registers definition */
#define MEM_TG_SCRATCHPAD 0x28
#define MEM_TG_CTRL 0x30
#define TGCONTROL(n) (1 << (n))
#define MEM_TG_STAT 0x38
#define TGSTATUS(v, n) (((v) >> (n << 2)) & 0xf)
#define TGPASS(v, n) (((v) >> ((n << 2) + 3)) & 0x1)
#define TGFAIL(v, n) (((v) >> ((n << 2) + 2)) & 0x1)
#define TGTIMEOUT(v, n) (((v) >> ((n << 2) + 1)) & 0x1)
#define TGACTIVE(v, n) (((v) >> (n << 2)) & 0x1)
struct he_mem_tg_ctx {
uint8_t *addr;
};
struct he_mem_tg_priv {
struct rte_pmd_afu_he_mem_tg_cfg he_mem_tg_cfg;
struct he_mem_tg_ctx he_mem_tg_ctx;
};
#ifdef __cplusplus
}
#endif
#endif /* AFU_PMD_HE_MEM_H */