Bowen Wang
bbb7f436d4
serial.c: should protect the fds when calling poll_notify
...
1. Use critical_section to protect the fds array;
2. Use critical_section and sched lock to protect the poll notify, because
poll notify may cause context switch, delay the context swtich to
sched_unlock();
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-10 02:38:12 +08:00
ligd
0a70235b0c
serial/pl011: fix can't up_putc() after setup
...
Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-10-10 02:38:12 +08:00
ligd
94cc99d01b
serial: fix cu ctrl+c crash
...
__assert
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/libs/libc/assert/lib_assert.c:36
nxsem_recover
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/sched/semaphore/sem_recover.c:86 (discriminator 3)
nxtask_recover
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/sched/task/task_recover.c:79
nxtask_exithook
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/sched/task/task_exithook.c:448
nxtask_terminate
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/sched/task/task_terminate.c:110
pthread_cancel
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/sched/pthread/pthread_cancel.c:110
cu_main
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/apps/system/cu/cu_main.c:485
nxtask_startup
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/libs/libc/sched/task_startup.c:70 (discriminator 2)
nxtask_start
/home/work/ssd1/workspace/MiRTOS-N62-Rel-4.0-Pre-Build/nuttx/sched/task/task_start.c:134
Signed-off-by: ligd <liguiding1@xiaomi.com>
2024-10-10 02:38:12 +08:00
sunjikun
ee306d47fd
drivers/serial: Add 16550_DLF_SIZE option for DesignWare UART.
...
Signed-off-by: sunjikun <sunjikun@xiaomi.com>
2024-10-10 02:38:12 +08:00
yangsong8
81d704cd82
gdbstub: support the use of recvbuf and sendbuf
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-10-09 15:41:48 +08:00
anjiahao
e007ace00d
gdbstub:support only use gdbstub when panic
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-10-09 15:41:48 +08:00
Xiang Xiao
b068e2357a
circbuf: Move from mm/circbuf to libs/libc/misc
...
so that it can be used by userspace program.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: Neo Xu <neo.xu1990@gmail.com>
2024-10-09 08:41:49 +08:00
Bowen Wang
064eb5fd35
rpmsg services: should release the tx buffer when rpmsg_send_nocopy failed
...
Otherwise, the tx buffer will be discarded and can no longer be obtained
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-08 18:26:39 +08:00
Bowen Wang
79be76a22c
serial/uart_rpmsg: should init the lock before call rpmsg_register_callback
...
To avoid init the lock after this lock has been used.
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-07 20:42:44 +08:00
Bowen Wang
262ccbb068
drivers/uart_rpmsg: add recv lock when received the data from peer
...
The recv buffer is used both in user thread and rpmsg ept->callback
thread, so add recv lock to protect the recv buffer.
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-10-07 20:42:44 +08:00
yintao
a1dc6dc7fc
driver/uart_rpmsg: clear transmit buffer when remote exception occurred
...
Make uart rpmsg work normally when restart the remote core
Signed-off-by: yintao <yintao@xiaomi.com>
2024-10-07 20:42:44 +08:00
Xiang Xiao
7c839d7a09
rptun: Remove include/nuttx/rptun/openamp.h
...
and use include/nuttx/rpmsg/rpmsg.h instead
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-10-07 00:44:28 +08:00
raiden00pl
e3bbd0cfd8
drivers/serial/CMakeLists.txt: add missing files
...
add missing files: uart_bth5.c and uart_ram.c
2024-10-05 23:40:11 +08:00
xuxingliang
7044b10c88
task: use get_task_name where possible
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-10-01 20:38:06 +08:00
xuxingliang
1ec3623b6b
serial: add message for FORCE_PANIC
...
Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
2024-09-30 18:21:05 +08:00
yangsong8
b319c27f03
serial: Added APIs for receiving and sending multiple chars
...
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-09-30 16:27:21 +08:00
chenxiaoyi
065046b2a2
serial: use hostfs read/write on stdio as uart
...
This is used to implement serial console on instruction set simulator (ISS).
Signed-off-by: chenxiaoyi <chenxiaoyi@xiaomi.com>
2024-09-28 13:53:06 +08:00
dulibo1
b4b07ce6bd
PM:use CONFIG_SERIAL_PM_ACTIVITY_PRIORITY == 0 disable pm_activity which need by bl616
...
Signed-off-by: dulibo1 <dulibo1@xiaomi.com>
2024-09-28 11:03:48 +08:00
chenrun1
4cec713dbf
fs_inode:Change the type of i_crefs to atomic_int
...
Summary:
1.Modified the i_crefs from int16_t to atomic_int
2.Modified the i_crefs add, delete, read, and initialize interfaces to atomic operations
The purpose of this change is to avoid deadlock in cross-core scenarios, where A Core blocks B Core’s request for a write operation to A Core when A Core requests a read operation to B Core.
Signed-off-by: chenrun1 <chenrun1@xiaomi.com>
2024-09-23 14:07:03 +08:00
p-szafonimateusz
545774eb88
serial/pci_16550: make sure that interrupts are disabled during init
...
Make sure that interrups are disabled during initialization.
This is a proper fix for an unexpected MSI interrupt for PCI serial driver.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-09-18 23:54:12 +08:00
dongjiuzhu1
d4bbbe0d0b
drivers/pty: support pty write to send signal, like serial driver
...
The interaction between the shell service in adb and adbd occurs through a pseudo-terminal (pty).
so, when a command is launched through adb shell from a PC, users now have the ability to pause
or kill the launched,application by inputting specific commands CONFIG_TTY_SIGTSTP_CHAR or
CONFIG_TTY_SIGTINT_CHAR, akin to the capabilities provided by nsh.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-17 20:11:10 +08:00
p-szafonimateusz
8ab0785d71
drivers: add UART 16550 compatible PCI device support
...
add support for UART 16550 compatible PCI device.
For now we support qemu serial PCI devices and AX99100 based cards.
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-09-15 03:37:58 +08:00
p-szafonimateusz
ceb2921d79
drivers: prepare 16550 UART driver to support PCI
...
prepare 16550 UART driver to support PCI:
- [breaking change] change argument of uart_ioctl() from `struct file *filep` to `FAR struct u16550_s *priv`
Also fix moxart_16550.c build related to this change
- [breaking change] change argument of uart_getreg() and uart_putreg from `uart_addrwidth_t base` to `FAR struct u16550_s *priv`
Also fix arch/x86/src/qemu/qemu_serial.c and arch/x86_64/src/intel64/intel64_serial.c related to this change
- [breaking change] change argument of uart_dmachan() from `uart_addrwidth_t base` to `FAR struct u16550_s *priv`
- move `struct u16550_s` to public header
- generalize UART_XXX_OFFSET so we can use it with any register increment
- make u16550_bind(), u16550_interrupt(), u16550_interrupt() public
- remove arch/or1k/src/common/or1k_uart.c and use common 16550 MIMO interfacve
- change irq type in `struct u16550_s` from uint8_t to int to match MSI API
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-09-15 03:37:58 +08:00
p-szafonimateusz
c7e8fd43a4
drivers/uart_16550: configure MCR_OUT2 bit from Kconfig
...
move MCR_OUT2 configuration from qemu-intel64/src/qemu_boot.c to common code
also leave this option disabled for qemu-intel64 as it's not required
Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
2024-09-15 03:37:58 +08:00
fangpeina
11f06eb0f5
drivers/serial: fix deadlock when executing rexec in a user task
...
CPU0 CPU1
task:nsh_main task:user_app rexecd
nsh_consolemain system
uart_read rexec ---
got recv.lock poll ---
uart_poll rpmsg_socket_poll rpmsg_socket_close
wait recvsem get recv.lock poll_notify
deadlock routine work
the error accurs in CPU0 when waiting console input
resolve: unlock recv.lock when waiting recvsem
Signed-off-by: fangpeina <fangpeina@xiaomi.com>
2024-09-14 10:27:40 +08:00
zhanghu5
10e7d8fe44
set min read length in uart_ioctl
...
set min read length in uart_ioctl
Signed-off-by: zhanghu5 <zhanghu5@xiaomi.com>
2024-09-14 10:27:40 +08:00
chao an
7223a1d0d4
serial/uart_16550: remove up_putc spinlock
...
putc atomicity should be guaranteed by common code rather than add similar hack to lower half driver
Signed-off-by: chao an <anchao@lixiang.com>
2024-09-12 18:11:30 +08:00
chao an
c19bdf204c
serial/uart_pl011: default syslog needs to check flow control in up_putc
...
default syslog needs to check flow control in up_putc(), otherwise
up_puts() will lose character if the hardware fifo is full.
2024-09-12 17:15:40 +08:00
Petro Karashchenko
1528b8dcca
nuttx: resolve various 'FAR' and 'CODE' issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-26 10:21:03 +08:00
yangsong8
6a38c37702
pty: use mutex to protect alloc minor
...
If failed in pty_register2, it is possible to enter unregister_driver
function, which eventually calls ptmx_minor_free, resulting in mutex
conflict.
Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
2024-08-25 22:16:53 +08:00
Petro Karashchenko
d499ac9d58
nuttx: fix multiple 'FAR', 'CODE' and style issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
Petro Karashchenko
d252b6229f
nuttx: use sizeof instead of define or number in snprintf
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2024-08-25 19:22:15 +08:00
guohao15
458bab9ae7
fix:uart_rpmsg_dmareceive data copy to nbuffer should start from data + length
...
Signed-off-by: guohao15 <guohao15@xiaomi.com>
2024-08-22 09:23:12 -03:00
Lwazi Dube
f3ddb3ffac
drivers/serial: Make the 16550 rx trigger level configurable
...
To avoid breaking other configs, the default value 2 is equal to the original
hard coded value.
2024-08-03 10:31:36 +08:00
hujun5
a4fece3450
spin_lock: inline spin_lock
...
test:
We can use qemu for testing.
compiling
make distclean -j20; ./tools/configure.sh -l qemu-armv8a:nsh_smp ;make -j20
running
qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic -machine virt,virtualization=on,gic-version=3 -net none -chardev stdio,id=con,mux=on -serial chardev:con -mon chardev=con,mode=readline -kernel ./nuttx
2024-07-15 02:29:30 +08:00
Huang Qi
add8b71fee
serial/gdbstub: Change GDBSTUB_ to GDB_
...
Fix nameing convention inconsistent
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2024-06-24 23:51:43 +08:00
TakuyaMiyasita
d6445484fe
drivers/serial/uart_pl011.c : add the bitmask according to PL011 spec. (Although almost no problem.)
2024-06-03 21:18:44 +08:00
TakuyaMiyasita
c93383407b
drivers/serial/uart_pl011.c : add the interface about clock and reset control for reducing power consumption.
2024-06-03 21:18:44 +08:00
TakuyaMiyasita
99dee09146
drivers/serial/uart_pl011.c : bug fix about the function : pl011_txready().
2024-06-03 21:18:44 +08:00
hujun5
5cee996588
up_putc: int up_putc, enter_critical_section may be called
...
before kernel has been iniitialized,we use spin_lock_irqsave to replace.
Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-05-09 13:45:02 +08:00
chao an
e4d4c67b78
serial/pl011: configurable clock frequency
...
move clock frequency into Kconfig
Signed-off-by: chao an <anchao@lixiang.com>
2024-04-30 17:26:39 +08:00
anjiahao
0040e9a239
drivers/serial:support arm cmsdk drivers
...
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-04-26 18:42:35 -03:00
dongjiuzhu1
9c55f21a6f
drivers/cdcacm/serial: add release interface to release uart_dev resource
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-21 23:21:54 +08:00
chao an
d11b1ba9cb
drivers/serial/16550: remove unused function
...
drivers/serial/uart_16550.c:690:20: warning: unused function 'u16550_restoreuartint' [-Wunused-function]
static inline void u16550_restoreuartint(FAR struct u16550_s *priv,
^
Signed-off-by: chao an <anchao@lixiang.com>
2024-04-19 20:13:16 +08:00
dongjiuzhu1
e0c18c05e8
fs/driver: using nx_unlink to call unlink ops to release some resource
...
if driver complete unlink ops, we need to call it to release some resource,
otherwise, it will only remove inode.
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-03-14 11:53:30 +08:00
Bowen Wang
169f47beec
rpmsg: make all the rpmsg services deponds on RPMSG
...
After decoupled the rpmsg and rptun, all the rpmsg service should
depends on the RPMSG.
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-02-18 04:09:34 -08:00
chao an
5424ace1cf
compiler/tasking: fix compiler warning on tasking
...
ctc W549: ["serial/serial.c" 877/37] condition is always true
ctc W549: ["inode/fs_inodesearch.c" 72/8] condition is always true
ctc W545: ["obstack/lib_obstack_malloc.c" 69/1] missing 'return'
ctc W545: ["obstack/lib_obstack_malloc.c" 82/1] missing 'return'
Signed-off-by: chao an <anchao@lixiang.com>
2024-01-31 05:02:56 -08:00
chao an
8ff97f6210
compiler/tasking: fix unreachable code on tasking toolchain
...
ctc W544: ["serial/serial.c" 284/3] unreachable code
ctc W544: ["vfs/fs_lseek.c" 96/13] unreachable code
ctc W544: ["wqueue/kwork_thread.c" 210/32] unreachable code
ctc W544: ["stdio/lib_fopen.c" 327/19] unreachable code
ctc W544: ["stdio/lib_fopen.c" 404/13] unreachable code
ctc W544: ["string/lib_strcasestr.c" 120/3] unreachable code
ctc W544: ["unistd/lib_getopt_common.c" 156/21] unreachable code
ctc W544: ["unistd/lib_getopt_common.c" 216/21] unreachable code
ctc W544: ["wctype/lib_iswctype.c" 155/3] unreachable code
Signed-off-by: chao an <anchao@lixiang.com>
2024-01-30 20:53:00 -08:00
chao an
c04f1e7789
drivers/serial/pl011: add FAR specifier
...
Signed-off-by: chao an <anchao@lixiang.com>
2024-01-11 13:39:06 +01:00
chao an
1dd9f64287
drivers/serial/pl011: add support of uart0/2/3 port
...
Signed-off-by: chao an <anchao@lixiang.com>
2024-01-11 13:39:06 +01:00