spin_lock(&bts_lock);
drex->table[scen].stat.drex_timeout[qos] = timeout;
+
+ if (!drex->table[scen].stat.scen_en) {
+ drex->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex->top_scen)
bts_set_drex_table(drex);
spin_unlock(&bts_lock);
else
bts->table[scen].stat.wmo = mo;
+ if (!bts->table[scen].stat.scen_en) {
+ bts->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == bts->top_scen)
bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
else
bts->table[scen].stat.max_wmo = mo;
+ if (!bts->table[scen].stat.scen_en) {
+ bts->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == bts->top_scen)
bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
else
bts->table[scen].stat.full_wmo = mo;
+ if (!bts->table[scen].stat.scen_en) {
+ bts->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == bts->top_scen)
bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
bts->table[scen].stat.priority = prio;
+
+ if (!bts->table[scen].stat.scen_en) {
+ bts->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == bts->top_scen)
bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
else
bts->table[scen].stat.timeout_w = timeout;
+ if (!bts->table[scen].stat.scen_en) {
+ bts->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == bts->top_scen)
bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
bts->table[scen].stat.timeout_en = timeout_en;
+
+ if (!bts->table[scen].stat.scen_en) {
+ bts->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == bts->top_scen)
bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
drex->table[scen].stat.write_flush_config[set] = config;
+
+ if (!drex->table[scen].stat.scen_en) {
+ drex->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex->top_scen)
bts_set_drex_table(drex);
spin_unlock(&bts_lock);
(threshold & BTS_VC_TIMER_TH_MASK);
}
+ if (!drex->table[scen].stat.scen_en) {
+ drex->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex->top_scen)
bts_set_drex_table(drex);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
drex->table[scen].stat.cutoff_con = control;
+
+ if (!drex->table[scen].stat.scen_en) {
+ drex->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex->top_scen)
bts_set_drex_table(drex);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
drex->table[scen].stat.brb_cutoff_config = config;
+
+ if (!drex->table[scen].stat.scen_en) {
+ drex->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex->top_scen)
bts_set_drex_table(drex);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
drex->table[scen].stat.rdbuf_cutoff_config = config;
+
+ if (!drex->table[scen].stat.scen_en) {
+ drex->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex->top_scen)
bts_set_drex_table(drex);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
drex_pf->table[scen].stat.pf_rreq_thrt_con = control;
+
+ if (!drex_pf->table[scen].stat.scen_en) {
+ drex_pf->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex_pf->top_scen)
bts_set_drex_pf_table(drex_pf);
spin_unlock(&bts_lock);
spin_lock(&bts_lock);
drex_pf->table[scen].stat.allow_mo_for_region = config;
+
+ if (!drex_pf->table[scen].stat.scen_en) {
+ drex_pf->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex_pf->top_scen)
bts_set_drex_pf_table(drex_pf);
spin_unlock(&bts_lock);
(timeout & BTS_PF_TIMER_MASK);
}
+ if (!drex_pf->table[scen].stat.scen_en) {
+ drex_pf->table[scen].stat.scen_en = true;
+ scen_chaining(scen);
+ }
+
if (scen == drex_pf->top_scen)
bts_set_drex_pf_table(drex_pf);
spin_unlock(&bts_lock);