hil_proc: Use logical address in proc_vring
It is not necessary to maintain the physical address in hil_proc,
and actually the physical address field phy_addr is already used
as logical address. This patch is to rename the physical address
data field to logical address.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
It is not necessary to maintain the physical address in hil_proc,
and actually the physical address field phy_addr is already used
as logical address. This patch is to rename the physical address
data field to logical address.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: initialize with proc->ops->initialize()
Use proc->ops->initialize() for the remote processor initialization,
which will initialize the hil_proc and memory map the shared
memory specified in proc_shm.
The hil_create_proc() will only link the initialized hil_proc
to the hil_proc list.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use proc->ops->initialize() for the remote processor initialization,
which will initialize the hil_proc and memory map the shared
memory specified in proc_shm.
The hil_create_proc() will only link the initialized hil_proc
to the hil_proc list.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: use proc->ops->release()
Use proc->ops->release() to release resource of each remote
proc driver. This allow each remote processor to define its
own resource release function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use proc->ops->release() to release resource of each remote
proc driver. This allow each remote processor to define its
own resource release function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
hil_proc: introduce release()
Introduce remoteproc specific release() to release
resource of a remote processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce remoteproc specific release() to release
resource of a remote processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp_r5 remoteproc: remove platform_get_processor_for_fw()
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynq: remove platform_get_processor_for_fw()
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This function was to get the CPU ID (the index in
the proc_table which is a table to keep the remoteproc
platform data) from firmware.
However, the user application should know which platform
data in the table to initialize which remote processor.
It is not necessary to to have this function, and not
necessary to have the "CPU ID" in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove hil_get_cpuforfw()
As it is no longer required to specify CPU ID in the firmware,
remove the hil_get_cpuforfw().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As it is no longer required to specify CPU ID in the firmware,
remove the hil_get_cpuforfw().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove platform_get_processor_info() from hil_proc
As platform_get_processor_info() is no longer used, remove it
from hil_proc extern declaration.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As platform_get_processor_info() is no longer used, remove it
from hil_proc extern declaration.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: Remove getting CPU Id from firmware
The CPU ID is the ID defined in the remoteproc data table
in the application, the user application should know
what what data should be used to do the remoteproc initialization.
It is not necessary to have CPU ID in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The CPU ID is the ID defined in the remoteproc data table
in the application, the user application should know
what what data should be used to do the remoteproc initialization.
It is not necessary to have CPU ID in the firmware.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: update calling the remoteproc init API
As the remoteproc init API has changed, update how to call the API
in the demo applications.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As the remoteproc init API has changed, update how to call the API
in the demo applications.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynq7: remove setting rproc platform data funciton
Setting data function is defined in the remoteproc driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Setting data function is defined in the remoteproc driver.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps: zynqmp r5: remove extra remoteproc information
Remove not used remoteproc data from the remote proc data table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove not used remoteproc data from the remote proc data table.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynq a9 remoteproc: implement _initialize()
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp r5 remoteproc: implement _initialize()
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add _initialize() implementation to have remoteproc
driver specific initialization.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Make platform data as remote proc init input
Previously, the library relies on extern platform data variable.
This patch changes the remote processor initialization API to
have platform data as input argument and also allows each
remoteproc driver to have its own initialization implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Previously, the library relies on extern platform data variable.
This patch changes the remote processor initialization API to
have platform data as input argument and also allows each
remoteproc driver to have its own initialization implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add initialize() hil_proc API
Introduce initialize() hil_proc API to set platform data for
each remoteproc processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce initialize() hil_proc API to set platform data for
each remoteproc processor.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rproc init: remove system init
System init should be done outside the OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
System init should be done outside the OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg_init: caller to control whether to init env
Add parameter to rpmsg_init() to allow caller to specify
whether to initialize environment in the function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add parameter to rpmsg_init() to allow caller to specify
whether to initialize environment in the function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace llist with metal_list for rpmsg endpoint
Use metal_list to keep rpmsg endpoints
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use metal_list to keep rpmsg endpoints
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace llist with metal_list for rpmsg channels
Use metal_list for rpmsg_channels.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use metal_list for rpmsg_channels.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Apps: add list node in platform info new hil_proc
There is metal_list node added to hil_proc struct.
Add its field to the prefilled platform data.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There is metal_list node added to hil_proc struct.
Add its field to the prefilled platform data.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
port hil_proc to use metal_list
use metal_list instead of llist in hil_proc.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
use metal_list instead of llist in hil_proc.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
replace env_print with printf
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove OpenAMP env_print and env_assert
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce RPMSG_ASSERT
Remove OpenAMP env assert.
Similar to virtqueue assert, introduce RPMSG_ASSERT
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove OpenAMP env assert.
Similar to virtqueue assert, introduce RPMSG_ASSERT
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove memory barrier definition from OpenAMP env
As we use atomic operations to setup memory fence.
It is not required to define memory barrier in
OpenAMP.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As we use atomic operations to setup memory fence.
It is not required to define memory barrier in
OpenAMP.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace OpenAMP memory barrier with atomic operation
Use atomic_thread_fence() to setup memory fence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use atomic_thread_fence() to setup memory fence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remove memory barrier from zynqmp remoteproc driver
As memory barrier is already called in virtio before
kicking the remote. It is not required to call again before
raising the IPI interrupt.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As memory barrier is already called in virtio before
kicking the remote. It is not required to call again before
raising the IPI interrupt.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_strncmp()
env_strncmp() has been replaced with strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_strncmp() has been replaced with strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncmp() wisth strncmp()
Replace env_strncmp() with standard C function strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncmp() with standard C function strncmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_strcmp()
env_strcmp() has been replaced by strcmp()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_strcmp() has been replaced by strcmp()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strcmp() with strcmp()
Repalce env_strcmp() with standard c function strcmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Repalce env_strcmp() with standard c function strcmp().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_strncpy()
env_strncpy has been replaced by strncpy().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_strncpy has been replaced by strncpy().
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncpy() with strncpy()
Replace env_strncpy() with strncpy() standard C function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_strncpy() with strncpy() standard C function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove undefined env_strcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove undefined env_strlen()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_memcpy()
env_memcpy() has been replaced by memcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
env_memcpy() has been replaced by memcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_memcpy() with memcpy()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_memset()
Use ANSI C memset() instead.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use ANSI C memset() instead.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_memset() with memset()
There is memset() in standard C.
There is no need to redefine env_memset()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There is memset() in standard C.
There is no need to redefine env_memset()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove env_init()
As env_init() has been replaced with metal_init(),
remove it from the code.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As env_init() has been replaced with metal_init(),
remove it from the code.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace env_init() with metal_init()
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
sh_mem.c: Remove unused status var
Removed unused status variable in shared memory
create pool function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Removed unused status variable in shared memory
create pool function.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove OpenAMP env mutex implementation
As libmetal mutex has been ported to OpenAMP,
remove the OpenAMP env mutex implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As libmetal mutex has been ported to OpenAMP,
remove the OpenAMP env mutex implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Replace ENV mutex with the libmetal mutex
This patch is to replace the OpoenAMP env mutex with
the libmetal mutex.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This patch is to replace the OpoenAMP env mutex with
the libmetal mutex.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add libmetal to the libraries to build OpenAMP app
Add libmetal to the libraries list required to build
the OpenAMP example app.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add libmetal to the libraries list required to build
the OpenAMP example app.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Check libmetal include dir
Add libmetal include directory when buildling
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add libmetal include directory when buildling
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add CMake depends to check OpenAMP dependencies
Introduce depends.cmake to check dependencies for
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Introduce depends.cmake to check dependencies for
OpenAMP library.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add CMake module for look for libmetal
Add a CMake module to look for the libmetal library
and header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add a CMake module to look for the libmetal library
and header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
ZynqMP_R5: Add support to out of repo libxil
Allow CMake to search for libxil and its header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Allow CMake to search for libxil and its header files.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
shared mem: fix the get first zero bit function
The previous API doesn't work on 64bit machine.
This patch is to fix it.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The previous API doesn't work on 64bit machine.
This patch is to fix it.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
swap the trace and devmem rsc handler
Match the resource handlers sequence in the resource
handlers table to the resource type definition sequence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Match the resource handlers sequence in the resource
handlers table to the resource type definition sequence.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Fixed cast to (void *) preventing error free compilation with g++ (#24)
virtio: Redefine vring_avail_event
Redefine vring_avail_event to avoid accessing ring.id as
a 16bit integer and breaking the C aliasing rules.
This fixes a build warning:
virtio/virtqueue.c: In function ‘vq_ring_must_notify_host’:
virtio/virtqueue.c:658:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
event_idx = vring_avail_event(&vq->vq_ring);
^
No functional change.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Redefine vring_avail_event to avoid accessing ring.id as
a 16bit integer and breaking the C aliasing rules.
This fixes a build warning:
virtio/virtqueue.c: In function ‘vq_ring_must_notify_host’:
virtio/virtqueue.c:658:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
event_idx = vring_avail_event(&vq->vq_ring);
^
No functional change.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use standard types in resource table
Resource table fields are declared as unsigned int or char.
As the lengths of these types varies between different platforms,
reousrce table may change shape. Change these fields to uint32_t
or uint8_t.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Resource table fields are declared as unsigned int or char.
As the lengths of these types varies between different platforms,
reousrce table may change shape. Change these fields to uint32_t
or uint8_t.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg.h: move code to maximize match against Linux
Move rpmsg_send() and rpmsg_sendto() to maximize match against
Linux include/linux/rpmsg.h
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Move rpmsg_send() and rpmsg_sendto() to maximize match against
Linux include/linux/rpmsg.h
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Remove redundant checking in rpmsg send
As rpmag_send_offchannel_raw() does the input arguments
checking, remove the redundant checking in its caller
rpmsg send functions.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
As rpmag_send_offchannel_raw() does the input arguments
checking, remove the redundant checking in its caller
rpmsg send functions.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rpmsg.h: remove leading space of function declare
Remove leading spece of function declaration and definition.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Remove leading spece of function declaration and definition.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Use standard types in rpmsg
The use of integer types in rpmsg headers is wrong, and consequently
doesn't match the Linux definitions on 64-bit platforms.
This patch fixes the issue by replacing with stdint types.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
The use of integer types in rpmsg headers is wrong, and consequently
doesn't match the Linux definitions on 64-bit platforms.
This patch fixes the issue by replacing with stdint types.
Signed-off-by: Cyril Chemparathy <cyril.chemparathy@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Correct the name of the Xilinx supported platform
Correct the name of Xilinx Zynq UltraScale+ MPSoC platform.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Correct the name of Xilinx Zynq UltraScale+ MPSoC platform.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
change rpmsg error base
This is to fix the issue that RPMSG and VQUEUE use the same
error base.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
This is to fix the issue that RPMSG and VQUEUE use the same
error base.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Fix rpmsg_end on REMOTE causes buffer "leak"
void getting tx buffer out of the buffers pool when the payload
to be sent does not fit into the buffer length.
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
void getting tx buffer out of the buffers pool when the payload
to be sent does not fit into the buffer length.
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add env_assert() API
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add missing #else statement into the compiler.h
Signed-off-by: Michal Princ (NXA17570) <michal...@nxp.com>
Signed-off-by: Michal Princ (NXA17570) <michal...@nxp.com>
Add maintainers file
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add license file
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Change the NXP copyright to Freescale
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Fix double free, occurs if a channel destroyed callback is fired from interrupt during the rpmsg_deinit function running in non-interrupt context.
- rpmsg_rdev_get_chnl_from_addr() removed because it is not used
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
- rpmsg_rdev_get_chnl_from_addr() removed because it is not used
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Fix deadlock in rpmsg_send_ns_message caused by error
handling
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
handling
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
fix deallocation issue on deinit
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
rm compilation warnings, clean comments, file rename
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
rename and define some local var/funcs static
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
invalidate cache instead of disabling
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
zynqmp: drivers use platform_isr instead of hil_isr
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
zynqmp: replace logical-AND by bit-AND with ipi_chn_mask
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Signed-off-by: Sam Sortais <sam.sortais@xilinx.com>
Avoid using zero length arrays in sh_mem_pool structure
- unsigned long bitmap[0] removed from sh_mem_pool structure
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
- unsigned long bitmap[0] removed from sh_mem_pool structure
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Fix the way the create endpoint function returns the address number when RPMSG_ADDR_ANY is passed the parameter
This bug has been revealed when performing following steps:
1. create one endpoint with address RPMSG_ADDR_ANY.
2. get the address of that endpoint after it is created successfully.
3. use that address to create another endpoint.
It should not create the second endpoint with address of the first endpoint but somehow both endpoints were created successfully.
Restrict the endpoint address - zero address can't be assigned (due to the conflict in Linux world)
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
This bug has been revealed when performing following steps:
1. create one endpoint with address RPMSG_ADDR_ANY.
2. get the address of that endpoint after it is created successfully.
3. use that address to create another endpoint.
It should not create the second endpoint with address of the first endpoint but somehow both endpoints were created successfully.
Restrict the endpoint address - zero address can't be assigned (due to the conflict in Linux world)
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Avoid using zero length arrays in rpmsg_hdr struct
- unsigned char data[1] removed from rpmsg_hdr structure
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
- unsigned char data[1] removed from rpmsg_hdr structure
Signed-off-by: Michal Princ (NXA17570) <michal.princ@nxp.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
remoteproc: zynqmp to a53: always enable IPI intr
Need to always unmask IPI interrupt since the IPI interrupt
can be initailly masked.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Need to always unmask IPI interrupt since the IPI interrupt
can be initailly masked.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Avoid memory leak in rpmsg_init()
rpmsg_deinit() did not delete proc instance initialized during the rpmsg_rdev_init()
rpmsg_deinit() did not delete proc instance initialized during the rpmsg_rdev_init()
Switch params for sh_mem_free_buffer call
This is the bugfix of the wrong param order for sh_mem_free_buffer call
This is the bugfix of the wrong param order for sh_mem_free_buffer call
Add rpc_demo README
Add description on how to use the rpc_demo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add description on how to use the rpc_demo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add matrix_multiply README
Provide description on how to use the matrix_multiply demo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Provide description on how to use the matrix_multiply demo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Add echo_test demo README.
Provide a description on how to use the echo_test demo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Provide a description on how to use the echo_test demo.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove obsolete getting started guide
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update README for the OpenAMP
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove Makefile
Since the compilation has been moved to use CMake, remove
Makefiles
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Since the compilation has been moved to use CMake, remove
Makefiles
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Use CMake for compilation
using cmake is in order to make OpenAMP compilation
easier to cross OSes and compilers
Signed-off-by: Wendy Liang <jliang@xilinx.com>
using cmake is in order to make OpenAMP compilation
easier to cross OSes and compilers
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp_r5: remove IPI handler
It is not necessary to have IPI handler.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
It is not necessary to have IPI handler.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp_r5: rename machine.c to machine_system.c
rename lib/system/generic/machine/zynqmp_r5/machine.c to
lib/system/generic/machine/zynqmp_r5/machine_system.c
Signed-off-by: Wendy Liang <jliang@xilinx.com>
rename lib/system/generic/machine/zynqmp_r5/machine.c to
lib/system/generic/machine/zynqmp_r5/machine_system.c
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Update for splited system/machine implementation
Adjust the lib/Makefile and the apps demos for the updated
system/machine implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Adjust the lib/Makefile and the apps demos for the updated
system/machine implementation.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Split zynqmp_r5 machine.c
zynqmp_r5 machine.c includes OpenAMP and non-OpenAMP but baremetal specific application helper functions.
This patch split it into:
* lib/system/generic/machine/zynqmp_r5/machin_system.c for OpenAMP zynqmp_r5 generic implementation
* apps/system/generic/machine/zynqmp_r5/helper.c for zynqmp_r5 baremetal app helper functions.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp_r5 machine.c includes OpenAMP and non-OpenAMP but baremetal specific application helper functions.
This patch split it into:
* lib/system/generic/machine/zynqmp_r5/machin_system.c for OpenAMP zynqmp_r5 generic implementation
* apps/system/generic/machine/zynqmp_r5/helper.c for zynqmp_r5 baremetal app helper functions.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynq7: split the machine.c/.h
The old machine.c/.h has included the basic baremetal functions which doesn't belong to OpenAMP lib itself.
it is split into:
* obsolete: which provides the generic Zynq baremetal functions, which will be replaced with Xilinx standalone lib in future
* lib/system/generic/machine/zynq7/machine_system.c, OpenAMP implementation for Zynq7 generic
* apps/system/generic/machine/zynq7/helper.c, helper function for demo apps.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The old machine.c/.h has included the basic baremetal functions which doesn't belong to OpenAMP lib itself.
it is split into:
* obsolete: which provides the generic Zynq baremetal functions, which will be replaced with Xilinx standalone lib in future
* lib/system/generic/machine/zynq7/machine_system.c, OpenAMP implementation for Zynq7 generic
* apps/system/generic/machine/zynq7/helper.c, helper function for demo apps.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Move remoteproc drv from system/machaine to remoteproc
Move the remoteproc drivers from system/machine directory
to remoteproce/drivers directory.
Different machines can enable the same remoteproc drivers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Move the remoteproc drivers from system/machine directory
to remoteproce/drivers directory.
Different machines can enable the same remoteproc drivers.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove *.a from ignore
Since there is *.a in the repository, remove *.a from ignore.
It will be removed in future.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Since there is *.a in the repository, remove *.a from ignore.
It will be removed in future.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Remove obsolete open_amp_build.sh
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Wendy Liang <jliang@xilinx.com>
apps:generic:zynq7:correct common app source files
Set the right common source files for zynq7 generic
non remoteproc master application.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Set the right common source files for zynq7 generic
non remoteproc master application.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp_r5:remoteproc:fix compilation warning
Since the intr vector ID is unsinged int, when trying to
compare it against 0 to see if it is less than 0, it post
compilation warning.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Since the intr vector ID is unsinged int, when trying to
compare it against 0 to see if it is less than 0, it post
compilation warning.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
zynqmp-r5:remoteproc:solve unused variable warning
There are functions in the remoteproc driver not using
all the arguments because those functions need to meet
the function type in order to be used as function
variables.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
There are functions in the remoteproc driver not using
all the arguments because those functions need to meet
the function type in order to be used as function
variables.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
Move Linux userspace/kernelspace demo to obsolete
The Linux userspace and kernelspace demo applications are not
built with OpenAMP library, move them to obsolete directory.
Signed-off-by: Wendy Liang <jliang@xilinx.com>
The Linux userspace and kernelspace demo applications are not
built with OpenAMP library, move them to obsolete directory.
Signed-off-by: Wendy Liang <jliang@xilinx.com>