Introduce REPORT_EVENTS_NO_BATCH flag for ePNO

When GSscan and ePNO are being executed together, we
don't want APs on additional channels from ePNO to be
cached. Making this requirement explicit by adding
REPORT_EVENTS_NO_BATCH flag on bucket.

Change-Id: I61dcd608d3be8acb697508607dbe5077ebe836c0
This commit is contained in:
Vinit Deshpande 2015-05-05 15:08:05 -07:00
parent ddcab1720d
commit e28e2bbfda

View file

@ -101,6 +101,10 @@ typedef struct {
/* Add channel class */ /* Add channel class */
} wifi_scan_channel_spec; } wifi_scan_channel_spec;
#define REPORT_EVENTS_BUFFER_FULL 0
#define REPORT_EVENTS_EACH_SCAN 1
#define REPORT_EVENTS_FULL_RESULTS 2
#define REPORT_EVENTS_NO_BATCH 4
typedef struct { typedef struct {
int bucket; // bucket index, 0 based int bucket; // bucket index, 0 based
@ -110,11 +114,14 @@ typedef struct {
// fast as it can instead of failing the command. // fast as it can instead of failing the command.
// for exponential backoff bucket this is the min_period // for exponential backoff bucket this is the min_period
/* report_events semantics - /* report_events semantics -
* 0 => report only when scan history is % full * This is a bit field; which defines following bits -
* 1 => same as 0 + report a scan completion event after scanning this bucket * REPORT_EVENTS_BUFFER_FULL => report only when scan history is % full
* 2 => same as 1 + forward scan results (beacons/probe responses + IEs) in real time to HAL * REPORT_EVENTS_EACH_SCAN => report a scan completion event after scan
* 3 => same as 2 + forward scan results (beacons/probe responses + IEs) in real time to * REPORT_EVENTS_FULL_RESULTS => forward scan results (beacons/probe responses + IEs)
supplicant as well (optional) . * in real time to HAL, in addition to completion events
* Note: To keep backward compatibility, fire completion
* events regardless of REPORT_EVENTS_EACH_SCAN.
* REPORT_EVENTS_NO_BATCH => controls batching, 0 => batching, 1 => no batching
*/ */
byte report_events; byte report_events;
int max_period; // if max_period is non zero or different than period, then this bucket is int max_period; // if max_period is non zero or different than period, then this bucket is