summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinit Deshpande <vinitd@google.com>2015-06-02 12:01:25 -0700
committerVinit Deshpande <vinitd@google.com>2015-06-02 12:01:25 -0700
commit9b240e1fa28d8364bfd494864e96028c678942e5 (patch)
tree9cf0f0c240d0589a5c4d3684aafae6a2c4774d1d
parent865ee9aa73c86404aa1ec3895a0a828a2b888ec5 (diff)
parent25a0fb843d8b6d9141ccb435f1f9ee9a29d3afc6 (diff)
downloadhardware_broadcom_wlan-9b240e1fa28d8364bfd494864e96028c678942e5.zip
hardware_broadcom_wlan-9b240e1fa28d8364bfd494864e96028c678942e5.tar.gz
hardware_broadcom_wlan-9b240e1fa28d8364bfd494864e96028c678942e5.tar.bz2
am 79bf2da..25a0fb8 from mirror-m-wireless-internal-release
25a0fb8 Enable adaptive channel bucket and ePNO bssid
-rwxr-xr-x[-rw-r--r--]bcmdhd/firmware/bcm4354/fw_bcm4354.binbin636896 -> 637601 bytes
-rwxr-xr-x[-rw-r--r--]bcmdhd/firmware/bcm4354/fw_bcm4354_ap.binbin549728 -> 549752 bytes
-rwxr-xr-x[-rw-r--r--]bcmdhd/firmware/bcm4356/fw_bcm4356_ap_pcie.binbin593684 -> 593488 bytes
-rwxr-xr-x[-rw-r--r--]bcmdhd/firmware/bcm4356/fw_bcm4356_pcie.binbin668387 -> 668823 bytes
-rw-r--r--bcmdhd/wifi_hal/common.h1
-rw-r--r--bcmdhd/wifi_hal/gscan.cpp17
6 files changed, 17 insertions, 1 deletions
diff --git a/bcmdhd/firmware/bcm4354/fw_bcm4354.bin b/bcmdhd/firmware/bcm4354/fw_bcm4354.bin
index 244a7be..53a3b0a 100644..100755
--- a/bcmdhd/firmware/bcm4354/fw_bcm4354.bin
+++ b/bcmdhd/firmware/bcm4354/fw_bcm4354.bin
Binary files differ
diff --git a/bcmdhd/firmware/bcm4354/fw_bcm4354_ap.bin b/bcmdhd/firmware/bcm4354/fw_bcm4354_ap.bin
index 4d1623c..4243c50 100644..100755
--- a/bcmdhd/firmware/bcm4354/fw_bcm4354_ap.bin
+++ b/bcmdhd/firmware/bcm4354/fw_bcm4354_ap.bin
Binary files differ
diff --git a/bcmdhd/firmware/bcm4356/fw_bcm4356_ap_pcie.bin b/bcmdhd/firmware/bcm4356/fw_bcm4356_ap_pcie.bin
index 7bf0056..e1db341 100644..100755
--- a/bcmdhd/firmware/bcm4356/fw_bcm4356_ap_pcie.bin
+++ b/bcmdhd/firmware/bcm4356/fw_bcm4356_ap_pcie.bin
Binary files differ
diff --git a/bcmdhd/firmware/bcm4356/fw_bcm4356_pcie.bin b/bcmdhd/firmware/bcm4356/fw_bcm4356_pcie.bin
index 0553d44..4272237 100644..100755
--- a/bcmdhd/firmware/bcm4356/fw_bcm4356_pcie.bin
+++ b/bcmdhd/firmware/bcm4356/fw_bcm4356_pcie.bin
Binary files differ
diff --git a/bcmdhd/wifi_hal/common.h b/bcmdhd/wifi_hal/common.h
index 3259f62..c56a038 100644
--- a/bcmdhd/wifi_hal/common.h
+++ b/bcmdhd/wifi_hal/common.h
@@ -177,6 +177,7 @@ typedef struct wifi_pno_result {
signed char rssi;
u16 channel;
u16 flags;
+ mac_addr bssid;
} wifi_pno_result_t;
wifi_error wifi_register_handler(wifi_handle handle, int cmd, nl_recvmsg_msg_cb_t func, void *arg);
diff --git a/bcmdhd/wifi_hal/gscan.cpp b/bcmdhd/wifi_hal/gscan.cpp
index 556baea..0b2d70f 100644
--- a/bcmdhd/wifi_hal/gscan.cpp
+++ b/bcmdhd/wifi_hal/gscan.cpp
@@ -127,6 +127,10 @@ typedef enum {
GSCAN_ATTRIBUTE_ANQPO_HS_ROAM_CONSORTIUM_ID,
GSCAN_ATTRIBUTE_ANQPO_HS_PLMN,
+ /* Adaptive scan attributes */
+ GSCAN_ATTRIBUTE_BUCKET_STEP_COUNT = 120,
+ GSCAN_ATTRIBUTE_BUCKET_MAX_PERIOD,
+
GSCAN_ATTRIBUTE_MAX
} GSCAN_ATTRIBUTE;
@@ -485,7 +489,16 @@ public:
if (result < 0) {
return result;
}
-
+ result = request.put_u32(GSCAN_ATTRIBUTE_BUCKET_STEP_COUNT,
+ mParams->buckets[i].step_count);
+ if (result < 0) {
+ return result;
+ }
+ result = request.put_u32(GSCAN_ATTRIBUTE_BUCKET_MAX_PERIOD,
+ mParams->buckets[i].max_period);
+ if (result < 0) {
+ return result;
+ }
result = request.put_u32(GSCAN_ATTRIBUTE_REPORT_EVENTS,
mParams->buckets[i].report_events);
if (result < 0) {
@@ -1301,6 +1314,8 @@ public:
for (i = 0; i < num; i++) {
if (res[i].flags == PNO_SSID_FOUND) {
memcpy(mResults[i].ssid, res[i].ssid, res[i].ssid_len);
+ memcpy(mResults[i].bssid, res[i].bssid, sizeof(mac_addr));
+
mResults[i].ssid[res[i].ssid_len] = '\0';
mResults[i].channel = res[i].channel;
mResults[i].rssi = res[i].rssi;