X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=fapi_5g%2Fsource%2Fapi%2Ffapi2phy%2Fnr5g_fapi_fapi2phy_api.c;h=5f37c8933f9c78b732a07348f9e38b4f2c44c083;hb=892daba4c616407f16506415d5a69549519ef11d;hp=fb8984bddcc174fedf1869d1f5d757dd842193d0;hpb=9d66fca5c45c8b3e0d6eab6d51a90c8e9d2614dc;p=o-du%2Fphy.git diff --git a/fapi_5g/source/api/fapi2phy/nr5g_fapi_fapi2phy_api.c b/fapi_5g/source/api/fapi2phy/nr5g_fapi_fapi2phy_api.c index fb8984b..5f37c89 100644 --- a/fapi_5g/source/api/fapi2phy/nr5g_fapi_fapi2phy_api.c +++ b/fapi_5g/source/api/fapi2phy/nr5g_fapi_fapi2phy_api.c @@ -1,6 +1,6 @@ /****************************************************************************** * -* Copyright (c) 2019 Intel. +* Copyright (c) 2021 Intel. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,15 +22,16 @@ * **/ +#include "nr5g_mac_phy_api.h" #include #include "nr5g_fapi_internal.h" -#include "gnb_l1_l2_api.h" #include "nr5g_fapi_wls.h" #include "nr5g_fapi_fapi2phy_api.h" #include "nr5g_fapi_fapi2phy_wls.h" #include "nr5g_fapi_log.h" nr5g_fapi_fapi2phy_queue_t fapi2phy_q; +nr5g_fapi_fapi2phy_queue_t fapi2phy_q_urllc; //------------------------------------------------------------------------------ /** @ingroup group_source_api_fapi2phy @@ -50,6 +51,12 @@ p_nr5g_fapi_fapi2phy_queue_t nr5g_fapi_fapi2phy_queue( return &fapi2phy_q; } +p_nr5g_fapi_fapi2phy_queue_t nr5g_fapi_fapi2phy_queue_urllc( + ) +{ + return &fapi2phy_q_urllc; +} + uint8_t nr5g_fapi_get_stats_location( uint8_t msg_type) { @@ -152,6 +159,7 @@ PMAC2PHY_QUEUE_EL nr5g_fapi_fapi2phy_create_api_list_elem( **/ //------------------------------------------------------------------------------ void nr5g_fapi_fapi2phy_add_to_api_list( + bool is_urllc, PMAC2PHY_QUEUE_EL p_list_elem) { p_nr5g_fapi_fapi2phy_queue_t queue = NULL; @@ -160,7 +168,9 @@ void nr5g_fapi_fapi2phy_add_to_api_list( return; } - queue = nr5g_fapi_fapi2phy_queue(); + queue = is_urllc ? nr5g_fapi_fapi2phy_queue_urllc() + : nr5g_fapi_fapi2phy_queue(); + if (queue->p_send_list_head && queue->p_send_list_tail) { queue->p_send_list_tail->pNext = p_list_elem; queue->p_send_list_tail = p_list_elem; @@ -181,17 +191,18 @@ void nr5g_fapi_fapi2phy_add_to_api_list( **/ //------------------------------------------------------------------------------ void nr5g_fapi_fapi2phy_send_api_list( - ) + bool is_urllc) { uint8_t ret = FAILURE; p_nr5g_fapi_fapi2phy_queue_t queue = NULL; - queue = nr5g_fapi_fapi2phy_queue(); + queue = is_urllc ? nr5g_fapi_fapi2phy_queue_urllc() + : nr5g_fapi_fapi2phy_queue(); if (queue->p_send_list_head) { NR5G_FAPI_LOG(TRACE_LOG, ("[NR5G_FAPI][FAPI2PHY] Sending API's to PHY")); - ret = nr5g_fapi_fapi2phy_wls_send(queue->p_send_list_head); + ret = nr5g_fapi_fapi2phy_wls_send(queue->p_send_list_head, is_urllc); if (FAILURE == ret) { NR5G_FAPI_LOG(ERROR_LOG, ("[NR5G_FAPI][FAPI2PHY] Error sending API's to PHY"));