From e28e2bbfda1f2dc684f03d59398fa71945834878 Mon Sep 17 00:00:00 2001 From: Vinit Deshpande Date: Tue, 5 May 2015 15:08:05 -0700 Subject: 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 --- include/hardware_legacy/gscan.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/include/hardware_legacy/gscan.h b/include/hardware_legacy/gscan.h index 48c28ed..69e4159 100644 --- a/include/hardware_legacy/gscan.h +++ b/include/hardware_legacy/gscan.h @@ -101,6 +101,10 @@ typedef struct { /* Add channel class */ } 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 { int bucket; // bucket index, 0 based @@ -110,11 +114,14 @@ typedef struct { // fast as it can instead of failing the command. // for exponential backoff bucket this is the min_period /* report_events semantics - - * 0 => report only when scan history is % full - * 1 => same as 0 + report a scan completion event after scanning this bucket - * 2 => same as 1 + forward scan results (beacons/probe responses + IEs) in real time to HAL - * 3 => same as 2 + forward scan results (beacons/probe responses + IEs) in real time to - supplicant as well (optional) . + * This is a bit field; which defines following bits - + * REPORT_EVENTS_BUFFER_FULL => report only when scan history is % full + * REPORT_EVENTS_EACH_SCAN => report a scan completion event after scan + * REPORT_EVENTS_FULL_RESULTS => forward scan results (beacons/probe responses + IEs) + * 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; int max_period; // if max_period is non zero or different than period, then this bucket is -- cgit v1.1