X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=fapi_5g%2Fsource%2Fapi%2Ffapi2phy%2Fp7%2Fnr5g_fapi_fapi2phy_p7_pvt_proc.h;h=8531bf4197d5db0a65a74fc77a298923c1668319;hb=HEAD;hp=8ba887a470a8e45c2f8d20075b06d7e19d81d8cf;hpb=9d66fca5c45c8b3e0d6eab6d51a90c8e9d2614dc;p=o-du%2Fphy.git diff --git a/fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_fapi2phy_p7_pvt_proc.h b/fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_fapi2phy_p7_pvt_proc.h index 8ba887a..8531bf4 100644 --- a/fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_fapi2phy_p7_pvt_proc.h +++ b/fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_fapi2phy_p7_pvt_proc.h @@ -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. @@ -25,16 +25,43 @@ #ifndef _NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_ #define _NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_ + +#include "nr5g_mac_phy_api.h" +#include "fapi_interface.h" +#include "fapi_vendor_extension.h" +#include "nr5g_fapi_framework.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// DL/UL_TTI.req common +uint8_t nr5g_fapi_calc_n_rbg_size( + uint16_t bwp_size); + +uint32_t nr5g_fapi_calc_rbg_index( + const uint8_t rb_bitmap[FAPI_RB_BITMAP_SIZE], + uint16_t bwp_start, + uint16_t bwp_size, + uint32_t(*get_rbg_index_mask)(uint32_t nth_bit)); + +uint16_t nr5g_fapi_get_rb_bits_for_rbg( + const uint8_t rb_bitmap[FAPI_RB_BITMAP_SIZE], + uint32_t rbg_bit, + uint8_t rbg_size, + uint16_t rb_bitmap_mask); + // DL_TTI.req uint8_t nr5g_fapi_dl_tti_req_to_phy_translation( p_nr5g_fapi_phy_instance_t p_phy_instance, fapi_dl_tti_req_t * p_fapi_req, + fapi_vendor_msg_t * p_fapi_vendor_msg, PDLConfigRequestStruct p_ia_dl_config_req); -void nr5g_fapi_fill_dci_pdu( +void nr5g_fapi_dl_tti_req_to_phy_translation_vendor_ext( p_nr5g_fapi_phy_instance_t p_phy_instance, - fapi_dl_pdcch_pdu_t * p_pdcch_pdu, - PDCIPDUStruct p_dci_pdu); + fapi_vendor_msg_t * p_fapi_vendor_msg, + PDLConfigRequestStruct p_ia_dl_config_req); void nr5g_fapi_fill_dci_pdu( p_nr5g_fapi_phy_instance_t p_phy_instance, @@ -46,9 +73,20 @@ void nr5g_fapi_fill_pdsch_pdu( fapi_dl_pdsch_pdu_t * p_pdsch_pdu, PDLSCHPDUStruct p_dlsch_pdu); -uint8_t nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB( +uint16_t nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB( uint8_t beta_pdcch_1_0); +uint16_t nr5g_fapi_calculate_nEpreRatioOfDmrsToSSB( + uint8_t power_control_offset_ss); + +uint16_t nr5g_fapi_calculate_nEpreRatioOfPDSCHToSSB( + uint8_t power_control_offset); + +uint32_t nr5g_fapi_calc_pdsch_rbg_index( + const uint8_t rb_bitmap[FAPI_RB_BITMAP_SIZE], + uint16_t bwp_start, + uint16_t bwp_size); + void nr5g_fapi_fill_ssb_pdu( p_nr5g_fapi_phy_instance_t p_phy_instance, PBCHPDUStruct p_bch_pdu, @@ -56,26 +94,15 @@ void nr5g_fapi_fill_ssb_pdu( void nr5g_fapi_fill_csi_rs_pdu( p_nr5g_fapi_phy_instance_t p_phy_instance, - PCSIRSPDUStruct pCSIRSPdu, - fapi_dl_csi_rs_pdu_t * p_csi_rs_pdu); + fapi_dl_csi_rs_pdu_t * p_csi_rs_pdu, + PCSIRSPDUStruct pCSIRSPdu); // UL_TTI.req -uint8_t nr5g_fapi_calc_n_rbg_size( +uint32_t nr5g_fapi_calc_pusch_rbg_index( + const uint8_t rb_bitmap[FAPI_RB_BITMAP_SIZE], + uint16_t bwp_start, uint16_t bwp_size); -uint32_t nr5g_fapi_calc_n_rbg_index_entry( - uint8_t n_rbg_size, - fapi_ul_pusch_pdu_t * p_pusch_pdu); - -uint8_t nr5g_fapi_calc_alpha_scaling( - uint8_t fapi_alpha_scaling); - -void nr5g_fapi_pusch_to_phy_ulsch_translation( - p_nr5g_fapi_phy_instance_t p_phy_instance, - nr5g_fapi_pusch_info_t * pusch_info, - fapi_ul_pusch_pdu_t * p_pusch_pdu, - ULSCHPDUStruct * p_ul_data_chan); - void nr5g_fapi_pusch_data_to_phy_ulsch_translation( nr5g_fapi_pusch_info_t * p_pusch_info, fapi_pusch_data_t * p_pusch_data, @@ -107,8 +134,6 @@ void nr5g_fapi_pucch_to_phy_ulcch_uci_translation( p_nr5g_fapi_phy_instance_t p_phy_instance, nr5g_fapi_pucch_info_t * p_pucch_info, fapi_ul_pucch_pdu_t * p_pucch_pdu, - uint8_t * num_groups, - nr5g_fapi_pucch_resources_t * p_pucch_resources, ULCCHUCIPDUStruct * p_ul_ctrl_chan); void nr5g_fapi_srs_to_phy_srs_translation( @@ -118,17 +143,44 @@ void nr5g_fapi_srs_to_phy_srs_translation( SRSPDUStruct * p_ul_srs_chan); uint8_t nr5g_fapi_ul_tti_req_to_phy_translation( + bool is_urllc, p_nr5g_fapi_phy_instance_t p_phy_instance, fapi_ul_tti_req_t * p_fapi_req, + fapi_vendor_msg_t * p_fapi_vendor_msg, + PULConfigRequestStruct p_ia_ul_config_req); + +void nr5g_fapi_ul_tti_req_to_phy_translation_vendor_ext( + fapi_vendor_msg_t * p_fapi_vendor_msg, PULConfigRequestStruct p_ia_ul_config_req); +uint8_t nr5g_fapi_ul_tti_req_to_phy_translation_vendor_ext_symbol_no( + bool is_urllc, + fapi_vendor_msg_t * p_fapi_vendor_msg, + PULConfigRequestStruct p_ia_ul_config_req, + uint8_t* symbol_no); + uint8_t nr5g_fapi_ul_dci_req_to_phy_translation( p_nr5g_fapi_phy_instance_t p_phy_instance, fapi_ul_dci_req_t * p_fapi_req, PULDCIRequestStruct p_ia_ul_dci_req); +void nr5g_fapi_ul_dci_req_to_phy_translation_vendor_ext( + p_nr5g_fapi_phy_instance_t p_phy_instance, + fapi_vendor_msg_t * p_fapi_vendor_msg, + PULDCIRequestStruct p_ia_ul_dci_req); + uint8_t nr5g_fapi_tx_data_req_to_phy_translation( p_nr5g_fapi_phy_instance_t p_phy_instance, fapi_tx_data_req_t * p_fapi_req, + fapi_vendor_msg_t * p_fapi_vendor_msg, PTXRequestStruct p_ia_tx_req); + +void nr5g_fapi_tx_data_req_to_phy_translation_vendor_ext( + fapi_vendor_msg_t * p_fapi_vendor_msg, + PTXRequestStruct p_phy_req); + +#ifdef __cplusplus +} +#endif + #endif //_NR5G_FAPI_FAP2PHY_P7_PVT_PROC_H_