Jiuzhu Dong
c4bed9eae9
driver/sensor: rename /dev/sensor -> /dev/uorb
...
because this directory contains all topics by uorb using, not just sensors.
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-08 19:45:52 +08:00
Nathan Hartman
dd718e78f7
Fix typos
2022-08-07 23:33:19 +08:00
Petro Karashchenko
b3cd9090d1
drivers/net: make sure that net driver d_buf is 16-bit aligned
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-08-05 22:21:37 +08:00
Nathan Hartman
20bdd44e7b
Remove executable permission from source and build files.
2022-08-04 12:48:18 -03:00
Xiang Xiao
8582a12388
drivers: Reorganize the power related code layout
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-04 10:28:28 +03:00
Jiuzhu Dong
742ca6e319
drivers/rc: fix compile warning
...
In file included from /home/archer/code/nuttx/n4/incubator-nuttx/drivers/rc/lirc_dev.c:29:
drivers/rc/lirc_dev.c: In function 'lirc_raw_event':
drivers/rc/lirc_dev.c:959:14: warning: format '%u' expects argument of type 'unsigned int',
but argument 3 has type 'uint32_t' {aka 'long unsigned int'} [-Wformat=]
959 | rcinfo("delivering %uus %d to lirc\n", ev.duration, ev.pulse ? 1 : 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~
| |
| uint32_t {aka long unsigned int}
drivers/rc/lirc_dev.c:959:27: note: format string is defined here
959 | rcinfo("delivering %uus %d to lirc\n", ev.duration, ev.pulse ? 1 : 0);
| ~^
| |
| unsigned int
| %lu
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-03 23:42:22 +08:00
ligd
8c1fd1df81
rptun: update rptun to openamp 2022.04.0
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-08-03 01:22:53 +08:00
ligd
c2c1358fc7
rptun: handle uint16_t overflow
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-08-03 01:22:53 +08:00
ligd
e368ce6c07
rptun: add buffer check in RX IRQ
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-08-03 01:22:53 +08:00
ligd
cf22dd8688
rptun: divide notify msg
...
For notify callback has two conditions:
1. new data coming
2. return buffer coming
divide these two msgs
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-08-03 01:22:53 +08:00
ligd
886e10ba3c
rptun: unify name
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-08-03 01:22:53 +08:00
Xiang Xiao
a9171c77ac
drivers/rptun: Add const to image_store_ops and remoteproc_ops
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-08-03 01:22:53 +08:00
Xiang Xiao
992747cef3
drivers/battery: Handle the early changed event correctly
...
since it may happen before battery_xxx_register sometime
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-02 18:50:46 +03:00
Peter van der Perk
013a562478
Net thread-safe ntoa functions
...
Apply suggestions from code review
Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-08-02 21:04:19 +08:00
Takayoshi Koizumi
17d7f5006f
drivers/wireless/gs2200m: Fix short bit length
...
Despite being a mask variable for a 32-bit value,
it was 16 bits long.
2022-08-02 19:13:38 +09:00
Takayoshi Koizumi
697bbffdc1
drivers/wireless/gs2200m: Add power-save and sync-loss interval
...
Add power save control and sync loss interval on GS2200M.
2022-08-02 15:13:00 +09:00
Takayoshi Koizumi
883c6fc2ef
drivers/wireless/gs2200m: Notify disssociation event
...
After recover disassociation, usrsock daemon must destroy all sockets.
Add notification to prompt the daemon to do so.
2022-08-02 15:13:00 +09:00
Xiang Xiao
bb16886568
Fix error: too few arguments to function 'rpmsg_register_callback'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-01 20:23:11 -03:00
Xiang Xiao
9ffd09b1fb
sensor/rpmsg: Swap "struct file *" and "struct sensor_lowerhalf_s *"
...
follow the change of sensor_ops_s
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-01 20:23:11 -03:00
Jiuzhu Dong
78381f9fc4
driver/sensor: fix deadlock about sensor_rpmsg
...
task1:
nuttx/arch/arm/src/common/arm_blocktask.c:151
nxsem_wait
nuttx/arch/arm/src/../../../sched/semaphore/sem_wait.c:155 (discriminator 2)
sem_wait
nuttx/arch/arm/src/../../../sched/semaphore/sem_wait.c:273
nxmutex_lock.lto_priv.2
nuttx/include/nuttx/mutex.h:161
sensor_rpmsg_push_event_one
nuttx/arch/arm/src/../../../drivers/sensors/sensor_rpmsg.c:748
up_unblock_task
nuttx/arch/arm/src/common/arm_unblocktask.c:75 (discriminator 2)
sensor_rpmsg_push_event
nuttx/arch/arm/src/../../../drivers/sensors/sensor_rpmsg.c:858
write
orb_publish_multi
nuttx/arch/arm/src/../../../../apps/system/uorb/uORB/uORB.c:188
task2:
nxrmutex_lock.isra.0
sensor_read
nuttx/arch/arm/src/../../../drivers/sensors/sensor.c:753
sem_post
nuttx/arch/arm/src/../../../sched/semaphore/sem_post.c:224
nxmutex_unlock.lto_priv.1
nuttx/include/nuttx/mutex.h:259
sensor_rpmsg_push_event_one
nuttx/arch/arm/src/../../../drivers/sensors/sensor_rpmsg.c:787
nxmutex_unlock.lto_priv.1
nuttx/include/nuttx/mutex.h:259
nuttx/arch/arm/src/../../../drivers/sensors/sensor.c:969
sensor_rpmsg_alloc_stub
nuttx/arch/arm/src/../../../drivers/sensors/sensor_rpmsg.c:549
sensor_rpmsg_advack_handler
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
ad20bd4bb3
driver/sensor: fix rpmsg send failed when buffer is NULL
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
jihandong
9485174ff0
nuttx/dirvers/sensor: down-sampling 2.0
...
1. about interval:
If interval is not set, generation is increased by 1 along with
publish and copy, multi-copy is continuous.
If interval is set, pick proper samples from buffer based on
mainline/user generation, multi-copy is one-by-one.
2. about bufferpos:
user->bufferpos always point to next position to check.
data user last read
----------v--------------------------
| | | |
-------------------^-----------------
bufferpos
If buffer is full, bufferpos point to buffer.head
Examples:
If a buffer contains 4 samples, newest generatoin is 40.
-------------------------------------
|10 |20 |30 |40
------------------------------^------
|
if user's next generation is 42, notify user to copy No.40 sample,
because 42 is closer to 40 than 50.
-------------------------------------
|10 |20 |30 |40
----------------------------------^--
|
if user's next generation is 48, do not notify user,
because 48 is closer to 50, which is next mainline sample.
Signed-off-by: jihandong <jihandong@xiaomi.com>
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
5b91641a09
driver/sensor: add cmd SNIOC_UPDATED and remove readlast
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
jihandong
12e5371a05
uorb: fix, should check min_interval modified by lowerhalf.
...
Signed-off-by: jihandong <jihandong@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
fe1d83c41b
driver/sensor: solve the deadlock problem caused by sensor_close
...
note: replace dev lock by upper driver lock
rptun:
sem_wait
sched/semaphore/sem_wait.c:273
nxmutex_lock
/home/neo/projects/monkey/nuttx/include/nuttx/mutex.h:161
sensor_close (wait upper driver lock)
drivers/sensors/sensor.c:509
sensor_rpmsg_free_stub (get dev lock)
drivers/sensors/sensor_rpmsg.c:546
sensor_rpmsg_unsub_handler
drivers/sensors/sensor_rpmsg.c:1025
rptun_thread
apps:
sem_wait
sched/semaphore/sem_wait.c:273
sensor_rpmsg_close (wait dev lock)
drivers/sensors/sensor_rpmsg.c:613
sensor_close (get upper driver lock)
drivers/sensors/sensor.c:512
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
107e3e5d52
driver/sensor: export upper half lock
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
48b4667318
driver/sensor: slove deadlock issue because ept/devlist using same lock
...
CHAMPION-6418
rptun sensor:
[ap] [ 5] [<0x2c352c68>] arm_switchcontext+0xc/0x10
[ap] [ 5] [<0x2c322eae>] sem_wait+0x5a/0xbc
[ap] [ 5] [<0x2c3376cc>] sensor_rpmsg_find_dev+0x8/0x78 (wait g_lock)
[ap] [ 5] [<0x2c338d96>] sensor_rpmsg_suback_handler+0xa/0x4c
[ap] [ 5] [<0x2c7630f6>] rpmsg_virtio_rx_callback+0xba/0x1b4
[ap] [ 5] [<0x2c762788>] rproc_virtio_notified+0x44/0x5c
[ap] [ 5] [<0x2c762154>] remoteproc_get_notification+0x1c/0x2c
[ap] [ 5] [<0x2c335576>] rptun_thread+0x6e/0x164
[ap] [ 5] [<0x2c324aba>] nxtask_start+0x3a/0x60
apps:(note: ipc buffer is busy, it's not enough for dual core.)
[ap] [26] [<0x2c323a5e>] nxsig_timedwait+0x8a/0x184
[ap] [26] [<0x2c324344>] nxsig_nanosleep+0x34/0xa4
[ap] [26] [<0x2c324446>] nxsig_usleep+0x26/0x38
[ap] [26] [<0x2c76338e>] rpmsg_virtio_get_tx_payload_buffer+0x5e/0x100 (wait ipc buffer)
[ap] [26] [<0x2c33775a>] sensor_rpmsg_advsub_one+0x1e/0xdc (get g_lock)
[ap] [26] [<0x2c338312>] sensor_rpmsg_open+0xee/0x178
[ap] [26] [<0x2c3365bc>] sensor_open+0x50/0x234
[ap] [26] [<0x2c749cb8>] open+0xc8/0x194
[ap] [26] [<0x2c375324>] orb_subscribe_multi+0x1c/0x94
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
01254de1bf
driver/sensor: update batch initial value
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
ddd4a0d635
driver/sensor: sync batch and interval when update interval
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
8e03f213e3
driver/sensor: convert interval 0 to ULONG_MAX
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
78eb832e23
driver/sensor: using standard recursive mutex api
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
38393cfc94
driver/sensor: move register_driver to end to avoid race condition
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
bf6063cc04
driver/sensor/rpmsg: fix deadlock case: push event in ioctl_ack handler
...
using recursive mutex to fix this issue.
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
67f156c2f7
driver/sensor: add cpuname info about failed case
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
fa4cebce32
driver/sensor: support sensor data persist
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
2a910b7ca9
driver/sensor: using re-entrant mutex for sensor access to avoid deadlock
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
74b2be20d0
driver/sensor: move readlast for each user
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
6f3873dfa2
sensor: add SNIOC_READLAST
...
If enable SNIOC_READLAST, sensor_read will return 0
when there is no new data until last read.
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
2f5727b102
driver/sensor: add _SNIOCVALID check to command
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
8de6c29aa4
driver/sensor: enable usensor and rpmsg_sensor
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Jiuzhu Dong
c5f87bb5c6
driver/sensor: support access remote sensor by rpmsg
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-08-02 01:28:56 +08:00
Xiang Xiao
f09f75f2c9
power/axp202: Replace battery_charger_operations_s * with battery_charger_dev_s
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-08-01 13:00:30 +03:00
Jiuzhu Dong
2ae5a82607
driver/sensor: add struct file for all sensor_ops_s
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-30 03:15:23 +08:00
Jiuzhu Dong
bb07354198
driver/sensors: add open/close api and struct file for sensor_ops
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-30 03:15:23 +08:00
Jiuzhu Dong
3fdd036ba6
driver/sensor: add name prefix "sensor_" for sensor register
...
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2022-07-30 03:15:23 +08:00
Michał Łyszczek
a9f78a64db
drivers/ipcc: add Inter Processor Communication driver
...
This patch adds upper half driver for IPCC character driver. IPCC
is a Inter Processor Communication Controller.
Driver is still immature and not thoroughly tested, thus
CONFIG_EXPERIMENTAL is required.
Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
2022-07-29 23:11:32 +08:00
Michael Jung
4ab8f9383d
w25qxxxjv.c: Use PRIxOFF to format off_t
...
Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-07-29 17:41:25 +08:00
hejianliang3
e88a49007d
timers/watchdog: fix build warning
...
drivers/timers/watchdog.c:57:5: warning: "CONFIG_WATCHDOG_AUTOMONITOR_PING_INTERVAL" is not defined, evaluates to 0 [-Wundef]
57 | CONFIG_WATCHDOG_AUTOMONITOR_PING_INTERVAL)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: hejianliang3 <hejianliang3@xiaomi.com>
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-07-29 07:25:45 +02:00
Michael Jung
f53c776d97
w25qxxxjv.c: Ensure Quad SPI mode is enabled
...
Certain variants of the W25QxxxJV Quad SPI NOR flash ICs have the Quad
SPI mode disabled after reset. As the w25qxxxjv driver is operating the
device in Quad SPI mode, make sure it gets enabled if required during
device initialization.
Signed-off-by: Michael Jung <michael.jung@secore.ly>
2022-07-28 21:45:34 +08:00
ligd
5dcc905f27
rptun: change lock to recursive lock
...
[ap] [ 6] [<0x2c351a18>] arm_switchcontext+0xc/0x10
[ap] [ 6] [<0x2c321b36>] sem_wait+0x5a/0xbc
[ap] [ 6] [<0x2c333d68>] rptun_ns_bind+0x2c/0x128
[ap] [ 6] [<0x2c5f863c>] rpmsg_virtio_ns_callback+0x9c/0x140
[ap] [ 6] [<0x2c5f84a6>] rpmsg_virtio_rx_callback+0xba/0x1b4
[ap] [ 6] [<0x2c5f7b38>] rproc_virtio_notified+0x44/0x5c
[ap] [ 6] [<0x2c5f7504>] remoteproc_get_notification+0x1c/0x2c
[ap] [ 6] [<0x2c33432c>] rptun_wait_tx+0x11c/0x160
[ap] [ 6] [<0x2c5f8734>] rpmsg_virtio_get_tx_payload_buffer+0x54/0x100
[ap] [ 6] [<0x2c5f87f2>] rpmsg_virtio_send_offchannel_raw+0x12/0x6c
[ap] [ 6] [<0x2c321b4c>] sem_wait+0x70/0xbc
[ap] [ 6] [<0x2c5f8166>] rpmsg_create_ept+0x102/0x1a4
[ap] [ 6] [<0x2c5eafcc>] rpmsgfs_device_created+0x44/0x5c
[ap] [ 6] [<0x2c33407c>] rptun_dev_start.isra.0+0x218/0x3ac
[ap] [ 6] [<0x2c3343f4>] rptun_thread+0x84/0x164
[ap] [ 6] [<0x2c323762>] nxtask_start+0x3a/0x60
Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-07-27 20:36:51 +08:00