This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/26050 ) Change subject: measurement: call lchan_bs_pwr_ctrl() iff *mr is valid ...................................................................... measurement: call lchan_bs_pwr_ctrl() iff *mr is valid Change-Id: I125aab5224e25585cbfbe1550d2d52d62ba198bb --- M src/common/measurement.c M src/common/power_control.c M tests/power/bs_power_loop_test.c M tests/power/bs_power_loop_test.err M tests/power/bs_power_loop_test.ok 5 files changed, 3 insertions(+), 61 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/50/26050/1 diff --git a/src/common/measurement.c b/src/common/measurement.c index 52243fe..45b7fa9 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -957,7 +957,7 @@ } lchan_ms_ta_ctrl(lchan, ms_ta, lchan->meas.ms_toa256); lchan_ms_pwr_ctrl(lchan, ms_pwr, ul_rssi, ul_ci_cb); - if (mr) + if (mr && !mr->meas_valid) /* 0 = valid */ lchan_bs_pwr_ctrl(lchan, mr); repeated_dl_facch_active_decision(lchan, mr); diff --git a/src/common/power_control.c b/src/common/power_control.c index 73a30da..2979eff 100644 --- a/src/common/power_control.c +++ b/src/common/power_control.c @@ -325,13 +325,6 @@ if (params == NULL) return 0; - /* Check if the measurement results are valid */ - if (mr->meas_valid != 0) { /* 0 = valid */ - LOGPLCHAN(lchan, DLOOP, LOGL_DEBUG, - "The measurement results are not valid\n"); - return 0; - } - LOGPLCHAN(lchan, DLOOP, LOGL_DEBUG, "Rx DL Measurement Report: " "RXLEV-FULL(%02u), RXQUAL-FULL(%u), " "RXLEV-SUB(%02u), RXQUAL-SUB(%u), " diff --git a/tests/power/bs_power_loop_test.c b/tests/power/bs_power_loop_test.c index b5e5264..06fe3ed 100644 --- a/tests/power/bs_power_loop_test.c +++ b/tests/power/bs_power_loop_test.c @@ -47,11 +47,6 @@ { DL_MEAS_FULL(rxqual, rxlev), \ DL_MEAS_SUB(rxqual, rxlev) } -#define DL_MEAS_FULL_SUB_INV(rxqual, rxlev) \ - { DL_MEAS_FULL(rxqual, rxlev), \ - DL_MEAS_SUB(rxqual, rxlev), \ - .invalid = true } - enum power_test_step_type { PWR_TEST_ST_IND_MEAS = 0, PWR_TEST_ST_SET_STATE, @@ -77,7 +72,6 @@ uint8_t rxqual_sub; uint8_t rxlev_full; uint8_t rxlev_sub; - bool invalid; } meas; /* Increase / reduce step size */ struct { @@ -131,14 +125,12 @@ .rxlev_sub = step->meas.rxlev_sub, .rxqual_full = step->meas.rxqual_full, .rxqual_sub = step->meas.rxqual_sub, - /* NOTE: inversed logic (1 means invalid) */ - .meas_valid = step->meas.invalid, }; - printf("#%02u %s() -> Measurement Results (%svalid): " + printf("#%02u %s() -> Measurement Results (valid): " "RXLEV-FULL(%02u), RXQUAL-FULL(%u), " "RXLEV-SUB(%02u), RXQUAL-SUB(%u)\n", - n, __func__, step->meas.invalid ? "in" : "", + n, __func__, mr->rxlev_full, mr->rxqual_full, mr->rxlev_sub, mr->rxqual_sub); } @@ -393,21 +385,6 @@ { .meas = DL_MEAS_FULL_SUB(7, PWR_TEST_RXLEV_TARGET) }, /* max */ }; -/* Verify that invalid measurement results are ignored. */ -static const struct power_test_step TC_inval_meas[] = { - /* Initial state: 16 dB, up to 20 dB */ - { .type = PWR_TEST_ST_SET_STATE, - .state = { .current = 16, .max = 2 * 10 } }, - - /* MS sends invalid measurement results which must be ignored */ - { .meas = DL_MEAS_FULL_SUB_INV(7, 63), .exp_txred = 16 }, - { .meas = DL_MEAS_FULL_SUB_INV(0, 0), .exp_txred = 16 }, - - { .meas = DL_MEAS_FULL_SUB(0, PWR_TEST_RXLEV_TARGET), .exp_txred = 16 }, - { .meas = DL_MEAS_FULL_SUB(0, PWR_TEST_RXLEV_TARGET), .exp_txred = 16 }, - { .meas = DL_MEAS_FULL_SUB(0, PWR_TEST_RXLEV_TARGET), .exp_txred = 16 }, -}; - /* Verify handling of optional power control interval (P_Con_INTERVAL). */ static const struct power_test_step TC_ctrl_interval[] = { /* Initial state: 0 dB, up to 20 dB */ @@ -529,7 +506,6 @@ exec_test(TC_dtxd_mode); exec_test(TC_rxqual_ber); - exec_test(TC_inval_meas); exec_test(TC_ctrl_interval); exec_test(TC_rxlev_hyst); diff --git a/tests/power/bs_power_loop_test.err b/tests/power/bs_power_loop_test.err index dc4f411..24107ba 100644 --- a/tests/power/bs_power_loop_test.err +++ b/tests/power/bs_power_loop_test.err @@ -130,14 +130,6 @@ (bts=0,trx=0,ts=0,ss=0) Keeping DL attenuation at 0 dB: max 20 dB, RSSI[curr -80, avg -80, thresh -80..-80] dBm, RxQual[curr 7, avg 7, thresh 3..0] (bts=0,trx=0,ts=0,ss=0) Rx DL Measurement Report: RXLEV-FULL(30), RXQUAL-FULL(7), RXLEV-SUB(30), RXQUAL-SUB(7), DTx is disabled => using FULL (bts=0,trx=0,ts=0,ss=0) Keeping DL attenuation at 0 dB: max 20 dB, RSSI[curr -80, avg -80, thresh -80..-80] dBm, RxQual[curr 7, avg 7, thresh 3..0] -(bts=0,trx=0,ts=0,ss=0) The measurement results are not valid -(bts=0,trx=0,ts=0,ss=0) The measurement results are not valid -(bts=0,trx=0,ts=0,ss=0) Rx DL Measurement Report: RXLEV-FULL(30), RXQUAL-FULL(0), RXLEV-SUB(30), RXQUAL-SUB(0), DTx is disabled => using FULL -(bts=0,trx=0,ts=0,ss=0) Keeping DL attenuation at 16 dB: max 20 dB, RSSI[curr -80, avg -80, thresh -80..-80] dBm, RxQual[curr 0, avg 0, thresh 3..0] -(bts=0,trx=0,ts=0,ss=0) Rx DL Measurement Report: RXLEV-FULL(30), RXQUAL-FULL(0), RXLEV-SUB(30), RXQUAL-SUB(0), DTx is disabled => using FULL -(bts=0,trx=0,ts=0,ss=0) Keeping DL attenuation at 16 dB: max 20 dB, RSSI[curr -80, avg -80, thresh -80..-80] dBm, RxQual[curr 0, avg 0, thresh 3..0] -(bts=0,trx=0,ts=0,ss=0) Rx DL Measurement Report: RXLEV-FULL(30), RXQUAL-FULL(0), RXLEV-SUB(30), RXQUAL-SUB(0), DTx is disabled => using FULL -(bts=0,trx=0,ts=0,ss=0) Keeping DL attenuation at 16 dB: max 20 dB, RSSI[curr -80, avg -80, thresh -80..-80] dBm, RxQual[curr 0, avg 0, thresh 3..0] (bts=0,trx=0,ts=0,ss=0) Rx DL Measurement Report: RXLEV-FULL(60), RXQUAL-FULL(0), RXLEV-SUB(60), RXQUAL-SUB(0), DTx is disabled => using FULL (bts=0,trx=0,ts=0,ss=0) Raising DL attenuation 0 dB => 2 dB:max 20 dB, RSSI[curr -50, avg -50, thresh -80..-80] dBm, RxQual[curr 0, avg 0, thresh 3..0] (bts=0,trx=0,ts=0,ss=0) Rx DL Measurement Report: RXLEV-FULL(60), RXQUAL-FULL(0), RXLEV-SUB(60), RXQUAL-SUB(0), DTx is disabled => using FULL diff --git a/tests/power/bs_power_loop_test.ok b/tests/power/bs_power_loop_test.ok index 1001ba1..18a94ba 100644 --- a/tests/power/bs_power_loop_test.ok +++ b/tests/power/bs_power_loop_test.ok @@ -243,25 +243,6 @@ #16 lchan_bs_pwr_ctrl() -> BS power reduction: 0 -> 0 (expected 0) Test case verdict: SUCCESS -Starting test case 'TC_inval_meas' -#00 exec_power_step() <- State (re)set (current 16 dB, max 20 dB) -#01 enc_meas_rep() -> Measurement Results (invalid): RXLEV-FULL(63), RXQUAL-FULL(7), RXLEV-SUB(63), RXQUAL-SUB(7) -#01 lchan_bs_pwr_ctrl() <- UL SACCH: 06 15 3f 7f 7e 00 00 00 00 00 00 00 00 00 00 00 00 00 -#01 lchan_bs_pwr_ctrl() -> BS power reduction: 16 -> 16 (expected 16) -#02 enc_meas_rep() -> Measurement Results (invalid): RXLEV-FULL(00), RXQUAL-FULL(0), RXLEV-SUB(00), RXQUAL-SUB(0) -#02 lchan_bs_pwr_ctrl() <- UL SACCH: 06 15 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -#02 lchan_bs_pwr_ctrl() -> BS power reduction: 16 -> 16 (expected 16) -#03 enc_meas_rep() -> Measurement Results (valid): RXLEV-FULL(30), RXQUAL-FULL(0), RXLEV-SUB(30), RXQUAL-SUB(0) -#03 lchan_bs_pwr_ctrl() <- UL SACCH: 06 15 1e 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -#03 lchan_bs_pwr_ctrl() -> BS power reduction: 16 -> 16 (expected 16) -#04 enc_meas_rep() -> Measurement Results (valid): RXLEV-FULL(30), RXQUAL-FULL(0), RXLEV-SUB(30), RXQUAL-SUB(0) -#04 lchan_bs_pwr_ctrl() <- UL SACCH: 06 15 1e 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -#04 lchan_bs_pwr_ctrl() -> BS power reduction: 16 -> 16 (expected 16) -#05 enc_meas_rep() -> Measurement Results (valid): RXLEV-FULL(30), RXQUAL-FULL(0), RXLEV-SUB(30), RXQUAL-SUB(0) -#05 lchan_bs_pwr_ctrl() <- UL SACCH: 06 15 1e 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -#05 lchan_bs_pwr_ctrl() -> BS power reduction: 16 -> 16 (expected 16) -Test case verdict: SUCCESS - Starting test case 'TC_ctrl_interval' #00 exec_power_step() <- State (re)set (current 0 dB, max 20 dB) #01 exec_power_step() <- (Re)set power control interval: 0 -> 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/26050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I125aab5224e25585cbfbe1550d2d52d62ba198bb Gerrit-Change-Number: 26050 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211030/3b3016c8/attachment.htm>