# HG changeset patch # User Mychaela Falconia # Date 1446001206 0 # Node ID e64cc501383cf21146d410bc5134aec4f95fcacf # Parent 86690c3bfa7c14f9ccda9af43f34832def67e74c l1_async.c compiles diff -r 86690c3bfa7c -r e64cc501383c chipsetsw/layer1/cfile/l1_async.c --- a/chipsetsw/layer1/cfile/l1_async.c Wed Oct 28 02:22:00 2015 +0000 +++ b/chipsetsw/layer1/cfile/l1_async.c Wed Oct 28 03:00:06 2015 +0000 @@ -3520,9 +3520,24 @@ /* ----------------------- (MPHC_STOP_CCCH_CON) */ /* */ /*-------------------------------------------------------*/ -//Nina added + +/* + * FreeCalypso Frankenstein: the source we got with LoCosto contains + * some logic, apparently designed to increase opportunities for + * deep sleep, marked with "Nina added" comments. This addition by + * Nina showed up on our radar because it makes use of a new member + * in the l1s structure which is not present in the TCS211 version + * of this data structure, which we are not allowed to change while + * deblobbing L1 one module at a time. I am going to turn Nina's + * addition into a conditional compilation option. -- Mychaela + */ + +#define NINA_ADDED 0 + +#if NINA_ADDED INT8 last_page_mode = 2; //REORG; -//End Nina added +#endif + void l1a_idle_serving_cell_paging_process(xSignalHeaderRec *msg) { enum states @@ -3560,7 +3575,9 @@ // No Paging => no gauging => no Deep sleep //Nina modify to save power, not forbid deep sleep, only force gauging in next paging +#if NINA_ADDED if(l1s.force_gauging_next_paging_due_to_CCHR == 0) // Force gauging next paging +#endif l1s.pw_mgr.enough_gaug = FALSE; // forbid Deep sleep } @@ -3572,14 +3589,14 @@ { // download page mode from message (msg) page_mode = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->page_mode; -//Nina added +#if NINA_ADDED if(((last_page_mode == NORMAL) && (page_mode == EXTENDED)) || ((last_page_mode == EXTENDED) && (page_mode == NORMAL))) { l1s.force_gauging_next_paging_due_to_CCHR = 1; } last_page_mode = page_mode; -//End Nina added +#endif if(page_mode == REORG) // Request to enter the PAGING REORGANIZATION paging mode. @@ -3831,7 +3848,7 @@ { // download paging mode from msg page_mode = ((T_MPHC_START_CCCH_REQ *)(msg->SigP))->page_mode; -//Nina added +#if NINA_ADDED if(((last_page_mode == NORMAL) && (page_mode == EXTENDED)) || ((last_page_mode == EXTENDED) && (page_mode == NORMAL))) @@ -3839,7 +3856,7 @@ l1s.force_gauging_next_paging_due_to_CCHR = 1; } last_page_mode = page_mode; -//End Nina added +#endif if ((page_mode == NORMAL) || (page_mode == REORG)) { // Step in state machine. @@ -3967,7 +3984,9 @@ // Paging parameters change => perform the gauging on the next paging //Nina modify to save power, not forbid deep sleep, only force gauging in next paging +#if NINA_ADDED if(l1s.force_gauging_next_paging_due_to_CCHR == 0) +#endif l1s.pw_mgr.enough_gaug = FALSE; // forbid Deep sleep until next gauging //End Nina modify