Commit Graph
426 Commits
Author SHA1 Message Date
francescomani 08d2c9fb74 Merge remote-tracking branch 'origin/develop' into NR_scheduling_CSIRS 2021-03-12 15:54:13 +01:00
Robert Schmidt 43f6e2f0de Shorten RSRP meas print, avoid SIGFPE 2021-03-11 12:22:32 +01:00
Mahesh 39577ba0d8 UL P7 messages and UL scheduling re-enabled. Disabled HARQ from the UE side --> DL CRC OK 2021-03-11 12:49:40 +05:30
francescomani c05b62d620 including measured rsrp in mac stats 2021-03-10 15:05:26 +01:00
Shruthi 28d02f8722 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop 2021-03-03 23:15:12 +05:30
Shruthi 9fce798a0e Fixed errors in nFAPI after first merge 2021-03-03 23:09:02 +05:30
Cedric Roux 9edc8cce0a nr pdcp: improvements
Implement data transfer (38.331 5.2):
    - transmit operation (in nr_pdcp_entity_recv_sdu)
    - receive operation (in nr_pdcp_entity_recv_pdu)
    - t-Reordering expiration

To keep track of time the function nr_pdcp_wakeup_timer_thread has been
added and is called by the gNB's MAC scheduler via nr_pdcp_tick.

(The UE has not been modified.)

A thread has been introduced to set time of all the existing PDCP
entities in the system. This probably does not scale well with many
PDCP entities (many UEs connected to the gNB). To be changed at some
point when needed. Hopefully, with a few UEs this mechanism won't be
too problematic (ie. won't cause realtime problems).

The problem with time in PDCP is that SDUs are kept if some are
missing, to do reordering. A timer is started and when it expires
we have to transmit the SDUs even if some are still missing. We
want to do that as soon as possible. So we have to check timers
often (every millisecond).

In RLC the time is set when there is some activity (SDU or PDU
received). In PDCP we cannot wait for this kind of activity. We
would keep packets longer than necessary, which may disturb
upper layers (think: TCP). That is why we introduced the thread,
as a simple mechanism to keep packets no longer than necessary.

The locking done by this thread may create realtime issues.

The whole logic of time keeping can be changed later if it turns
out that it is not efficient.

The functions dealing with DRB AM have been removed. All the types
of PDCP entities (DRB AM, DRB UM, SRB) use the same mechanism for
transmit and receive operations. So the code has been made common
for all those types.

We don't deal with:
    - entity re-establishment, entity release or entity suspend
    - SDU discard (the timer is present but not used)
    - status reporting
    - data recovery
    - data volume calculation
    - header compression / decompression

There is no plan to implement those features in a near future.

Integrity protection is not done yet, and will be implemented soon.
2021-03-03 14:06:31 +01:00
Guhan 02ae169250 Rebased to latest develop and removed nr_rx_acknack function 2021-03-01 11:43:30 +05:30
hardy 8d05695722 Merge remote-tracking branch 'origin/benetel_driver_update' into integration_2021_wk09_b 2021-02-26 16:09:05 +01:00
guhan 5d4f815181 Removed dead code 2021-02-26 11:50:13 +05:30
k.ramya 0a0a5e48c3 code rearrangement 2021-02-26 11:37:58 +05:30
Francesco Mani 898f752059 uci mac functions in a new file 2021-02-26 11:29:28 +05:30
r.karey 3fa6b36ac3 UCI bitlength calculation 2021-02-26 11:04:20 +05:30
vr.devendra 6a1a0e8257 updated TCI handling apis 2021-02-26 11:00:37 +05:30
r.karey 32139c6f91 Added more logs and fixed assertion 2021-02-26 10:48:36 +05:30
Francesco Mani cad40aabff uci mac functions in a new file 2021-02-26 10:20:51 +05:30
p.shashikala 6a0168b42b CSI payload bits inversion issue 2021-02-26 10:20:51 +05:30
Rangaswami db718321be Fixed the segemntation fault and added CSI bitlength in uci_pdu 2021-02-26 10:20:51 +05:30
r.karey bece5400d7 UCI bitlength calculation 2021-02-26 10:20:51 +05:30
vr.devendra 94ae29d9e5 updated TCI handling apis 2021-02-26 10:20:51 +05:30
Rangaswami abc13b60b2 Initial commits for TCI and CSI reporting changes 2021-02-26 10:20:51 +05:30
vr.devendra 6bff696646 updated TCI handling apis 2021-02-26 10:20:51 +05:30
francescomani 9afb19858a Merge remote-tracking branch 'origin/develop' into NR_FAPI_beamindex_SSB_RO 2021-02-25 12:04:24 +01:00
francescomani 465529ce45 adapting scheduling csirs for multi UE (to be verified) 2021-02-22 17:04:40 +01:00
francescomani ba02f61f28 Merge remote-tracking branch 'origin/develop' into NR_scheduling_CSIRS 2021-02-22 16:30:49 +01:00
Florian Kaltenberger a51e3defa8 when PRACH config 4 is used (Benetel RRU) we only schedule UL slots 8 and 9 2021-02-19 11:15:59 +01:00
Mahesh f69af6abaf merge MR978 (5G nFAPI) into develop 2021-02-12 16:26:22 +05:30
francescomani 63f264a3d7 quickfix for fr2 xlsch bitmap 2021-02-12 11:20:57 +01:00
Mahesh 7f4ffe29c8 Fix whitespaces 2021-02-12 01:25:09 +05:30
Mahesh eb19e02cf3 Merging MR978 with develop 2021-02-11 22:50:25 +05:30
francescomani cb296fa050 Merge remote-tracking branch 'origin/develop' into NR_FAPI_beamindex_SSB_RO 2021-02-11 18:15:12 +01:00
Robert Schmidt 54a2d698db Fix build: test for slot from within preprocessor 2021-02-09 16:46:44 +01:00
hardy 665688681b Merge remote-tracking branch 'origin/ue-fixes' into integration_2021_wk06_b 2021-02-09 10:54:58 +01:00
Mahesh 0e6f1e6ad6 Merge conflicts resolved 2021-02-08 18:05:29 +05:30
Robert Schmidt 9b77575af2 Use the MAX_BWP_SIZE macro everywhere 2021-02-07 10:45:57 +01:00
ChiehChun 8a823d22cf Better format dump_mac_stats() 2021-02-07 10:45:57 +01:00
ChiehChun c51cb3f40b Enable 2 UL slots 2021-02-07 10:45:57 +01:00
ChiehChun 9fb45867a1 Initial num_pdcch_cand for multi-UE 2021-02-07 10:39:40 +01:00
Robert Schmidt 80e23a179e Enable 12 slots
This commit enables more slots so that the "real UE" preprocessor can
schedule them. The DL phytest preprocessor continues to only schedule
slots 1 & 3.  This is because the OAI-UE needs to have PUCCH scheduled
at least six slots in advance.  Since we do not support this (yet), but
assume that two slots are enough, we schedule the UE only in slot 1 & 3
so it has 6 slots until slot 7 to send PUCCH.
2021-02-07 10:39:39 +01:00
Robert Schmidt 96e1f3597b Group PDCCH PDU per CC/BWP/CORESET in RA, and reuse in DLSCH 2021-02-07 10:39:39 +01:00
Robert Schmidt 943d55717e Scheduler: introduce BIT() macro 2021-02-07 10:39:39 +01:00
Robert Schmidt 614b2c1951 DLSCH: do not check for slot number 2021-02-07 10:39:39 +01:00
Robert Schmidt 1c75496ffa nr_schedule_pucch() for multiple UEs 2021-02-07 10:39:39 +01:00
Robert Schmidt 7879e6ad32 Remove (unnecessary) num_slots_per_tdd in DLSCH sched 2021-02-07 10:39:39 +01:00
Robert Schmidt 94d8147ece nr_csi_meas_reporting() for multiple UEs 2021-02-07 10:39:39 +01:00
Robert Schmidt 5a2caa5475 Refactor nr_csi_meas_reporting(): check only in slot 0 2021-02-06 20:50:28 +01:00
Sakthivel Velumani d973db9273 Fix for dlsch issue on caracal
1. Reducing rx gain at UE. Existing gain seems to saturate the receiver with full bw allocaiton.
2. Setting different dlsch bitmap for phytest mode.
2021-02-01 13:47:45 +01:00
Sakthivel Velumani b8795d3824 Merge branch 'develop' into NR_FAPI_beamindex_SSB_RO
Fixed merge conflicts.
2021-01-19 20:58:10 +01:00
Mahesh b1a760a61d Addressed some minor issues 2021-01-18 15:42:53 +05:30
Mahesh 868e40e19b Resolved errors due to merge 2021-01-15 19:30:41 +05:30