An error occurred fetching the project authors.
  1. 19 Jan, 2024 1 commit
  2. 09 Jan, 2024 1 commit
  3. 04 Jan, 2024 1 commit
    • luis_pereira87's avatar
      Fix FAPI CoreSetType enumeration options after the fix on the description made by SCF · 87e8ba0b
      luis_pereira87 authored
      SCF FAPI 222.10.02 had a bug on the description of CoreSetType:
      0: CORESET is configured by the PBCH or SIB1
      (subcarrier 0 of CRB0 for DMRS mapping)
      1: otherwise (subcarrier 0 of CORESET)
      
      That was fixed in SCF 222.10.04:
      0: CORESET is configured by the PBCH or SIB1
      (subcarrier 0 of the CORESET)
      1: otherwise (subcarrier 0 of CRB0 for DMRS mapping)
      
      That wrong description created a misunderstanding, to overcome it we "wrongly" added a third value. This commit fixes that and aligns the CoreSetType with FAPI 222.10.04
      87e8ba0b
  4. 19 Dec, 2023 1 commit
    • Laurent THOMAS's avatar
      move common code file in common directory · 63b64d4f
      Laurent THOMAS authored
      remove several unused files
      remove mem_block_t that is never used in a different way than a simple heap buffer
      move up IP address type and remove duplications of the same struct declaration
      63b64d4f
  5. 17 Dec, 2023 1 commit
  6. 12 Dec, 2023 2 commits
  7. 20 Nov, 2023 2 commits
  8. 17 Oct, 2023 1 commit
    • Rúben Soares da Silva's avatar
      Change PDU_Length and TLV length calculation to be inline with SCF 222.10.02 · bfd12e4a
      Rúben Soares da Silva authored
      PDU Length is as per SCF 222.10.02: The total length (in bytes) of the
      PDU description and  PDU data, without the padding bytes. From
      TX_DATA.request we get 8 (2 bytes PDU_Length + 2 bytes PDU_Index + 4
      bytes num_TLV ) and from each TLV we get 4 + value size ( 2 bytes tag +
      2 bytes length + value size without pading)
      
      Therefore, add function to compute PDU_length() value for
      TX_Data.request, taking into account how many TLVs there are.
      compute_PDU_length() does not rely on access to `nfapi_nr_pdu_t`.
      Put it into nr_mac_common.c to avoid introducing dependencies.
      bfd12e4a
  9. 02 Oct, 2023 1 commit
  10. 22 Sep, 2023 1 commit
    • Robert Schmidt's avatar
      Move radio configuration parameters to MAC, SIB1 not initialized! · c9305639
      Robert Schmidt authored
      !SIB1 is not correctly filled! This commit does not work with COTS UEs!
      The next commit fixes this.
      
      - Move radio config (e.g., minRXTXTIME, SIB1 TDA, do_SRS, etc) down to
        MAC.
      - Some parameters in MAC are redundant: delete them.
      - Remove call to nr_mac_config_scc() from RRC and simulators, the MAC
        initialization routine calls it implicitly
      c9305639
  11. 21 Aug, 2023 1 commit
    • Robert Schmidt's avatar
      Lower scheduler PF averaging constant · 8ad215f6
      Robert Schmidt authored
      This time constant plays a major role in how long a UE has to wait
      maximally before it might be scheduled. For instance, if a UE had a lot
      of traffic, the average traffic will be high, pushing the PF coefficient
      down. If another UE with no traffic in the past becomes active with
      heavy traffic, the first UE might not be scheduled for an extended
      period of time.
      
      In the AW2S-Amarisoft UE CI test pipeline, we sometimes see that the
      maximum number of RLC retransmissions was reached. While this might not
      be the (only) cause, scheduling a UE more often might prevent such
      situations, and we saw an improved stability.
      8ad215f6
  12. 02 Aug, 2023 1 commit
  13. 23 Jun, 2023 1 commit
  14. 25 May, 2023 1 commit
  15. 03 May, 2023 2 commits
    • Robert Schmidt's avatar
      Introduce mutex for MAC scheduler · 31a10033
      Robert Schmidt authored
      Different threads (e.g., RRC, DU tasks) might access the scheduler at
      the same time as the thread that drivers the scheduler itself
      (ru_thread). To avoid data races, introduce this mutex.
      
      Most functions of the scheduler are only used internally and have been
      marked static in the previous commit. The remaining ones, in this
      commit, either lock the scheduler mutex sched_lock, or a comment has
      been added of the assumption of how such function is to be locked (e.g.,
      if it might be called from different places, or if it is called by a
      function that already locks the scheduler).
      31a10033
    • Robert Schmidt's avatar
      NR MAC: make many functions static · e7a8eb95
      Robert Schmidt authored
      To know which functions are used from outside and which are
      module-local, make many functions static. This will allow us to protect
      only those functions with a mutex for which it is necessary.
      e7a8eb95
  16. 14 Apr, 2023 1 commit
  17. 12 Apr, 2023 1 commit
  18. 05 Apr, 2023 1 commit
    • Cedric Roux's avatar
      bugfix: change memory management of interface between PHY and MAC scheduler · 733c7e5e
      Cedric Roux authored
      This commit fixes a bug caused by global variables in the gNB_MAC_INST
      structure used to transfer MAC scheduler's results to the PHY layer.
      
      When using several threads in the PHY layer, it may happen that the
      MAC scheduler is called a second time by the second PHY thread for the
      next slot before the content of the global variables in the gNB_MAC_INST
      structure used to store the result of the MAC scheduler for the current
      slot have been consumed by the first thread, leading to unpredictable
      results (all of them certainly wrong).
      
      The solution is to introduce a small memory management module for the
      interface between the PHY threads and the MAC scheduler. The MAC
      scheduler now fills the data structures passed to it, and not a
      global variable anymore. The PHY layer manages the structures and
      ensures that no data is overwritten before being fully consumed by
      the various threads of the PHY layer.
      
      Some care has to be taken because several PHY threads will access the
      same structures at the same time for a given slot (in read mode, so
      it's okay). A mechanism of reference counting has thus been introduced.
      
      Only one CC is supported. This restriction should not be too hard
      to remove if/when needed. (The code before this commit does not seem
      to work for more than one CC anyway.)
      733c7e5e
  19. 17 Mar, 2023 1 commit
  20. 15 Mar, 2023 1 commit
  21. 09 Mar, 2023 1 commit
  22. 23 Feb, 2023 2 commits
  23. 21 Feb, 2023 1 commit
  24. 06 Feb, 2023 2 commits
    • Guido's avatar
      Harmonized debug logging in DL/UL scheduling · bc21da6a
      Guido authored
      - made it consistent throughout the code
      - always reporting the UE RNTI that is failing (helps debug in a multi-ue operation)
      bc21da6a
    • Guido's avatar
      Reuse old TDA when allocating DL retransmissions · 389b9cf4
      Guido authored
      - reusing old TDA whenever possible helps allocate DL retransmission when TDA chnges
      - e.g. nrOfSymbols of new TDA > nrOfSymbols old TDA (leading to TBS size mismatching and allocation failure)
      - This bugifx improves DL throughput stability in a multi-UE operation
      389b9cf4
  25. 19 Jan, 2023 1 commit
  26. 27 Dec, 2022 1 commit
  27. 19 Dec, 2022 2 commits
    • Guido's avatar
      Bugfix wrong use of qsort · c99539a8
      Guido authored
      - The qsort() function is defined as:
        void qsort(void *base, size_t nmemb, size_t size,
          int (*compar)(const void *, const void *));
        and sorts an array with nmemb elements of size size.
      - in the gNB scheduling functions, nmemb and size were swapped
      - this was causing a stack overflow ending with a SEGFAULT under certain circumstances
      c99539a8
    • francescomani's avatar
      88192f13
  28. 17 Nov, 2022 1 commit
  29. 27 Oct, 2022 1 commit
  30. 28 Sep, 2022 1 commit
  31. 26 Sep, 2022 3 commits
  32. 01 Sep, 2022 1 commit