chao.an
9a4f494da2
wireless/bcm43xxx: fix memory leak if tx fail
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 21:33:16 +08:00
chao.an
f424bb32aa
wireless/bcm43xxx: only break out the send loop if no data
...
only break out the continuous send if IP stack has no data to send to avoid
tx being constantly interrupted by RX
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:39:49 +08:00
chao.an
96192eac55
wireless/bcm43xxx: filter out the bssi with same ssid name
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:39:23 +08:00
chao.an
ba3e859aa5
wireless/bcm43xxx: allocate tx frame with nonblock mode
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:24:34 +08:00
chao.an
5ce7b35020
wireless/bcm43xxx: replace private queue implement to list_node
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 19:24:34 +08:00
chao.an
14f1519d1e
wireless/bcm43xxx: discard auth event if netdev down
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 17:39:52 +08:00
chao.an
752e48eb34
wireless/bcm43xxx: remove flowctrl check
...
remove flowctrl check since credit is enough to check flow control status
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 17:34:56 +08:00
chao.an
fe2231989b
wireless/bcm43xxx: mac address does not need to be updated in ifup
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 16:14:54 +08:00
chao.an
bd713d6431
wireless/bcm43xxx: country code should terminating with null
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-02 14:13:21 +08:00
chao.an
bc6b3f34c8
wireless/bcm43xxx: enable tx flow control to improve performance
...
RX/TX shared free queue on bcmf implementation, if TX occupies the
free queue completely, RX will trigger read abort because it cannot
alloc buffer successfully from the shared free queue. This commit will
limit the sending entries of tx and prevent rx triggering abort
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-29 09:06:57 +03:00
chao.an
b5e9409880
Revert "wireless/bcm43xxx: remove unused tx_queue_count"
...
This reverts commit c3b84b9b3b
.
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-29 09:06:57 +03:00
chao.an
c3b84b9b3b
wireless/bcm43xxx: remove unused tx_queue_count
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-26 16:06:20 +08:00
chao.an
43497df78b
wireless/bcm43xxx: add dynamic kso control support
...
1. PMU control by KeepSdioOn(KSO) if firmware support save restore
2. Remove watchdog timer
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-25 19:52:13 +08:00
chao.an
2eb1124db5
wireless/bcm43xxx: correct the return value
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-25 16:45:34 +08:00
chao.an
15864ff109
wireless/bcm43xxx: add get country code support
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-23 21:48:08 +08:00
chao.an
442e75575e
wireless/bcm43xxx: add set country code support
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-23 00:08:10 +08:00
chao.an
04fcbb5cb8
wireless/bcm43xxx: add auto power saving support
...
switch firmware power mode between PM_MAX/PM_FAST
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-21 02:33:18 +08:00
chao.an
2772efc862
wireless/bcm43xxx: remove small chunks to improve clm download speed
...
Chunk length is fine as long as it does not exceed 1400
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 23:12:10 +08:00
chao.an
2e3ed3ae67
wireless/bcm43xxx: prefer HPWORK if bcmf task has higher priority than HPWORK
...
Use high priority queue if the bcmf daemon task has a higher priority
than HPWORK, which will bring better performance especially on devices
that focus on real-time of network.
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 23:11:52 +08:00
chao.an
47ebec34e3
wireless/bcm43xxx: merge frame send to once to improve the performance
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 20:59:50 +08:00
chao.an
fa6ea23101
wireless/bcm43xxx: enable power saving on netdev up/down
...
Move sdio/firmware de/initialize to ifup/down
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 19:08:00 +08:00
chao.an
0ec74ec6dd
wireless/bcm43xxx: remove global variable for bcmf_sdio_thread
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 11:43:25 +08:00
chao.an
fbddae8813
wireless/bcm43xxx: add customized MAC address support
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-19 10:13:23 +08:00
chao.an
e498e5308a
wireless/bcm43xxx: handle disassoc correctly
...
1. use WLC_DISASSOC to deal disconnect event
2. carrier net device status
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-18 19:43:13 +08:00
chao.an
e6a23e7b8a
wireless/bcm43xxx: sort scan result by rssi
...
1. Replace SCAN_RESULT_SIZE to SCAN_RESULT_ENTRIES
2. filter scan result with better rssi
3. Sort scan result by rssi
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-18 19:42:30 +08:00
Xiang Xiao
0de089e2e8
wireless/bcm43xxx: Don't call bcmf_board_setup_oob_irq in bcmf_sdio_thread
...
since oob irq is already setup in bcmf_bus_setup_interrupts, it waste
time and energy to do the same thing repeatly in the work thread.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-17 20:12:41 +08:00
chao.an
2992b10fbb
wireless/bcm43xxx: add more ioctl command support
...
Support command:
SIOCGIWFREQ
SIOCGIWMODE
SIOCSIWAP
SIOCGIWAP
SIOCGIWESSID
SIOCGIWRATE
SIOCGIWTXPOW
SIOCGIWSENS
SIOCGIWRANGE
Before: After:
cp> wapi show wlan0 cp> wapi show wlan0
wlan0 Configuration: wlan0 Configuration:
IP: 192.168.31.202 IP: 192.168.31.202
NetMask: 255.255.255.0 NetMask: 255.255.255.0
ioctl(SIOCGIWFREQ): 88 Frequency: 5785
ERROR: wapi_get_freq() failed: -88 Flag: WAPI_FREQ_AUTO
ioctl(SIOCGIWESSID): 88 Channel: 157
ERROR: wapi_get_essid() failed: -88 Frequency: 5785
ioctl(SIOCGIWMODE): 88 ESSID: archer5
ERROR: wapi_get_mode() failed: -88 Flag: WAPI_ESSID_ON
ioctl(SIOCGIWAP): 88 Mode: WAPI_MODE_MANAGED
ERROR: wapi_get_ap() failed: -88 AP: ec:41:18:e0:76:7f
ioctl(SIOCGIWRATE): 88 BitRate: 58500
ERROR: wapi_get_bitrate() failed: -88 Flag: WAPI_BITRATE_FIXED
ioctl(SIOCGIWTXPOW): 88 TxPower: 31
ERROR: wapi_get_txpower() failed: -88 Flag: WAPI_TXPOWER_DBM
ioctl(SIOCGIWSENS): 25 Sense: -17
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-17 18:27:12 +08:00
chao.an
9c68064024
wireless/bcm43xxx: add status print on bcmf_wl_auth_event_handler()
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-17 16:17:01 +08:00
chao.an
e2c154dffe
wireless/bcm43xxx: configurable buffer size of escan result
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 23:36:40 +08:00
chao.an
29dd12283c
wireless/bcm43xxx: replace all busy delay to nxsig_usleep
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 23:02:09 +08:00
chao.an
b33a709213
wireless/bcm43xxx: improve throughput of net driver
...
1. Wake up tx if there is data alreay to sent after rx update
2. Try tx queue again after every data frame sent
iperf test:
```
TCP RX 4M->16M
TCP TX 2M->14M
UDP RX 18M->26M
UDP TX 2M->18M
```
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 21:08:28 +09:00
Xiang Xiao
f75f100954
bcm43xxx: Remove bcmf_txavail_work and resue bcmf_tx_poll_work
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-16 09:13:16 +03:00
chao.an
6d85e9b320
wireless/bcm43xx: replace sem_wait to uninterruptible version
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 02:44:47 +08:00
chao.an
0951d859d3
wireless/bcm43xxx: configurable schedule priority of daemon thread
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 01:41:50 +08:00
chao.an
4712307ecc
wireless/bcm43xxx: fix typo sq_init() -> dq_init()
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-16 01:40:41 +08:00
chao.an
e75c88df5b
wireless/bcm43xxx: load nvram from file system
...
added an option to load nvram from file system, which will help developers
easily to tuning the firmware parameters without compile firmware.
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-15 22:19:02 +08:00
chao.an
f6b8cc1407
wireless/bcm430xx: rename chip minor id to 'x'
...
rename 4301x chip minor id to 'x' to compatible more versions of variant of bcm430xx
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-15 02:01:37 +08:00
chao.an
4659e00fac
wireless/bcm43xxx: add extended join parameters
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-15 00:56:31 +08:00
chao.an
28b46bd381
wirless/sdio: frame length should with guard bound
...
some SDIO device will return the larger frames out of bound
error log:
bcmf_sdpcm_readframe: Frame is too large, cancel 1544 1536
bcmf_sdpcm_readframe: Frame is too large, cancel 1544 1536
bcmf_sdpcm_readframe: Frame is too large, cancel 1544 1536
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-14 18:31:22 +03:00
chao.an
c7fd1a113f
wireless/bcm43xxx: add support of bcm43013 chip
...
Reference:
https://www.broadcom.cn/bcm43013
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-13 21:03:05 +08:00
Xiang Xiao
f1236da21c
fs: Make the binary(no process) mode as the default
...
POSIX require file system shouldn't enable the \r and \n conversion by default
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-07 20:22:26 +03:00
zhanghongyu
035d925864
devif: remove all devif_timer
...
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2022-06-02 20:11:50 -03:00
Xiang Xiao
816ce73ab4
Replace nxsem_timedwait with nxsem_tickwait
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Petro Karashchenko
68902d8732
pid_t: unify usage of special task IDs
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-03-22 21:22:32 +08:00
Alexander Lunev
a597e66070
bcm43xxx: fixed several warnings:
...
warning: ISO C forbids 'return' with expression, in function returning void [-Wpedantic]
warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'uint8_t * {aka unsigned char *}' [-Wformat=]
warning: too many arguments for format [-Wformat-extra-args]
2022-02-04 15:26:42 -03:00
Petro Karashchenko
08043fb5bc
net: unify FAR keyword usage for all net buffer memory mapped buffers
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-20 01:42:56 +08:00
Petro Karashchenko
9551de7115
net: use HTONS, NTOHS, HTONL, NTOHL macro in kernel code
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-18 10:59:47 +01:00
Petro Karashchenko
8d3bf05fd2
include: fix double include pre-processor guards
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-16 11:11:14 -03:00
Xiang Xiao
828f04f0e5
sdio: Move sdio utils functions to drivers/mmcsd
...
so all sdio client driver can reuse them
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-04 17:44:24 +01:00
Alexander Lunev
76bb5f5a61
bcm43xxx: supported ARM CR4 core and bcm43455 chip in particular
2021-12-30 01:33:13 +08:00