diff options
author | Xin Li <delphij@google.com> | 2018-06-08 11:07:51 -0700 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2018-06-08 11:07:51 -0700 |
commit | 7b68576b1f7397c94923a200376ab6d25070e470 (patch) | |
tree | 99c84b6c822d054737218052e9698238bdd1f37e | |
parent | 8be125de8b93449cd7747ee0770f814f196c000b (diff) | |
parent | dd9851d9c9cf9bc4f8482cd4ef335b163fe1dfce (diff) | |
download | hardware_replicant_wlan-7b68576b1f7397c94923a200376ab6d25070e470.tar.gz hardware_replicant_wlan-7b68576b1f7397c94923a200376ab6d25070e470.tar.bz2 hardware_replicant_wlan-7b68576b1f7397c94923a200376ab6d25070e470.zip |
Merge pi-dev-plus-aosp-without-vendor into stage-aosp-master
Bug: 79597307
Change-Id: I3eb38091d27f6478a4d9bfdc6163c477b4c0d276
-rw-r--r-- | bcmdhd/firmware/bcm4343/fw_bcm4343_a1.bin | bin | 326651 -> 326978 bytes | |||
-rw-r--r-- | bcmdhd/firmware/bcm4343/fw_bcm4343_a1_apsta.bin | bin | 298408 -> 298555 bytes | |||
-rw-r--r-- | bcmdhd/firmware/bcm4375/device-bcm.mk | 26 | ||||
-rwxr-xr-x | bcmdhd/firmware/bcm4375/fw_bcm4375.bin | bin | 0 -> 1357249 bytes | |||
-rwxr-xr-x | bcmdhd/firmware/bcm4375/fw_bcm4375_ap.bin | bin | 0 -> 1357249 bytes | |||
-rw-r--r-- | bcmdhd/wifi_hal/wifi_hal.cpp | 27 |
6 files changed, 53 insertions, 0 deletions
diff --git a/bcmdhd/firmware/bcm4343/fw_bcm4343_a1.bin b/bcmdhd/firmware/bcm4343/fw_bcm4343_a1.bin Binary files differindex dec41dc..5755dfc 100644 --- a/bcmdhd/firmware/bcm4343/fw_bcm4343_a1.bin +++ b/bcmdhd/firmware/bcm4343/fw_bcm4343_a1.bin diff --git a/bcmdhd/firmware/bcm4343/fw_bcm4343_a1_apsta.bin b/bcmdhd/firmware/bcm4343/fw_bcm4343_a1_apsta.bin Binary files differindex 1748d33..df7fe71 100644 --- a/bcmdhd/firmware/bcm4343/fw_bcm4343_a1_apsta.bin +++ b/bcmdhd/firmware/bcm4343/fw_bcm4343_a1_apsta.bin diff --git a/bcmdhd/firmware/bcm4375/device-bcm.mk b/bcmdhd/firmware/bcm4375/device-bcm.mk new file mode 100644 index 0000000..709f3aa --- /dev/null +++ b/bcmdhd/firmware/bcm4375/device-bcm.mk @@ -0,0 +1,26 @@ +# +# Copyright (C) 2008 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +######################## +-include hardware/broadcom/wlan/bcmdhd/config/config-bcm.mk + +BCM_FW_SRC_FILE_STA := fw_bcm4375.bin +BCM_FW_SRC_FILE_AP := fw_bcm4375_ap.bin + +PRODUCT_COPY_FILES += \ + hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/$(BCM_FW_SRC_FILE_STA):$(TARGET_COPY_OUT_VENDOR)/firmware/fw_bcmdhd.bin \ + hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/$(BCM_FW_SRC_FILE_AP):$(TARGET_COPY_OUT_VENDOR)/firmware/fw_bcmdhd_apsta.bin +######################## diff --git a/bcmdhd/firmware/bcm4375/fw_bcm4375.bin b/bcmdhd/firmware/bcm4375/fw_bcm4375.bin Binary files differnew file mode 100755 index 0000000..b1a033d --- /dev/null +++ b/bcmdhd/firmware/bcm4375/fw_bcm4375.bin diff --git a/bcmdhd/firmware/bcm4375/fw_bcm4375_ap.bin b/bcmdhd/firmware/bcm4375/fw_bcm4375_ap.bin Binary files differnew file mode 100755 index 0000000..b1a033d --- /dev/null +++ b/bcmdhd/firmware/bcm4375/fw_bcm4375_ap.bin diff --git a/bcmdhd/wifi_hal/wifi_hal.cpp b/bcmdhd/wifi_hal/wifi_hal.cpp index 511ff3f..81cad8a 100644 --- a/bcmdhd/wifi_hal/wifi_hal.cpp +++ b/bcmdhd/wifi_hal/wifi_hal.cpp @@ -60,6 +60,13 @@ #define WIFI_HAL_CMD_SOCK_PORT 644 #define WIFI_HAL_EVENT_SOCK_PORT 645 +/* + * Defines for wifi_wait_for_driver_ready() + * Specify durations between polls and max wait time + */ +#define POLL_DRIVER_DURATION_US (100000) +#define POLL_DRIVER_MAX_TIME_MS (10000) + static void internal_event_handler(wifi_handle handle, int events); static int internal_no_seq_check(nl_msg *msg, void *arg); static int internal_valid_message_handler(nl_msg *msg, void *arg); @@ -151,6 +158,7 @@ wifi_error init_wifi_vendor_hal_func_table(wifi_hal_fn *fn) return WIFI_ERROR_UNKNOWN; } fn->wifi_initialize = wifi_initialize; + fn->wifi_wait_for_driver_ready = wifi_wait_for_driver_ready; fn->wifi_cleanup = wifi_cleanup; fn->wifi_event_loop = wifi_event_loop; fn->wifi_get_supported_feature_set = wifi_get_supported_feature_set; @@ -306,6 +314,25 @@ wifi_error wifi_initialize(wifi_handle *handle) return WIFI_SUCCESS; } +wifi_error wifi_wait_for_driver_ready(void) +{ + // This function will wait to make sure basic client netdev is created + // Function times out after 10 seconds + int count = (POLL_DRIVER_MAX_TIME_MS * 1000) / POLL_DRIVER_DURATION_US; + FILE *fd; + + do { + if ((fd = fopen("/sys/class/net/wlan0", "r")) != NULL) { + fclose(fd); + return WIFI_SUCCESS; + } + usleep(POLL_DRIVER_DURATION_US); + } while(--count > 0); + + ALOGE("Timed out waiting on Driver ready ... "); + return WIFI_ERROR_TIMED_OUT; +} + static int wifi_add_membership(wifi_handle handle, const char *group) { hal_info *info = getHalInfo(handle); |