mirror of https://github.com/PentHertz/srsLTE.git
Merge branch 'next' into enbmimo
This commit is contained in:
commit
c2d8508dcb
|
@ -590,11 +590,12 @@ int srslte_ra_dl_dci_to_grant(srslte_ra_dl_dci_t *dci,
|
||||||
ret = dl_dci_to_grant_mcs(dci, grant, crc_is_crnti);
|
ret = dl_dci_to_grant_mcs(dci, grant, crc_is_crnti);
|
||||||
if (ret == SRSLTE_SUCCESS) {
|
if (ret == SRSLTE_SUCCESS) {
|
||||||
// Apply Section 7.1.7.3. If RA-RNTI and Format1C rv_idx=0
|
// Apply Section 7.1.7.3. If RA-RNTI and Format1C rv_idx=0
|
||||||
if (msg_rnti >= SRSLTE_RARNTI_START && msg_rnti <= SRSLTE_RARNTI_END &&
|
if (dci->dci_is_1c) {
|
||||||
dci->dci_is_1c)
|
if ((msg_rnti >= SRSLTE_RARNTI_START && msg_rnti <= SRSLTE_RARNTI_END) || msg_rnti == SRSLTE_PRNTI)
|
||||||
{
|
{
|
||||||
dci->rv_idx = 0;
|
dci->rv_idx = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return SRSLTE_ERROR;
|
return SRSLTE_ERROR;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <boost/concept_check.hpp>
|
|
||||||
#include <srslte/interfaces/sched_interface.h>
|
|
||||||
|
|
||||||
|
#include "srslte/srslte.h"
|
||||||
#include "srslte/common/pdu.h"
|
#include "srslte/common/pdu.h"
|
||||||
#include "mac/scheduler_ue.h"
|
#include "mac/scheduler_ue.h"
|
||||||
#include "mac/scheduler.h"
|
#include "mac/scheduler.h"
|
||||||
|
@ -412,12 +411,6 @@ int sched_ue::generate_format1(dl_harq_proc *h,
|
||||||
|
|
||||||
h->new_tx(0, tti, mcs, tbs, data->dci_location.ncce);
|
h->new_tx(0, tti, mcs, tbs, data->dci_location.ncce);
|
||||||
|
|
||||||
Debug("SCHED: Alloc format1 new mcs=%d, tbs=%d, nof_prb=%d, req_bytes=%d\n", mcs, tbs, nof_prb, req_bytes);
|
|
||||||
} else {
|
|
||||||
h->new_retx(0, tti, &mcs, &tbs);
|
|
||||||
Debug("SCHED: Alloc format1 previous mcs=%d, tbs=%d\n", mcs, tbs);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allocate MAC ConRes CE
|
// Allocate MAC ConRes CE
|
||||||
if (need_conres_ce) {
|
if (need_conres_ce) {
|
||||||
data->pdu[0][0].lcid = srslte::sch_subh::CON_RES_ID;
|
data->pdu[0][0].lcid = srslte::sch_subh::CON_RES_ID;
|
||||||
|
@ -435,6 +428,12 @@ int sched_ue::generate_format1(dl_harq_proc *h,
|
||||||
}
|
}
|
||||||
} while(rem_tbs > 0 && x > 0);
|
} while(rem_tbs > 0 && x > 0);
|
||||||
|
|
||||||
|
Debug("SCHED: Alloc format1 new mcs=%d, tbs=%d, nof_prb=%d, req_bytes=%d\n", mcs, tbs, nof_prb, req_bytes);
|
||||||
|
} else {
|
||||||
|
h->new_retx(0, tti, &mcs, &tbs);
|
||||||
|
Debug("SCHED: Alloc format1 previous mcs=%d, tbs=%d\n", mcs, tbs);
|
||||||
|
}
|
||||||
|
|
||||||
data->rnti = rnti;
|
data->rnti = rnti;
|
||||||
|
|
||||||
if (tbs > 0) {
|
if (tbs > 0) {
|
||||||
|
|
|
@ -540,7 +540,7 @@ int phch_worker::decode_pdsch(srslte_ra_dl_grant_t *grant, uint8_t *payload[SRSL
|
||||||
for (uint32_t tb = 0; tb < SRSLTE_MAX_CODEWORDS; tb++) {
|
for (uint32_t tb = 0; tb < SRSLTE_MAX_CODEWORDS; tb++) {
|
||||||
if (grant->tb_en[tb] && (rv[tb] < 0 || rv[tb] > 3)) {
|
if (grant->tb_en[tb] && (rv[tb] < 0 || rv[tb] > 3)) {
|
||||||
valid_config = false;
|
valid_config = false;
|
||||||
Error("Wrong RV (%d) for TB index %d", rv[tb], tb);
|
Error("Wrong RV (%d) for TB index %d\n", rv[tb], tb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -656,6 +656,9 @@ int phch_worker::decode_pdsch(srslte_ra_dl_grant_t *grant, uint8_t *payload[SRSL
|
||||||
Error("Error configuring DL grant\n");
|
Error("Error configuring DL grant\n");
|
||||||
ret = SRSLTE_ERROR;
|
ret = SRSLTE_ERROR;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
Error("Error invalid DL config\n");
|
||||||
|
ret = SRSLTE_ERROR;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue