MCPcopy Create free account
hub / github.com/F-Stack/f-stack / parse_fft_params

Function parse_fft_params

dpdk/app/test-bbdev/test_bbdev_vector.c:920–1070  ·  view source on GitHub ↗

Parses FFT parameters and assigns to global variable. */

Source from the content-addressed store, hash-verified

918
919/* Parses FFT parameters and assigns to global variable. */
920static int
921parse_fft_params(const char *key_token, char *token,
922 struct test_bbdev_vector *vector)
923{
924 int ret = 0, status = 0, i, shift;
925 uint32_t op_flags = 0;
926 char *tok, *err = NULL;
927
928 struct rte_bbdev_op_fft *fft = &vector->fft;
929
930 if (starts_with(key_token, op_data_prefixes[DATA_INPUT])) {
931 ret = parse_data_entry(key_token, token, vector,
932 DATA_INPUT,
933 op_data_prefixes[DATA_INPUT]);
934 } else if (starts_with(key_token, "dewin_input")) {
935 ret = parse_data_entry(key_token, token, vector,
936 DATA_HARQ_INPUT,
937 "dewin_input");
938 } else if (starts_with(key_token, "output")) {
939 ret = parse_data_entry(key_token, token, vector,
940 DATA_HARD_OUTPUT,
941 "output");
942 } else if (starts_with(key_token, "power_output")) {
943 ret = parse_data_entry(key_token, token, vector,
944 DATA_SOFT_OUTPUT,
945 "power_output");
946 } else if (!strcmp(key_token, "in_sequence_size")) {
947 fft->input_sequence_size = (uint32_t) strtoul(token, &err, 0);
948 ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
949 } else if (!strcmp(key_token, "in_leading_padding")) {
950 fft->input_leading_padding = (uint32_t) strtoul(token, &err, 0);
951 ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
952 } else if (!strcmp(key_token, "out_sequence_size")) {
953 fft->output_sequence_size = (uint32_t) strtoul(token, &err, 0);
954 ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
955 } else if (!strcmp(key_token, "out_leading_depadding")) {
956 fft->output_leading_depadding = (uint32_t) strtoul(token, &err, 0);
957 ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
958 } else if (!strcmp(key_token, "window_index")) {
959 tok = strtok(token, VALUE_DELIMITER);
960 if (tok == NULL)
961 return -1;
962 for (i = 0; i < FFT_WIN_SIZE; i++) {
963 shift = (i % 2) ? 4 : 0;
964 fft->window_index[i / 2] |= (uint32_t) strtoul(tok, &err, 0)
965 << shift;
966 if (i < (FFT_WIN_SIZE - 1)) {
967 tok = strtok(NULL, VALUE_DELIMITER);
968 if (tok == NULL)
969 return -1;
970 }
971 }
972 ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
973 } else if (!strcmp(key_token, "cs_bitmap")) {
974 fft->cs_bitmap = (uint32_t) strtoul(token, &err, 0);
975 ret = ((err == NULL) || (*err != '\0')) ? -1 : 0;
976 } else if (!strcmp(key_token, "num_antennas_log2")) {
977 fft->num_antennas_log2 = (uint32_t) strtoul(token, &err, 0);

Callers 1

parse_entryFunction · 0.85

Calls 8

starts_withFunction · 0.85
parse_data_entryFunction · 0.85
strcmpFunction · 0.85
strtoulFunction · 0.85
strtokFunction · 0.85
parse_turbo_flagsFunction · 0.85
parse_expected_statusFunction · 0.85
printfFunction · 0.50

Tested by

no test coverage detected