Commit Graph

723 Commits

Author SHA1 Message Date
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
7ec6b4c7dd Change dpends on SCHED_[L|H]PWORK to SCHED_WORKQUEUE
since the code could map the unsupported work to the
supported one and remove select SCHED_WORKQUEUE from
Kconfig since SCHED_[L|H]PWORK already do the selection

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-28 18:41:51 +03:00
Xiang Xiao
1fb8c13e5e Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +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
Xiang Xiao
22e4f1c59a sched: Remove start from nxsem_tickwait[_uninterruptible]
to simplify both caller and callee

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-05-15 13:55:58 +03:00
Petro Karashchenko
09b3fb25ab drivers: remove unimplemented open/close/ioctl interfaces
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-04-15 16:56:25 +08: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
Xiang Xiao
98976176e1 drivers/wireless/gs2200m: Fix compiler warning
wireless/gs2200m.c: In function 'gs2200m_send_cmd':
Error: wireless/gs2200m.c:1555:32: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
 1555 |       memset(pkt_dat, 0, sizeof(pkt_dat));
      |                                ^
Error: wireless/gs2200m.c:1570:36: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
 1570 |           memset(pkt_dat, 0, sizeof(pkt_dat));
      |                                    ^
wireless/gs2200m.c: In function 'gs2200m_ioctl':
Error: wireless/gs2200m.c:318:25: error: 'snprintf' output may be truncated before the last format character [-Werror=format-truncation=]
  318 |   snprintf(str, 5, "%04d", num);
      |                         ^
wireless/gs2200m.c:318:3: note: 'snprintf' output between 5 and 6 bytes into a destination of size 5
  318 |   snprintf(str, 5, "%04d", num);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-10 19:46:01 +02:00
Alin Jerpelea
32401a0adb drivers: wireless: spirit: exclude BSD components from build
Unless ALLOW_BSD_COMPONENTS is enabled support will not be built

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-02-24 22:48:47 +08:00
Alin Jerpelea
bbfed12fd9 drivers: wireless: bluetooth: exclude BSD components from build
Unless ALLOW_BSD_COMPONENTS is enabled support will not be built

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2022-02-24 22:48:47 +08:00
Xiang Xiao
d7fe0127b0 Replece clock_gettime(CLOCK_REALTIME) with clock_systime_timespec if suitable
it's better to call the kernrel api insteaad user space api in kernel

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-02-24 01:06:36 +08:00
Masayuki Ishikawa
0258968abd drivers: wireless: Fix gs2200m_ioctl_accept()
Summary:
- I received an issue report that multiwebcam in Spresense SDK 2.4.0
  has a problem with the Chrome browser
- Actually, the browser tries to establish 2 connections but
  the multiwebcam can handle only 1 connection. And if accept() for
  the second connection is delayed, the connection no longer exists
  in the gs2200m hardware
- This commit fixes this issue by checking if the cid is valid or not.

Impact:
- gs2200m driver only

Testing:
- Tested with spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-02-15 10:22:42 +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
Petro Karashchenko
a743fed63d file_operations: get back C89 compatible initializer
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-11 02:14:00 +08: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
Petro Karashchenko
3ccb657dc2 nuttx: remove space befone newline in logs
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2021-12-27 21:01:19 -06:00
Juha Niskanen
422ceec99b Fix typos in comments and Kconfig files
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2021-12-21 03:26:16 -06:00
Alexander Lunev
02e2b33c1c bcm43xxx: corrected SDIO_CCCR_HIGHSPEED_SHS bit handling 2021-11-03 01:12:53 -05:00
Alexander Lunev
6bdc737f5c bcm43xxx: supported high-speed timing mode with a clock rate up to 50MHz 2021-10-18 21:58:03 -05:00
Alexander Lunev
df40531a07 bcm43xxx: fixed an issue with wrong devif_timer() invocations
on bcmf_netdev_notify_tx_done events
that provoked massive TCP spurious retransmissions;

bcm43xxx: fixed an issue with sporadic stalls of TX poll timer.
2021-10-03 17:36:09 -03:00
Alexander Lunev
e5af7766bb bcm43xxx: fixed an issue with abrupt stall of receiving new credits (via sdpcm header)
from bcm43362 chip/firmware as soon as a high network traffic started
2021-09-16 21:59:25 -05:00
Alexander Lunev
51c185b3b5 bcm43xxx/Kconfig: added SDPCM frame pool size parameter.
Also I have set the parameter to 8 instead of 4 by default
because there were many "alloc failed" messages in debug log
even during initialization / automatic IP address assignment
via DHCP negotiation.
2021-09-16 21:59:12 -05:00
Alin Jerpelea
42ae36dd7f drivers: wireless: spirit: update licenses to Apache
Gregory Nutt has submitted the SGA
as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-13 22:43:36 +08:00
Alin Jerpelea
aa8a8df07c LICENSE: add license for wireless/spirit
The license for wireless/spirit is added to the LICENSE file

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-13 22:43:36 +08:00
Alin Jerpelea
df088c39f0 author: Anthony Merlino : update licenses to Apache
Verge Aero has submitted the SGA

Anthony Merlino has submitted the SGA

Gregory Nutt has submitted the SGA

Sebastien Lorquet has submitted the ICLA

as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-06 20:38:14 +08:00
Alin Jerpelea
24aa7e6278 author: Matt Poppe: update licenses to Apache
Matt Poppe has submitted the ICLA as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-01 21:02:34 +08:00
Alin Jerpelea
acf22d6c42 drivers: wireless: bluetooth: revert original license
Those files are ported from the Intel/Zephyr
arduino101_firmware_source-v1.tar package
where the code was released with a compatible 3-clause BSD license

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-09-01 11:56:31 +08:00
Masayuki Ishikawa
af57d04433 Revert "drivers: wireless: Fix ASSERT() in _read_data_len() in gs2200m.c"
We found that the change caused a problem when running a VPN application.
and also confirmed that reverting the commit fixed the issue.

This reverts commit 11a842333f.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-08-25 12:25:39 +08:00
Alexander Lunev
ff2dd12c3c bcm43xxx: fixed issues with unaligned buffers for DMA transfers.
This fixes the following errors:
- "stm32_dmacapable: stm32_dmacapable: burst crosses 1KiB
up_assert: Assertion failed at file:chip/stm32_sdio.c line: 2890 task: init"

- "stm32_dmacapable: stm32_dmacapable: burst crosses 1KiB
up_assert: Assertion failed at file:chip/stm32_sdio.c line: 2808 task: bcmf"

bcm43xxx: replaced all occurrences of "__attribute__((packed))" by
compiler independent "begin_packed_struct / end_packed_struct".
2021-07-28 13:47:04 -03:00
Masayuki Ishikawa
b63fe511bb drivers: wireless: Fix to set the address family for recvfrom() in gs2200m.c
Summary:
- I noticed that the ntpclient does not work with gs2200m
- Finally, I found that the address family for recvfrom() is not
  set correctly
- This commit fixes this issue

Impact:
- None

Testing:
- Tested with ntpclient

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-07-26 07:32:42 -07:00
jordi
f3af6edf93 Kconfig: add quotes in source to clean warnings from setconfig
To avoid the setconfig warning "style: quotes recommended around xxx in
source xxx"
2021-07-23 02:32:19 -07:00
Alexander Lunev
9e27888938 bcm43xxx: supported IW_AUTH_CIPHER_NONE mode 2021-07-09 21:34:05 -07:00
Alexander Lunev
ace43936c1 bcm43xxx: nxstyle fixes ("error: Mixed case identifier found") 2021-07-09 21:34:05 -07:00
Masayuki Ishikawa
c89c11a078 drivers: wireless: Fix error handling in gs2200m_ioctl_send()
Summary:
- I noticed that NFS over TCP does not work correctly when
  it tried to reconnect to the NFS server.
- This commit fixes this issue

Impact:
- gs2200m only

Testing:
- Tested with spresense:wifi_smp
- NOTE: need to update gs2200m_main.c

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-06-28 21:48:47 -05:00
Alexander Lunev
f7c8875fd7 sdio,stm32h7: fixed an issue with not starting IDMA data transfer in case of IO_RW_EXTENDED command (CMD53);
corrected setting SDMMC_DCTRL.DTMODE field for block data transfers ending on block count
and for block data transfers ending with STOP_TRANSMISSION command;
stm32_sdio: added more debug messages
2021-06-21 02:47:46 -05:00
Xiang Xiao
5b2a17b892 Include assert.h in necessary place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-08 13:06:08 -07:00
Xiang Xiao
2e54df0f35 Don't include assert.h from public header file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-03 08:36:03 -07:00
Masayuki Ishikawa
ab7ceb26e0 drivers: wireless: Remove ASSERT() in _check_pkt_q_empty() in gs2200m.c
Summary:
- During Wi-Fi stress test, sometimes ASSERT() happens in gs2200m.c
- This commit removes the ASSERT() but calls _remove_all_pkt()
  for a workaround.

Impact:
- None

Testing:
- Tested with spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-05-31 21:27:28 -05:00
Xiang Xiao
d7f96003cf Don't include debug.h from public header file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-01 06:42:02 +09:00
chao.an
6c69b12000 wireless/bluetooth: decoupling bt_driver_s and bt_buf_s
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-05-31 09:50:54 -03:00
Alin Jerpelea
13e4f9b6b2 drivers: update licenses to Apache
Gregory Nutt is the copyright holder for those files and he has submitted the
SGA as a result we can migrate the licenses to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-05-31 02:58:08 -05:00
Xiang Xiao
001e7c3e76 sched: Don't include nuttx/sched.h inside sched.h
But let nuttx/sched.h include sched.h instead to
avoid expose nuttx kernel API to userspace.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-24 12:11:53 +09:00
Masayuki Ishikawa
97e6d35c3a drivers: wireless: Fix AT command response handling in gs2200m.c
Summary:
- When sending an AT command during receiving a bulk packet,
  the bulk packet might be put in the AT command response.
- To handle such the case, gs2200m_send_cmd2() is newly
  introduced instead of using gs2200m_send_cmd(dev, cmd, NULL)

Impact:
- All use cases that send an AT command in gs2200m.c

Testing:
- Tested with renew and nxplayer with spresense:wifi

Reported-by: Masatoshi Ueno <Masatoshi.Ueno@sony.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-04-15 21:28:25 -05:00
Masayuki Ishikawa
fa5daea3d9 drivers: wireless: Fix to receive a UDP packet partially in gs2200m.c
Summary:
- When receiving a UDP packet partially, the rest of the packet
  must be discarded.

Impact:
- None

Testing:
- Tested with a UDP sample program

Reported-by: Masatoshi Ueno <Masatoshi.Ueno@sony.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-04-13 10:37:15 -05:00
Xiang Xiao
3f9908f7d1 Remove the unnecessary math.h inclusion
or move from header file to source file since math.h doesn't always exist

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-12 22:58:23 -04:00
Anthony Merlino
b21cb3308a Fixes race condition in event wait logic of SDMMC driver.
This change makes it so that the timeout is set as part of the SDIO_WAITENABLE call instead of the SDIO_EVENTWAIT call. By doing so, you eliminate all opportunity for a race condition.

stm32h7:sdmmc Check if busy ended early
2021-04-05 23:08:45 -05:00
Alin Jerpelea
e1d361eddf drivers: nxstyle fixes
Fixes for errors reported by nxstyle

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-05 07:31:45 -05:00
Alin Jerpelea
0fc329d814 driver: Ales Verbic: update licenses to Apache
Ales Verbic has submitted the ICLA and we can migrate the licenses
 to Apache.

Uros Platise has submitted the ICLA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-05 06:13:17 -05:00
Xiang Xiao
5f3a98b5a8 libc/assert: Reference the expression in all case
to avoid the warning "defined but not used"

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I55b7c092d0f2e5882fc1784987657c10cdf2d90b
2021-04-03 21:00:41 +01:00
Alin Jerpelea
08e5378b11 NuttX: Gregory Nutt: update licenses to Apache
Several licenses were missed in the initial work

David Sidrane has submitted the ICLA and we can migrate the licenses
 to Apache.

Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-03 04:20:31 -07:00
Alin Jerpelea
d2c4d4c543 drivers: wireless: fix Mixed Case errors
Fix Mixed Case errors reported by nxstyle

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-01 12:13:12 -05:00
Alin Jerpelea
7a29e1f5fb drivers: Nxstyle fixes
Nxstyle fixes to pass CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-01 12:13:12 -05:00
Alin Jerpelea
190582c764 boards: stm32: Laurent Latil: update licenses to Apache
Laurent Latil has submitted the ICLA and we can migrate the licenses
 to Apache.

Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-01 12:13:12 -05:00
Alin Jerpelea
b4a33b5ec0 NuttX: Uros Platise: update licenses to Apache
Uros Platise has submitted the ICLA and we can migrate the licenses
 to Apache.

David Sidrane has submitted the ICLA and we can migrate the licenses
 to Apache.

Bob Feretich has submitted the ICLA and we can migrate the licenses
 to Apache.

Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-01 12:13:12 -05:00
Alin Jerpelea
0abc1017ab drivers: nxstyle fixes
nxstyle fixes to pass CI

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-20 19:22:58 -07:00
Alin Jerpelea
c798076084 drivers: Author Sebastien Lorquet: update licenses to Apache
Sebastien Lorquet has submitted the ICL and we can migrate the licenses
 to Apache.

Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-20 19:22:58 -07:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Gustavo Henrique Nihei
47cb41c92f makefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Alin Jerpelea
ccff570e6f drivers: nxstyle fixes
nxstyle fixes to pass the CI.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-04 18:32:27 -08:00
Alin Jerpelea
e5b6305f4a drivers: Author Gregory Nutt: update licenses to Apache
Gregory Nutt has submitted the SGA and we can migrate the licenses
 to Apache.

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-03-04 18:32:27 -08:00
Gustavo Henrique Nihei
c76e201ebd drivers/i2s: Fix nxstyle issues 2021-02-25 18:57:18 -08:00
Gustavo Henrique Nihei
55d66f60a3 drivers: Fix typos reported by codespell 2021-02-25 18:57:18 -08:00
Masayuki Ishikawa
d87f350831 arch, boards, drivers, include, sched, wireless: Change spinlock APIs.
Summary:
- This commit changes spinlock APIs (spin_lock_irqsave/spin_unlock_irqrestore)
- In the previous implementation, the global spinlock (i.e. g_irq_spin) was used.
- This commit allows to use caller specific spinlock but also supports to use
  g_irq_spin for backword compatibility (In this case, NULL must be specified)

Impact:
- None

Testing:
- Tested with the following configurations
- spresnse:wifi, spresense:wifi_smp
- esp32-devkitc:smp (QEMU), sabre6-quad:smp (QEMU)
- maxi-bit:smp (QEMU), sim:smp
- stm32f4discovery:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-02-07 21:28:56 -08:00
Masayuki Ishikawa
0c68ddb760 drivers: wireless: Change retry condition in gs2200m_hal_write()
Summary:
- During Wi-Fi stress test, I noticed that ASSERT() happened
  in gs2200m_hal_write(). Actually, this happens in 20-40 hours.
- In this case, resp[1] was always 0x0 which is not defined
  in the spec.
- In the previous implementation, retry was only done in case of
  WR_RESP_NOK. (0x13)
- This commit changes this condition and it reties in case of
  0x0 as well

Impact:
- gs2200m driver

Testing:
- Tested with spresense:wifi_smp and stm32f4discovery:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-02-03 10:29:05 +01:00
Masayuki Ishikawa
c6ed7dd760 drivers: wireless: Fix _read_data() in gs2200m.c
Summary:
- During reviewing the GS2200M document, I noticed that
   _read_data() implementation is incorrect.
- Actually, we do not use "SPI Byte Stuffing for SPI-NO-DMA"
  but use "SPI Command Response (SPI-DMA)", so the sequence
  should use SPI_RECVBLOCK().

Impact:
- gs2200m.c only

Testing:
- Tested with stm32f4discovery:wifi and spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-01-25 19:13:17 -08:00
Masayuki Ishikawa
8a72ab1a50 drivers: wireless: Print error massages with wlerr() in gs2200m.c
Summary:
- I noticed that some error messages are printed with wlinfo()
- This commit prints such error messages with wlerr()

Impact:
- No impact

Testing:
- Tested with spresense:wifi
- NOTE: CONFIG_DEBUG_WIRELESS_ERROR must be enabled

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-01-24 20:03:53 -08:00
Masayuki Ishikawa
11a842333f drivers: wireless: Fix ASSERT() in _read_data_len() in gs2200m.c
Summary:
- During stress test with spresense:wifi (non-SMP), I noticed
  sometimes ASSERT() happened in _read_data_len()
- Actually, up_udelay(50) has been added to avoid the ASSERT
- However, I finally noticed that it should be moved before
  calling dready()
- Also, I cofirmed that we can reduced the time from 50 to 30
- NOTE: we need at least 15us in my experience

Impact:
- gs2200m.c only

Testing:
- Tested with following configurations
- spresense:wifi, spresense:wifi_smp, stm32f4discovery:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-01-17 21:43:23 -08:00
Xiang Xiao
7df322c6be bluetooth: Move the lower half null check to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-17 20:49:19 -08:00
Xiang Xiao
9103184722 bluetooth: Rename *bt_uart_shim_getdevice to btuart_shim_getdevice
follow other bluetooth driver convention(e.g. btuart_register)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-17 20:49:19 -08:00
chao.an
c8a6f31a33 wireless/bluetooth: move H4_* definition to external
Reference the define from board or arch driver

Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-16 11:18:26 -08:00
chao.an
f308ac1583 wireless/bluetooth: add more hci event definitions
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-16 11:18:26 -08:00
chao.an
605cd77a23 wireless/bluetooth: remove the host dependency
HCI driver should not depend on the bluetooth host

Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-16 11:18:26 -08:00
Xiang Xiao
0536953ded Kernel module should prefer functions with nx/kmm prefix
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-01-13 08:57:58 +01:00
Xiang Xiao
d9b1cb3d27 bluetooth: BLUETOOTH_BCM4343X shouldn't select BLUETOOTH_UART_SHIM
since bcm4343x bluetooth driver doesn't depend on uart shim driver

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-29 18:11:21 -08:00
Xiang Xiao
753cb6c22b bluetooth: Remove BLUETOOTH_UART_BT860 from Kconfig
it isn't difference from BLUETOOTH_UART_OTHER, so let's use the later instead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-29 18:11:21 -08:00
Xiang Xiao
c612c068e1 bt_uart_shim: Setup pollfd with file* correctly
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:42 +01:00
Xiang Xiao
c258fe0f85 bt_uart_shim: Make CONFIG_SERIAL_TERMIOS optional
since the caller don't always need to use setbaud callback

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:42 +01:00
Xiang Xiao
9f463fd3da bt_uart_shim: Remove g_lowerstatic static variable
let's initialize the callback directly to save the memory

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:42 +01:00
Xiang Xiao
8ce2d376cc bt_uart_shim: Don't hardcode the thread stack size
so let's change 1024 to CONFIG_DEFAULT_TASKSIZE

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:42 +01:00
Xiang Xiao
c0cd125bf3 bt_uart_shim: Support the multiple instances
by removing the global variables(g_n)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:42 +01:00
Xiang Xiao
aec3220fae bt_uart_shim: Correct the prototype of bt_uart_shim_getdevice
1.Add const to the path argument
2.Return the explicit type(struct btuart_lowerhalf_s *)

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:42 +01:00
Xiang Xiao
d85cf99a65 bt_uart: Retry the lower half operation if -EINTR is returned
to handle the partial write and read gracefully

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:03 +01:00
Xiang Xiao
1d8397a36d bt_uart: Don't call rxdrain in the successful path
because the physical uart bus may receive the next packet asynchronously

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:03 +01:00
Xiang Xiao
ca5d8d8660 bt_uart: Fix the minor typo in bt_uart driver
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:03 +01:00
Xiang Xiao
6a30d7ad6b bt_uart: Remove static variables in btuart_rxwork
to support mulitple bluetooth controllers

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 10:38:03 +01:00
Xiang Xiao
f992ff37c3 Fix nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 08:50:16 +01:00
Xiang Xiao
3dfb897ed1 bluetooth: Remove the unnecessary forward reference
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-12-28 08:50:16 +01:00
Masayuki Ishikawa
b67f200636 drivers: wireless: Replace license header with Apache License 2.0
Summary:
- This commit replaces SHES related headers in gs2200m.c

Impact:
- No impact

Testing:
- Build check only

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-12-28 08:43:35 +01:00
chao.an
84daee1f76 drivers/netdev: try tcp timer in every txavail call
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-18 14:16:11 +09:00
YAMAMOTO Takashi
e5592b615d drivers/wireless/ieee80211/bcm43xxx/bcmf_core.c: Fix syslog formats 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
abb10784d9 drivers/wireless/ieee80211/bcm43xxx/bcmf_core.c: Appease nxstyle 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
4fea157642 drivers/wireless/ieee80211/bcm43xxx/mmc_sdio.c: Fix syslog formats 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
5a57f10b9c drivers/wireless/ieee80211/bcm43xxx/bcmf_netdev.c: Fix a syslog format 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
2874f613a6 drivers/wireless/ieee80211/bcm43xxx/bcmf_utils.c: Fix syslog formats 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
b7358e9542 drivers/wireless/ieee80211/bcm43xxx/bcmf_bdc.c: Fix a syslog format 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
7d5259c767 drivers/wireless/ieee80211/bcm43xxx/bcmf_cdc.c: Fix syslog formats 2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
2d892343d9 drivers/wireless/ieee80211/bcm43xxx/bcmf_driver.c: Fix syslog formats
The following nxstyle errors are not trivial to fix because
they are parts of the ioctl api.

drivers/wireless/ieee80211/bcm43xxx/bcmf_driver.c:1083:34: error: Mixed case identifier found
drivers/wireless/ieee80211/bcm43xxx/bcmf_driver.c:1445:7: error: Mixed case identifier found
2020-12-05 08:13:32 -06:00
YAMAMOTO Takashi
720e90a7ce drivers/wireless/ieee802154/xbee/xbee.c: Fix a syslog format 2020-12-02 02:53:47 -06:00
YAMAMOTO Takashi
e5b63cddce drivers/wireless/ieee802154/mrf24j40/mrf24j40_getset.c: Fix a syslog format 2020-12-02 02:53:47 -06:00
YAMAMOTO Takashi
d6a562e3e1 drivers/wireless/gs2200m.c: Fix syslog formats 2020-11-27 05:18:57 -06:00
YAMAMOTO Takashi
5706e3851d drivers/wireless/lpwan/sx127x/sx127x.c: Fix syslog formats 2020-11-24 22:31:33 -08:00
YAMAMOTO Takashi
6d2c28e70d drivers/wireless/gs2200m.c: Fix scanf format warnings 2020-11-18 00:44:55 -08:00
YAMAMOTO Takashi
320b7131e0 drivers/wireless/ieee802154/mrf24j40/mrf24j40_regops.c: Fix a printf format warning 2020-11-16 08:29:00 -08:00
YAMAMOTO Takashi
9a7de336d0 drivers/wireless/ieee802154/mrf24j40/mrf24j40_regops.c: Fix a printf format warning 2020-11-16 08:29:00 -08:00
Masatoshi Ueno
04ec9cf989 gs2200m: Add function to get IWNWID / IWFREQ / IWSENS information
Summary:
- This commit enables gs2200m driver to get IWNWID/IWFREQ/IWSENS information

Impact:
- Affects gs2200m only

Testing:
- Tested with spresense:wifi
2020-11-02 19:58:58 +09:00
Masatoshi Ueno
c0b4bd2f85 gs2200m: Check disassociation from AP and enable rejoin
Summary:
- This commit enables gs2200m driver re-associate to the access point when disassociated

Impact:
- Affects gs2200m only

Testing:
- Tested with spresense:wifi
2020-11-02 16:11:13 +09:00
Masayuki Ishikawa
1e321ca032 drivers: wireless: Fix tcp/udp connect with heavy bulk data traffic in gs2200m.c
Summary:
- During network stress testing, ASSERT happened in gs2200m_ioctl_connect()
- The test was nxplayer (http audio streaming) and repeating wget every 0.5sec
- gs2200m_ioctl_connect() calls gs2200m_send_cmd() to send an AT command
- Then it waits for a synchronous command response.
- However, if heavy tcp traffic happens on another socket, it can receive a bulk packet
- With this commit, if it receives such a packet then the packet is duplicated.
- After that, the duplicated packet is added to the packet queue and notify the userland.

Impact:
- Affect almost all use cases with gs2200m

Testing:
- Tested with both spresense:wifi and spresense:wifi_smp
- Tested with nxplayer (http audio streaming) and repeat wget

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-28 11:36:17 -07:00
Masayuki Ishikawa
df952074eb drivers: wireless: Add support for ioctl(fd, SIOCGIFADDR, ...) to gs2200m.c
Summary:
- This commit adds support for ioctl(fd, SIOCGIFADDR, ...) to gs2200m.c

Impact:
- Only affects ioctl(fd, SIOCGIFADDR, ...) with gs2200m
- Need to update apps/wireless/gs2200m as well

Testing:
- Tested with spresense:wifi
- Tested with dhcpc

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 10:53:34 +01:00
Masayuki Ishikawa
f12d49076c drivers: wireless: Fix to handle address info in accept() in gs2200m.c
Summary:
- This commit fixes to handle address info in accept() in gs2200m.c

Impact:
- All use cases which use accept() with gs2200m
- Need to update apps/wireless/gs2200m as well

Testing:
- Tested with spresene:wifi
- Tested with telnet daemon

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>>
2020-10-26 10:53:34 +01:00
Masayuki Ishikawa
02b08590a1 drivers: wireless: Fix to handle UDP connect() with bind() in gs2200m.c
Summary:
- This commit fixes to handle UDP connect() with bind() to a local port.

Impact:
- All UDP cases which use connect() with gs2200m
- Need to update apps/wireless/gs2200m as well

Testing:
- Tested with spresense:wifi
- Create a UDP socket and bind() to a local port.
- Then connect() to remote address with port and send()

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-10-26 10:53:34 +01:00
raiden00pl
33901969fe Fix nxstyle warnings 2020-10-10 12:24:28 -06:00
raiden00pl
1621305e79 drivers: Changed headers for apache 2.0 license 2020-10-10 12:24:28 -06:00
Xiang Xiao
eacca2b7a2 wireless/bluetooth: replace open with file_open in uart shim drivers
it is simpler than open and then file_detach

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I22585b7450804c6c012fecf369a8d7e25970c192
2020-09-23 15:08:18 -03:00
Masayuki Ishikawa
e53970583e drivers: wireless: Apply NET_LL_IEEE80211 to gs2200m.c
Summary:
- This commit applies NET_LL_IEEE80211 to gs2200m.c
- Also selects DRIVERS_IEEE80211 in Kconfig

Impact:
- Affects use cases with gs2200m driver

Testing:
- Tested with spresense:wifi and spresense:wifi_smp

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-17 09:24:39 +02:00
Masayuki Ishikawa
58317b1430 drivers: wireless: Fix warnings in gs2200m.c
Summary:
- This commit fixes warnings when we remove noreturn from _assert()

Impact:
- Should have no impact

Testing:
- Tested with spresense:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-09-11 08:25:31 +02:00
Masayuki Ishikawa
07b4b219cd drivers: wireless: Refactor gs2200m.c
Summary:
- Remove unnecessay code from gs2200m_irq()
- Fix irq control in case that work_available() returns false

Impact:
- All use cases with gs2200m driver

Testing:
- Tested with spresense:wifi

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-25 11:49:21 +02:00
Xiang Xiao
acca9fcc3b sched/wdog: Remove MAX_WDOGPARMS and related stuff
since the variable arguments are error prone and seldom used.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-14 08:19:50 -06:00
Xiang Xiao
61ea875c94 Fix build break introduced by commit a0ce81d659
sam_ili9488.c:1605:7: error: label 'errout_with_dmadog' used but not defined
bcmf_sdio.c:855:16: error: passing argument 1 of 'wd_start' from incompatible pointer type

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-12 02:11:56 -07:00
Xiang Xiao
ae94688dc4 Fix nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-11 12:28:55 -06:00
Xiang Xiao
a0ce81d659 sched/wdog: Don't dynamically allocate wdog_s
to save the preserved space(1KB) and also avoid the heap overhead

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I694073f68e1bd63960cedeea1ddec441437be025
2020-08-11 12:28:55 -06:00
Masayuki Ishikawa
a104490b00 drivers: wireless: Add retry sequence in gs2200m_send_cmd()
Summary:
- This commit is a workaround to avoid errors in gs2200m_send_cmd()
- See the actual sequence in Testing for details

Impact:
- gs2200m driver

Testing:
- Test with spresense:wifi
- 1-1 Run tcpclient on NuttX and run nc on Linux
- 1-2 Stop nc on Linux then tcpclient also stops
- 1-3 Run tcpclient then the first AT+NCTCP will fail
- 1-4 But the second AT+NCTCP will succeed
- 2-1 Run tcpclient on NuttX and run nc on Linux
- 2-2 Stop nc on Linux then tcpclient also stops
- 2-3 Run tcpserver then the first AT+NSTCP will fail
- 2-4 But the second AT+NSTCP will succeed

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-08-11 01:25:40 -05:00
Xiang Xiao
f618de9c97 Fix nxstyle warning
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-08 17:30:26 -03:00
Xiang Xiao
4c706771c3 sched/wdog: Replace all callback argument from uint32_t to wdparm_t
and alwasy cast the argument of wd_start to wdparm_t

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-08-08 17:30:26 -03:00
Gregory Nutt
3cad9f498f drivers/mkrd.c
drivers/net/telnet.c
 drivers/wireless/bluetooth/bt_uart_bcm4343x.c
 drivers/wireless/ieee802154/mrf24j40/mrf24j40.c

Kernel memory was allocated using kmm_malloc() or kmm_zalloc() but freed with with the user-space allocator free().  In the FLAT build, this is bad style, but not harmful because there is only a single, heap and malloc() and kmm_malloc() map to the same function.

But that is not true in the case of the PROTECTED or KERNEL builds.  In those cases, there are separate heaps.  kmm_malloc() will allocate from the kernel heap.  free() will attempt to free the kernel memory from the user heap and will cause an assertion (or other obscure failure if assertions are disabled).
2020-08-04 13:00:53 -05:00
Masayuki Ishikawa
8a7ecf0858 drivers: wireless: Fix null pointer dereference in gs2200m.c
Summary:
- This PR fixes null pointer dereference in gs2200m.c

Impact:
- This PR affects gs2200m driver.

Testing:
- Use spresense:wifi and run gs2200m daemon in STA mode.
- Then execute 'renew eth0' to obtain DHCP address.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-07-28 23:02:20 -05:00
Masayuki Ishikawa
0475540c83 drivers: wireless: Add 'select SCHED_LPWORK' to WL_GS2200M
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-07-19 21:11:46 -05:00
Masayuki Ishikawa
f5540e8922 drivers: wireless: Fix compile error with DEBUG_WIRELESS_INFO in gs2200m.c
Also, remove an inappropriate comment.

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-07-17 11:59:27 +01:00
Masayuki Ishikawa
806710b225 drivers: wireless: New flow control based on total bulk size in gs2200m.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-06-01 09:08:05 +02:00
Kazuya Hioki
075334cfcc drivers: wireless: Fix buffer overrun in gs2200m.c
Warning ID: 85719.12039200

Reviewed-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Signed-off-by: Kazuya Hioki <Kazuya.Hioki@sony.com>
2020-05-26 15:38:43 +08:00
Xiang Xiao
edb0ce2d5a build: Don't need use $(DELIM) in include statement
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-24 08:24:13 -06:00
Masayuki Ishikawa
287b9f9c38 drivers: wireless: Add WPA2-PSK in AP mode for gs2200m
NOTE: By default, WPA2-PSK is used instead of WEP

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>>
2020-05-22 10:20:07 +02:00
Masayuki Ishikawa
65e81a6159 drivers: wireless: Add do packet flow cotrol in gs2200m_ioctl_close()
NOTE: active close now works during http audio streaming

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-05-21 12:46:10 +02:00
Masayuki Ishikawa
3c622db780 drivers: wireless: Fix pkt_q_cnt overflow in gs2200m.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2020-05-20 13:59:12 +02:00
Xiang Xiao
5eae32577e build: Move INCDIROPT to common place
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-05-18 15:02:55 -06:00
Gregory Nutt
57bc329aac Run nxstyle all .c and .h files modified by PR. 2020-05-17 14:01:00 -03:00
Gregory Nutt
a569006fd8 sched/: Make more naming consistent
Rename various functions per the quidelines of https://cwiki.apache.org/confluence/display/NUTTX/Naming+of+OS+Internal+Functions

    nxsem_setprotocol -> nxsem_set_protocol
    nxsem_getprotocol -> nxsem_get_protocol
    nxsem_getvalue -> nxsem_get_value
2020-05-17 14:01:00 -03:00