1*0f8d9133SZhirun Yan /* SPDX-License-Identifier: BSD-3-Clause 2*0f8d9133SZhirun Yan * Copyright(C) 2023 Intel Corporation 3*0f8d9133SZhirun Yan */ 4*0f8d9133SZhirun Yan 5*0f8d9133SZhirun Yan #include "rte_graph_worker_common.h" 6*0f8d9133SZhirun Yan #include "graph_private.h" 7*0f8d9133SZhirun Yan 8*0f8d9133SZhirun Yan bool rte_graph_model_is_valid(uint8_t model)9*0f8d9133SZhirun Yanrte_graph_model_is_valid(uint8_t model) 10*0f8d9133SZhirun Yan { 11*0f8d9133SZhirun Yan if (model > RTE_GRAPH_MODEL_MCORE_DISPATCH) 12*0f8d9133SZhirun Yan return false; 13*0f8d9133SZhirun Yan 14*0f8d9133SZhirun Yan return true; 15*0f8d9133SZhirun Yan } 16*0f8d9133SZhirun Yan 17*0f8d9133SZhirun Yan int rte_graph_worker_model_set(uint8_t model)18*0f8d9133SZhirun Yanrte_graph_worker_model_set(uint8_t model) 19*0f8d9133SZhirun Yan { 20*0f8d9133SZhirun Yan struct graph_head *graph_head = graph_list_head_get(); 21*0f8d9133SZhirun Yan struct graph *graph; 22*0f8d9133SZhirun Yan 23*0f8d9133SZhirun Yan if (!rte_graph_model_is_valid(model)) 24*0f8d9133SZhirun Yan return -EINVAL; 25*0f8d9133SZhirun Yan 26*0f8d9133SZhirun Yan STAILQ_FOREACH(graph, graph_head, next) 27*0f8d9133SZhirun Yan graph->graph->model = model; 28*0f8d9133SZhirun Yan 29*0f8d9133SZhirun Yan return 0; 30*0f8d9133SZhirun Yan } 31*0f8d9133SZhirun Yan 32*0f8d9133SZhirun Yan uint8_t rte_graph_worker_model_get(struct rte_graph * graph)33*0f8d9133SZhirun Yanrte_graph_worker_model_get(struct rte_graph *graph) 34*0f8d9133SZhirun Yan { 35*0f8d9133SZhirun Yan if (!rte_graph_model_is_valid(graph->model)) 36*0f8d9133SZhirun Yan return -EINVAL; 37*0f8d9133SZhirun Yan 38*0f8d9133SZhirun Yan return graph->model; 39*0f8d9133SZhirun Yan } 40