rpmsg_virtio_ivshmem polling mode use wdog to loop instead work
queue, beacause wdog has better performance
Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
Change the rpmsg_virtio_ivshmem from pci bus based to
pci-ivshmem bus based, so rpmsg_virtio_ivshmem can support interrupt
mode and also support the multi instance.
Signed-off-by: wangyongrong <wangyongrong@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
rpmsg_virtio_ivshmem is a ivshmem based rpmsg virtio driver,
with this driver, we can use the rpmsg virtio in qemu platfrom
Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
Rpmsg VirtIO is a virtio transport implementation for Rpmsg, and
it's different to the rptun framework.
rpmsg_virtio.c implements the rpmsg virtio transport layer by itself
to avoid use the remoteproc implementation in OpenAMP to save code
size, so it can be treated as a lightweight version of rptun.
Therefore, rpmsg_virtio.c only support the communication feature and
do not support contoll the life cycle of the remote core.
But benefit by it's small footprint, it can be used in the chips with
small flash.
Signed-off-by: Yongrong Wang <wangyongrong@xiaomi.com>
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
1. Change pci uio ivshmem driver from pci bus based tp pci-ivshmem
bus based;
2. Add the interrupt support by usin the pci_ivshmem API;
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
Some devices need to clear the fb panbuf when waking up from sleep
to avoid outputting residual buffers from before sleeping
Signed-off-by: rongyichang <rongyichang@xiaomi.com>
coresight_claim_device will fail when unregister device
which has been enabled. device should be the init state when
it is unregistered.
Signed-off-by: liaoao <liaoao@xiaomi.com>
Using the ts/tick conversion functions provided in clock.h
Do this caused we want speed up the time calculation, so change:
clock_time2ticks, clock_ticks2time, clock_timespec_add,
clock_timespec_compare, clock_timespec_subtract... to MACRO
Signed-off-by: ligd <liguiding1@xiaomi.com>
Add new driver frameworks: force feedback for vibrator, like linux,
unify vendor vibrator driver using.
Incorporating a force feedback-based driving framework to replace the
conventional driver/motor setup for controlling vibrators not only
enhances the precision and responsiveness of the haptic feedback but
also aligns better with the advancements in Linux-based driver systems.
refs docs link: https://www.kernel.org/doc/html/v4.19/input/ff.html
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
1. Should check the vmid in ivshmem_remove() when release irq instead
check the ivdev->reg;
2. Add vmid check in ivshmem_probe() because ivshmem driver only support
vmid == 0 or 1 for now in NuttX;
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
Add common ivshmem driver, provide the ivshmem bus mechisam, so
many ivshmem based driver can change to pci_ivshmem based
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>