1f6661e6dSSrikanth Yalavarthi /* SPDX-License-Identifier: BSD-3-Clause 2f6661e6dSSrikanth Yalavarthi * Copyright (c) 2022 Marvell. 3f6661e6dSSrikanth Yalavarthi */ 4f6661e6dSSrikanth Yalavarthi 5f6661e6dSSrikanth Yalavarthi #ifndef TEST_MODEL_COMMON_H 6f6661e6dSSrikanth Yalavarthi #define TEST_MODEL_COMMON_H 7f6661e6dSSrikanth Yalavarthi 8f6661e6dSSrikanth Yalavarthi #include <rte_mldev.h> 9f6661e6dSSrikanth Yalavarthi 10f6661e6dSSrikanth Yalavarthi #include "test_common.h" 11f6661e6dSSrikanth Yalavarthi 12f6661e6dSSrikanth Yalavarthi enum model_state { 13f6661e6dSSrikanth Yalavarthi MODEL_INITIAL, 14f6661e6dSSrikanth Yalavarthi MODEL_LOADED, 15f6661e6dSSrikanth Yalavarthi MODEL_STARTED, 16f6661e6dSSrikanth Yalavarthi MODEL_ERROR, 17f6661e6dSSrikanth Yalavarthi }; 18f6661e6dSSrikanth Yalavarthi 19f6661e6dSSrikanth Yalavarthi struct ml_model { 20f6661e6dSSrikanth Yalavarthi uint16_t id; 21f6661e6dSSrikanth Yalavarthi struct rte_ml_model_info info; 22f6661e6dSSrikanth Yalavarthi enum model_state state; 23bbd272edSSrikanth Yalavarthi 24bbd272edSSrikanth Yalavarthi uint64_t inp_dsize; 25bbd272edSSrikanth Yalavarthi uint64_t inp_qsize; 26bbd272edSSrikanth Yalavarthi uint64_t out_dsize; 27bbd272edSSrikanth Yalavarthi uint64_t out_qsize; 28bbd272edSSrikanth Yalavarthi 29bbd272edSSrikanth Yalavarthi uint8_t *input; 30bbd272edSSrikanth Yalavarthi uint8_t *output; 31*da679339SSrikanth Yalavarthi uint8_t *reference; 32bbd272edSSrikanth Yalavarthi 33bbd272edSSrikanth Yalavarthi struct rte_mempool *io_pool; 34f6661e6dSSrikanth Yalavarthi }; 35f6661e6dSSrikanth Yalavarthi 36f6661e6dSSrikanth Yalavarthi int ml_model_load(struct ml_test *test, struct ml_options *opt, struct ml_model *model, 37f6661e6dSSrikanth Yalavarthi uint16_t fid); 38f6661e6dSSrikanth Yalavarthi int ml_model_unload(struct ml_test *test, struct ml_options *opt, struct ml_model *model, 39f6661e6dSSrikanth Yalavarthi uint16_t fid); 40f6661e6dSSrikanth Yalavarthi int ml_model_start(struct ml_test *test, struct ml_options *opt, struct ml_model *model, 41f6661e6dSSrikanth Yalavarthi uint16_t fid); 42f6661e6dSSrikanth Yalavarthi int ml_model_stop(struct ml_test *test, struct ml_options *opt, struct ml_model *model, 43f6661e6dSSrikanth Yalavarthi uint16_t fid); 44f6661e6dSSrikanth Yalavarthi 45f6661e6dSSrikanth Yalavarthi #endif /* TEST_MODEL_COMMON_H */ 46