ipc/ipcdev.git
8 years agoCleanup: remove directory qnx/src/ipc3x_dev/ti/syslink/rpmsg-omx
vwan@ti.com [Wed, 29 May 2013 00:17:25 +0000 (17:17 -0700)]
Cleanup: remove directory qnx/src/ipc3x_dev/ti/syslink/rpmsg-omx

Signed-off-by: VW <vwan@ti.com>
8 years agoCleanup: removed directory qnx/src/ipc3x_dev/perfutils
vwan@ti.com [Tue, 28 May 2013 23:44:57 +0000 (16:44 -0700)]
Cleanup: removed directory qnx/src/ipc3x_dev/perfutils

Signed-off-by: VW <vwan@ti.com>
8 years agoChanged Makefile.am to enable 'make dist' of files in hlos_common for Linux
vwan@ti.com [Tue, 28 May 2013 23:34:08 +0000 (16:34 -0700)]
Changed Makefile.am to enable 'make dist' of files in hlos_common for Linux

Signed-off-by: VW <vwan@ti.com>
8 years agoMoved utils/MultiProc.c into hlos_common directory for both Linux and QNX.
vwan@ti.com [Sat, 25 May 2013 00:20:21 +0000 (17:20 -0700)]
Moved utils/MultiProc.c into hlos_common directory for both Linux and QNX.

Signed-off-by: VW <vwan@ti.com>
8 years agoMoved Std.h into ti/ipc namespace for QNX.
vwan@ti.com [Tue, 28 May 2013 22:31:56 +0000 (15:31 -0700)]
Moved Std.h into ti/ipc namespace for QNX.

Signed-off-by: VW <vwan@ti.com>
8 years agoMoved headers common to both Linux and QNX into hlos_common directory.
vwan@ti.com [Fri, 24 May 2013 22:37:23 +0000 (15:37 -0700)]
Moved headers common to both Linux and QNX into hlos_common directory.

This is done to avoid unnecessary duplication of code.

Signed-off-by: VW <vwan@ti.com>
8 years agoVayu: Fixed AMMU fault when running SYS/BIOS on IPU1 3.00.01.21_eng
Ramsey Harris [Thu, 30 May 2013 02:33:15 +0000 (19:33 -0700)]
Vayu: Fixed AMMU fault when running SYS/BIOS on IPU1

Prevent invalid mailbox accesses for interrupts between core0 and core1
because those interrupts do not use mailboxes.

8 years agoQNX IPC: Vayu - Add DSP1 MMU1 Programming
Angela Stegmaier [Wed, 29 May 2013 16:12:25 +0000 (09:12 -0700)]
QNX IPC: Vayu - Add DSP1 MMU1 Programming

Currently, only MMU0 is being programmed for DSP1.
For EDMA traffic, there is a second MMU (MMU1), which
needs to be programmed.  DSP1 applications which
use EDMA would want to also have the MMU1 programmed
so that the address space is the same.

This patch adds programming of the DSP MMU1
with the same entries to match the programming
of the DSP MMU0.

Additionally, this patch attaches an interrupt
to the DSP1 MMU1 for notification of MMU events.
No default interrupt is programmed for DSP1 MMU1,
so an unused MPU interrupt is selected for use and
the interrupt crossbar is programmed accordingly.
The interrupt selected is MPU interrupt 143.

8 years agoOMAP4: Removed files specific to OMAP4 in qnx directory
vwan@ti.com [Fri, 24 May 2013 22:47:05 +0000 (15:47 -0700)]
OMAP4: Removed files specific to OMAP4 in qnx directory

This commit removes all source files that are specific to OMAP4,
which the product does not support. Note that there are still file
names, variable names, macros, etc. related to OMAP4 that will need
subsequent clean up.

Files in tiler and rpmsg-resmgr directories have been left in place
as we are discussing their removal in an on-going thread.

A minor change was needed in syslink_main.c as well in order to
eliminate its use of type 'u32' defined in rprcfmt.h, so that we can
remove the latter file, which is specific to the OMAP4 loader.

Signed-off-by: VW <vwan@ti.com>
8 years agoStyle: Change //-style comments to /* */ style
Chris Ring [Wed, 22 May 2013 22:49:45 +0000 (15:49 -0700)]
Style: Change //-style comments to /* */ style

Some users, especially those with MISRA-C requirements, don't
allow //-style comments.

Note that this addresses the files in packages/ti/ipc/*, there may
be more, but I didn't hunt further.

8 years agoBIOS: Fix minor typo in comment/docs
Chris Ring [Mon, 20 May 2013 20:07:02 +0000 (13:07 -0700)]
BIOS: Fix minor typo in comment/docs

8 years agoTCI6614: Improve error message during config
Chris Ring [Mon, 20 May 2013 20:00:02 +0000 (13:00 -0700)]
TCI6614: Improve error message during config

When this package is integrated into an unsupported environment,
it provides a better error message.

For example, before this change, when [errantly] integrating into
an OMAP5-based system, configuration would report:
    TypeError: Cannot read property "IPCGR0" from undefined

Now it reports:
    ti.ipc.family.tci6614.Interrupt : OMAP5430 unsupported

8 years agoRemoved duplicated MultiProc config info from Platform.c and simply use the info...
vwan@ti.com [Thu, 16 May 2013 18:11:28 +0000 (11:11 -0700)]
Removed duplicated MultiProc config info from Platform.c and simply use the info from _MultiProc_cfg.

8 years agoRemoved libcfg.a and moved _MultiProc_cfg into resource manager for QNX.
vwan@ti.com [Thu, 16 May 2013 17:34:02 +0000 (10:34 -0700)]
Removed libcfg.a and moved _MultiProc_cfg into resource manager for QNX.

This is done to match a similar change in Linux that moved _MultiProc_cfg into the daemon process,

A side-effect is that Ipc_start must now be called prior to any MultiProc API.

8 years agoRemove BUILD_FOR_VIRTIO from products.mak and added support for DEVICE simvayu
vwan@ti.com [Mon, 13 May 2013 18:56:32 +0000 (11:56 -0700)]
Remove BUILD_FOR_VIRTIO from products.mak and added support for DEVICE simvayu

DEVICE simvayu corresponds to a simulated vayu device

Signed-off-by: Chris Ring <cring@ti.com>
8 years agoIPC: Added conditional variable assignments to missing
Arnie Reynoso [Thu, 9 May 2013 20:24:18 +0000 (13:24 -0700)]
IPC: Added conditional variable assignments to missing

Signed-off-by: Chris Ring <cring@ti.com>
8 years agoNameServerRemoteRpmsg: Fixed strncpy operation to prevent overflow. 3.00.00.20
G Anthony [Wed, 15 May 2013 23:41:35 +0000 (16:41 -0700)]
NameServerRemoteRpmsg: Fixed strncpy operation to prevent overflow.

This is an improved solution to the patch:

195d2692fa95224d3c634daf8fe9bbd3860c7e16 BIOS: Fixed NameServerRemoteRpmsg MessageQ instanceName and name length

which now uses the actual destination length as the max characters for
strncpy() to copy, and ensures null termination of the copied string.

Improvement pointed out by Rob Tivy.

Signed-off-by: G Anthony <a0783926@ti.com>
8 years agoVirtQueue: VirtQueue_init() reads vring addr from resource table, checks MAR. 3.00.00.19_eng
G Anthony [Tue, 7 May 2013 01:21:13 +0000 (18:21 -0700)]
VirtQueue: VirtQueue_init() reads vring addr from resource table, checks MAR.

Previously, VirtQueue used hardcoded vring addresses in the code.  Now, these
are read from the Resource Table, allowing the host to update them at load
time.

However, it is still expected that the vring memory is non-cached, and that
the system configuration has set this up in the CFG file.

VirtQueue_init() asserts if the vring addresses are not in the resource table,
or if the MAR bits for the vring memory show it as being caceable.

This is done only for OMAPL138 and TCI6638 VirtQueue in this patch.

Signed-off-by: G Anthony <a0783926@ti.com>
8 years agoResource: Added accessor to read vring addresses from resource table.
G Anthony [Mon, 6 May 2013 23:56:06 +0000 (16:56 -0700)]
Resource: Added accessor to read vring addresses from resource table.

This will support the capability of allowing the host to allocate the vrings,
and specify the vring control structure address to the slave.

Also, renamed the existing getEntry() method to getMemEntry(), as it only
works for CARVEOUT and DEVMEM types.

Signed-off-by: G Anthony <a0783926@ti.com>
8 years agoTCI6638: Switched to ROM model (-c) from RAM model (-cr) link option.
G Anthony [Mon, 6 May 2013 22:56:16 +0000 (15:56 -0700)]
TCI6638: Switched to ROM model (-c) from RAM model (-cr) link option.

Kestone II DSP images were not able to be reloaded without rebooting the EVM.
This was due to the "-cr" linker options being thrown (RAM model), which
prevented processing of .cinit records at run time (done in ROM model).

So, "-cr" option was removed.

Keystone team mentioned that RLE compression was keeping the resource table
from being read properly without the "-cr" option, so added in the
"--cinit_compression=off" option just in case.  This also has the benefit
of improving DSP boot times.

Reloading the DSPs via MPM server was validated on Keystone II EVM
(over remote connection).

Signed-off-by: G Anthony <a0783926@ti.com>
8 years agoTCI6638: Linux target side scripts for loading, running lad, dumping trace.
G Anthony [Mon, 29 Apr 2013 23:39:33 +0000 (16:39 -0700)]
TCI6638: Linux target side scripts for loading, running lad, dumping trace.

Useful scripts to be used for the 8 core TCI6638 platformm.

Signed-off-by: G Anthony <a0783926@ti.com>
8 years agoLinux: Test - Cleanup to mmrpc build after sources moved to a common location
Arnie Reynoso [Fri, 10 May 2013 18:31:31 +0000 (11:31 -0700)]
Linux: Test - Cleanup to mmrpc build after sources moved to a common location

Signed-off-by: Chris Ring <cring@ti.com>
8 years agoLinux: Building test applications as platform independent where appropriate
Arnie Reynoso [Fri, 10 May 2013 18:12:15 +0000 (11:12 -0700)]
Linux: Building test applications as platform independent where appropriate

Platform dependent application's are no longer needed since a MultiProc
            LAD daemon has been added.

Signed-off-by: Chris Ring <cring@ti.com>
8 years agoIPC: Tests - Add an Error Test Case
Angela Stegmaier [Tue, 7 May 2013 09:41:45 +0000 (04:41 -0500)]
IPC: Tests - Add an Error Test Case

Add an error test case to test for MMU fault
detection.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: DSP Fault Recovery Fix
Angela Stegmaier [Tue, 7 May 2013 09:39:31 +0000 (04:39 -0500)]
QNX IPC: DSP Fault Recovery Fix

Fix an issue where the procId and procHandle are not
being properly set.  If it is not properly set, then
error recovery doesn't happen properly.

This patch fixes that so that error recovery can happen
correctly.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Add IPU2 MMU Fault Handling
Angela Stegmaier [Tue, 7 May 2013 09:02:45 +0000 (04:02 -0500)]
QNX IPC: Add IPU2 MMU Fault Handling

There is no default interrupt mapped to the IPU2 MMU
for Vayu. This patch programs the interrupt crossbar
for the IPU2 MMU interrupt to MPU interrupt 142.

Also, this patch enables receiving the interrupt in the
case of an MMU fault event in order to print the required
information, as well as schedule recovery.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: RpmsgRpc - Fix Tiler Address Translations
Angela Stegmaier [Mon, 6 May 2013 20:38:01 +0000 (15:38 -0500)]
QNX IPC: RpmsgRpc - Fix Tiler Address Translations

Tiler address translations should be done thorugh the
ProcMgr_translate function instead of just assuming
the remote core VA is the same as the PA.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Chris Ring <cring@ti.com>
8 years agoIPC - Match Resource Table for Vayu Based on Device
Angela Stegmaier [Wed, 8 May 2013 22:56:50 +0000 (17:56 -0500)]
IPC - Match Resource Table for Vayu Based on Device

Match the resource table for Vayu based on the Device
name instead of the Platform name.

Currently, if the platform simVayu is used, it fails
to find the resource table.  If the match is changed
to match the device name, then the simVayu platform,
which uses the Vayu device name, can compile.

Signed-off-by: Chris Ring <cring@ti.com>
8 years agoChanged all references to IPU's Core 0 to 'IPU' when in SMP mode for OMAP5.
vwan@ti.com [Tue, 7 May 2013 22:32:46 +0000 (15:32 -0700)]
Changed all references to IPU's Core 0 to 'IPU' when in SMP mode for OMAP5.

8 years agoBIOS: Minor log statement formatting
Chris Ring [Wed, 8 May 2013 01:04:45 +0000 (18:04 -0700)]
BIOS: Minor log statement formatting

Remove some new lines and misc characters to better align with
other log statements throughout IPC.

8 years agoBIOS: Add missing dependency (rpmsg uses List)
Chris Ring [Wed, 8 May 2013 00:58:00 +0000 (17:58 -0700)]
BIOS: Add missing dependency (rpmsg uses List)

Add the rpmsg dependency on List.  This removes the need for
users to know this implementation detail of rpmsg and explicitly
bring in the List module themselves.

8 years agoBIOS: Remove unused include file
Chris Ring [Wed, 8 May 2013 00:42:07 +0000 (17:42 -0700)]
BIOS: Remove unused include file

8 years agoTest: Build script refactoring
Chris Ring [Tue, 7 May 2013 22:56:16 +0000 (15:56 -0700)]
Test: Build script refactoring

Consolidate some of the test package.bld script.  No functional
change.

8 years agoOMAP5: Switch from custom DSP platforms to platform instances
Chris Ring [Tue, 7 May 2013 16:55:39 +0000 (09:55 -0700)]
OMAP5: Switch from custom DSP platforms to platform instances

Updated build scripts to use platform instances (currently of
ti.platforms.sdp5430) rather than the custom DSP platform
in ipcdev.

Remove ti.platform.omap54xx.dsp.

8 years agoLinux: Add MultiProc trace to log file
Chris Ring [Mon, 6 May 2013 23:54:25 +0000 (16:54 -0700)]
Linux: Add MultiProc trace to log file

To improve visibility and debug, log the MultiProc configuration in the
LAD log file (when enabled) when a client asks for it.

8 years agoOMAP5: Rework package validation check for SMP-BIOS
Chris Ring [Mon, 6 May 2013 23:45:16 +0000 (16:45 -0700)]
OMAP5: Rework package validation check for SMP-BIOS

8 years agoOMAP5: Switch from custom IPU platforms to platform instances
Chris Ring [Mon, 29 Apr 2013 20:10:52 +0000 (13:10 -0700)]
OMAP5: Switch from custom IPU platforms to platform instances

Updated build scripts to use platform instances (currently of
ti.platforms.sdp5430) rather than the custom IPU platform
in ipcdev.

Remove ti.platform.omap54xx.ipu.

Also, since OMAP5 requires SMP-BIOS - remove the
ti.platform.omap54xx.core* platforms as well.

8 years agoLinux: Fix OMAP5 IPU MultiProc name
Chris Ring [Tue, 7 May 2013 17:14:36 +0000 (10:14 -0700)]
Linux:  Fix OMAP5 IPU MultiProc name

The Linux-side MultiProc names must be aligned with the BIOS-side
names.

8 years agoVayu: New crossbar mapping for ipu2 and dsp2 to host interrupt 3.00.00.18_eng
Ramsey Harris [Sun, 5 May 2013 18:21:15 +0000 (11:21 -0700)]
Vayu:  New crossbar mapping for ipu2 and dsp2 to host interrupt

Original crossbar instance does not exist.

8 years agoRevert "QNX IPC: WA For DSP Not Receiving Messages"
Angela Stegmaier [Sat, 4 May 2013 09:27:07 +0000 (04:27 -0500)]
Revert "QNX IPC: WA For DSP Not Receiving Messages"

This reverts commit f83beccbebf69871fcd15d65525d0a8802850afa.

Conflicts:
qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/knl/arch/vayu/VAYUIpcInt.c

8 years agoQNX IPC: DSP1 - Need to Enable DSP_SYSTEM Config for MMU0
Angela Stegmaier [Fri, 3 May 2013 14:02:31 +0000 (09:02 -0500)]
QNX IPC: DSP1 - Need to Enable DSP_SYSTEM Config for MMU0

If using DSP1 with the MMU enabled, need to also enable
the global config for MMU0 through the DSP_SYS_MMU_CONFIG
MMU0_EN bit.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoIPC: DSP1 - Re-arrange Memory Map
Angela Stegmaier [Fri, 3 May 2013 13:46:37 +0000 (08:46 -0500)]
IPC: DSP1 - Re-arrange Memory Map

Move the text section out of the 0x20000000 virtual address space
and group together the sections at 0x95000000 virtual address.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Samples - Only Open SharedMemLib Once
Angela Stegmaier [Fri, 3 May 2013 14:09:33 +0000 (09:09 -0500)]
QNX IPC: Samples - Only Open SharedMemLib Once

A race condition in the rpmsg-rpc stress test could
result in one thread trying to access a NULL pointer
as there was no protection around the call to
initialize the sharedmemallocator library functions.

To avoid the race condition, move the initialization
of the sharedmemallocator functions to the main function,
to happen only once.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Update Int Xbar Programming to Match BIOS-side IPC
Angela Stegmaier [Fri, 3 May 2013 17:13:44 +0000 (12:13 -0500)]
QNX IPC: Update Int Xbar Programming to Match BIOS-side IPC

There was a conflict with the MPU Int being used by QNX IPC
for the DSP Mailbox.

The BIOS-side IPC is using MPU INT 141 for HOST receiving
interrupts from IPU2, and MPU INT 136 for HOST receiving
interrupts from DSP1.

QNX IPC is updated to use the same as we know these interrupts
are available.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Remove EVE from MultiProc as it is Not Used Currently
Angela Stegmaier [Fri, 3 May 2013 11:33:51 +0000 (06:33 -0500)]
QNX IPC: Remove EVE from MultiProc as it is Not Used Currently

If EVE is defined in the MultiProc, then when the IPU is
starting up, the interrupt module will try to access the EVE
mailboxes, which leads to a crash as we are not mapping
the EVE mailboxes.

This patch updates the MultiProc config to remove the EVEs
so that the EVE mailboxes are not accessed.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoIPC: Vayu - Fix GPTimer Values and Control Module AMMU Config
Angela Stegmaier [Thu, 2 May 2013 19:10:41 +0000 (14:10 -0500)]
IPC: Vayu - Fix GPTimer Values and Control Module AMMU Config

The GPTimer values in IpcCommon.cfg.xs were using the
old virtual addresses that started with 0xA8.  A
recent patch changed the virtual address mapping for
0x48000000 from 0xA8000000 to 0x68000000.  The
GPTimer base addresses missed being updated.

This patch updates the GPTimer values to the correct
virtual addresses.

Also, the control module entry in IpuAmmu.cfg is
updated to do a translation from 0x4a000000 to
0x6a000000, to take advantage of the existing
mapping of the 0x6a000000 to the 0x4a000000 registers.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoBuild: Don't build big endian tests for Vayu or TCI6638 3.00.00.17_eng
Chris Ring [Wed, 1 May 2013 03:39:05 +0000 (20:39 -0700)]
Build: Don't build big endian tests for Vayu or TCI6638

Limit the platform array for the C66 targets by only adding
TCI6638 and Vayu to the C66 little endian target, not the
big endian one.

8 years agoBuild: Remove errant warning when building for Vayu
Chris Ring [Wed, 1 May 2013 03:36:28 +0000 (20:36 -0700)]
Build: Remove errant warning when building for Vayu

The resource table generation during configuration (by the
Resource.xdt template) errantly warns about not being able
to create the resource table.

Restructure the code to remove the warning for this successful
and valid use case.

8 years agoDocs: Minor doc typo fix
Chris Ring [Tue, 30 Apr 2013 23:17:45 +0000 (16:17 -0700)]
Docs: Minor doc typo fix

8 years agoLinux: Moved IPC specific types file (Std.h) into the ti/ipc namespace
Arnie Reynoso [Tue, 30 Apr 2013 21:07:49 +0000 (14:07 -0700)]
Linux: Moved IPC specific types file (Std.h) into the ti/ipc namespace

8 years agoBIOS: Fix ti.ipc.transport build script for rpmsg2-based libs
Angela Stegmaier [Fri, 26 Apr 2013 22:48:50 +0000 (17:48 -0500)]
BIOS: Fix ti.ipc.transport build script for rpmsg2-based libs

Also rework ti.ipc.transport build scripts to remove unnecessary
platform-specific lib names.

Also update BIOS-side example to indicate the correct rpmsg version.

8 years agoQNX: Return E_NOTFOUND instead of E_FAIL if MQCopy_send fails
Angela Stegmaier [Mon, 29 Apr 2013 17:42:20 +0000 (12:42 -0500)]
QNX: Return E_NOTFOUND instead of E_FAIL if MQCopy_send fails

This allows MessageQ NameServer lookups to slaves that aren't
loaded to gracefully fail.

8 years agoIn VirtQueue_create, clear the VRING_USED_F_NO_NOTIFY flag to ensure all VirtQueue_ki...
VW [Mon, 29 Apr 2013 18:38:46 +0000 (11:38 -0700)]
In VirtQueue_create, clear the VRING_USED_F_NO_NOTIFY flag to ensure all VirtQueue_kick calls from the host results in an interrupt on slave.

8 years agoChanged GateAll to GateHwi since GateAll does not work in SMP BIOS according to SDOCM...
vwan@ti.com [Thu, 25 Apr 2013 17:42:22 +0000 (10:42 -0700)]
Changed GateAll to GateHwi since GateAll does not work in SMP BIOS according to SDOCM00100833

8 years agoFixed MultiProc config so that device names match the slave side on OMAP5
vwan@ti.com [Thu, 25 Apr 2013 17:40:05 +0000 (10:40 -0700)]
Fixed MultiProc config so that device names match the slave side on OMAP5

8 years agoQNX IPC: Vayu - Update Xbar Config for 16_eng
Angela Stegmaier [Fri, 26 Apr 2013 14:44:09 +0000 (09:44 -0500)]
QNX IPC: Vayu - Update Xbar Config for 16_eng

In the 16_eng release of IPC 3x, the mailbox
usages is updated, so the interrupt crossbar
configuration must be updated.  The new configuration
has the following mailbox usage:

Mailbox for DSP1->HOST is Mbox 5 User 2
Mailbox for IPU2->HOST is Mbox 6 User 2

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoBIOS IPC: Vayu - Update AMMU and MMU Configuration
Angela Stegmaier [Wed, 24 Apr 2013 18:44:21 +0000 (13:44 -0500)]
BIOS IPC: Vayu - Update AMMU and MMU Configuration

In the 16_eng release, the mailbox virtual address
changed to 0x60000000 block.  This was previously where
the TILER addresses were mapped.  As a consequence, the
TILER mappings needed to be moved, and the AMMU config
as well as the resource table needed to be updated
to reflect the changes.  Also, as a result of the move,
the VRING virtual addresses for the IPU have changed.

TILER VA: Moved from 0x60000000 to 0xA0000000
Peripherals and VRING: Moved from 0xA0000000 to 0x60000000

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC - Update to New Mailbox Usage
Angela Stegmaier [Tue, 23 Apr 2013 19:07:39 +0000 (14:07 -0500)]
QNX IPC - Update to New Mailbox Usage

With the latest 16_eng IPC 3.x release, the mailbox
usage has changed.

The QNX IPC is updated to be in sync with these
changes for communication with IPU2 and DSP1.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: WA For DSP Not Receiving Messages
Angela Stegmaier [Wed, 24 Apr 2013 21:25:47 +0000 (16:25 -0500)]
QNX IPC: WA For DSP Not Receiving Messages

There is an issue observed when testing HOST->DSP1
communication using Vayu Virtio where if more than one
message is in the mailbox FIFO, then the DSP only
picks up one message, and the interrupt callback
stops running.

To avoid this issue, the workaround is to make sure
that we only send one message at a time from HOST->DSP1.

A side affect of this is that messages will be dropped,
but since (for the most part), the contents of the mailbox
message are the same, we can get away with this for now.

This may be just a Vayu Virtio issue, and we will
attempt to revert the WA in the future.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Build - Add Vayu Build to the QNX IPC
Angela Stegmaier [Mon, 8 Apr 2013 21:18:38 +0000 (16:18 -0500)]
QNX IPC: Build - Add Vayu Build to the QNX IPC

Add the Vayu Build to the QNX IPC and update the build
files to allow specification of the device in the
products.mak file.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoAdd Vayu Family Support for IPU2 (SMP) and DSP1
Angela Stegmaier [Mon, 1 Apr 2013 22:40:33 +0000 (17:40 -0500)]
Add Vayu Family Support for IPU2 (SMP) and DSP1

Add support for HOST->IPU2 and HOST->DSP1 support
for Vayu.

8 years agoQNX IPC: Vayu - Add Vayu IPU2 and DSP1 Support
Angela Stegmaier [Thu, 18 Apr 2013 18:34:39 +0000 (13:34 -0500)]
QNX IPC: Vayu - Add Vayu IPU2 and DSP1 Support

Add the Vayu family files to support IPC communication
between the HOST running QNX and the IPU2 and/or DSP1
running SYS/BIOS IPC3.x.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoAdd OMAP5 DSP Support for HLOS->SYSBIOS IPC
Angela Stegmaier [Mon, 11 Mar 2013 22:42:26 +0000 (17:42 -0500)]
Add OMAP5 DSP Support for HLOS->SYSBIOS IPC

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoTCI6638: Linux target side scripts for loading, running lad, dumping trace.
G Anthony [Mon, 29 Apr 2013 23:39:33 +0000 (16:39 -0700)]
TCI6638: Linux target side scripts for loading, running lad, dumping trace.

Useful scripts to be used for the 8 core TCI6638 platformm.

Signed-off-by: G Anthony <a0783926@ti.com>
Signed-off-by: Chris Ring <cring@ti.com>
8 years agoResource: Added config option to build images with SysMin trace resource only.
G Anthony [Mon, 29 Apr 2013 21:05:00 +0000 (14:05 -0700)]
Resource: Added config option to build images with SysMin trace resource only.

Set Resource.traceOnly to true in order to get an image with trace resources,
and without VDEV and VRING resources.

This feature was requested by the Keystone II (TCI6638) team for testing,
and so for now is only implemented for that platform's resource table.

Signed-off-by: Chris Ring <cring@ti.com>
8 years agoBuild: Fix SMP support for platforms without 'ipu' in the name
Chris Ring [Mon, 29 Apr 2013 19:30:53 +0000 (12:30 -0700)]
Build: Fix SMP support for platforms without 'ipu' in the name

A few SMP-aware packages only support platforms with the name
'ipu' in them.  Remove this explicit platform name check and replace
it with a more correct check (e.g. by detecting BIOS.smpEnabled, or
using the platform's .deviceName field - which doesn't vary across
platform names).

8 years agoLinux: Moved MultiProc config into the platform specific LAD daemon.
Arnie Reynoso [Thu, 25 Apr 2013 21:57:06 +0000 (14:57 -0700)]
Linux: Moved MultiProc config into the platform specific LAD daemon.

Also updated example apps to correctly call Ipc_start() before any
MultiProc functions.

8 years agoDocs: Updated doxygen documentation
Chris Ring [Fri, 26 Apr 2013 21:29:15 +0000 (14:29 -0700)]
Docs: Updated doxygen documentation

Doxygen-related review and cleanup.  In some cases, added notes that
some APIs are only available on SYS/BIOS, others only on Linux/QNX.

8 years agoLinux: Comment cleanup
Chris Ring [Wed, 24 Apr 2013 22:52:37 +0000 (15:52 -0700)]
Linux: Comment cleanup

Remove redundant commentary from source files, some SysLink name
removal, other very minor comment-only cleanup.

8 years agoBIOS: Fixed NameServerRemoteRpmsg MessageQ instanceName and name length 3.00.00.16_eng
Arnie Reynoso [Fri, 19 Apr 2013 18:40:31 +0000 (11:40 -0700)]
BIOS: Fixed NameServerRemoteRpmsg MessageQ instanceName and name length

    The MessageQ instanceName and name length wasn't taking into account the
    string's termination character causing instances where the MessageQ name
    couldn't be located (MessageQ_open(ed) on the slave core.

8 years agoMoved mailbox base virtual addresses to 0x60000000 block.
Ramsey Harris [Tue, 23 Apr 2013 05:15:30 +0000 (22:15 -0700)]
Moved mailbox base virtual addresses to 0x60000000 block.

8 years agoMust build .dlls in order to get all libraries.
Ramsey Harris [Mon, 22 Apr 2013 23:38:26 +0000 (16:38 -0700)]
Must build .dlls in order to get all libraries.

8 years agoUpdate Mailbox usage, Add support for NON-SMP BIOS
Judah Vang [Wed, 17 Apr 2013 23:34:26 +0000 (16:34 -0700)]
Update Mailbox usage, Add support for NON-SMP BIOS

8 years agoAdd config to allow VPSS-M3 to EVE communication
Chris Ring [Tue, 16 Apr 2013 00:53:41 +0000 (17:53 -0700)]
Add config to allow VPSS-M3 to EVE communication

This is a poor-man's cherry-pick of
b0b90ee18c62dc1d10a4f7e746eb6c5205bc3b71
from the IPC 1.25 (ipc-i) stream.

8 years agoSDOCM00100662: Move code to config shared RAMs to Boot module
Chris Ring [Tue, 16 Apr 2013 00:25:18 +0000 (17:25 -0700)]
SDOCM00100662: Move code to config shared RAMs to Boot module

This is a poor-man's cherry-pick of
1d2b0271c6d75e4a06c02875ec2841ef23467f84 and
e6c589ac8c5a15af450366c28f5bcf69d4b3d74a
from the IPC 1.25 (ipc-i) stream.

This change was tracked as SDOCM00100430 in IPC 1.x.

8 years agoQNX IPC: Headers - Change Location of Installed Headers
Angela Stegmaier [Tue, 9 Apr 2013 17:40:22 +0000 (12:40 -0500)]
QNX IPC: Headers - Change Location of Installed Headers

Change the location of the installed headers from
/usr/include/ti/syslink to /usr/include/ti/ipc.
This is part of the effort to remove
the syslink name from the QNX IPC product.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Client Lib - Change Lib Name to ipc_client
Angela Stegmaier [Tue, 9 Apr 2013 16:59:10 +0000 (11:59 -0500)]
QNX IPC: Client Lib - Change Lib Name to ipc_client

Change the client libarary name from syslink_client to
ipc_client.  This is part of the effort to remove
the syslink name from the QNX IPC product.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: ResMgr - Change Binary Name to Ipc
Angela Stegmaier [Tue, 9 Apr 2013 17:01:53 +0000 (12:01 -0500)]
QNX IPC: ResMgr - Change Binary Name to Ipc

Change resource manager binary name from syslink to
ipc.  This is part of the effort to remove
the syslink name from the QNX IPC product.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Trace - Change Binary Name to IpcTraceDaemon
Angela Stegmaier [Tue, 9 Apr 2013 17:03:28 +0000 (12:03 -0500)]
QNX IPC: Trace - Change Binary Name to IpcTraceDaemon

Change trace device name from SyslinkTraceDaemon to
IpcTraceDaemon.  This is part of the effort to remove
the syslink name from the QNX IPC product.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoQNX IPC: Trace - Update Trace Device Name
Angela Stegmaier [Tue, 9 Apr 2013 15:55:18 +0000 (10:55 -0500)]
QNX IPC: Trace - Update Trace Device Name

Change trace device name from syslink-traceX to
ipc-traceX.  This is part of the effort to remove
the syslink name from the QNX IPC product.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
8 years agoMerge remote-tracking branch 'ramsey/dev-3.00' into 15_eng 3.00.00.15_eng
Chris Ring [Wed, 10 Apr 2013 07:27:39 +0000 (00:27 -0700)]
Merge remote-tracking branch 'ramsey/dev-3.00' into 15_eng

8 years agoLinux IPC: Resticted KERNEL dir config variable to omap54xx_smp builds
Arnie Reynoso [Tue, 9 Apr 2013 16:25:18 +0000 (09:25 -0700)]
Linux IPC: Resticted KERNEL dir config variable to omap54xx_smp builds

Require KENREL_INSTALL_DIR to be set only for omap54xx_smp builds.
Other supported platforms will not build mmrpc library and test applications.

8 years agoRpMsg: Restore original rpmsg struct to fix non-OMAP5 devices
Chris Ring [Wed, 10 Apr 2013 07:08:36 +0000 (00:08 -0700)]
RpMsg: Restore original rpmsg struct to fix non-OMAP5 devices

The work to add MmRpc and related BIOS-side support broke compatibility
with existing rpmsg structs for all devices except OMAP5.  This commit
restores the original struct definitions for all devices except OMAP5,
and OMAP5 continues with the new APIs.

8 years agoBuild: Restructure SrvMgr build scripts
Chris Ring [Wed, 10 Apr 2013 00:05:55 +0000 (17:05 -0700)]
Build: Restructure SrvMgr build scripts

Rework some package.bld scripts into more traditional for() loops,
building all targets, all profiles.  No functional changes.

8 years agoSrvMgr: minor build script cleanup
Chris Ring [Tue, 9 Apr 2013 23:19:19 +0000 (16:19 -0700)]
SrvMgr: minor build script cleanup

Slight modification to how the package 'release' phase works to
follow conventions and better align with other ipc packages.

In addition, some minor whitespace and comment changes to better align
with other ipc build scripts.

8 years agoAdded meta-only modules to handle package dependencies.
Ramsey Harris [Tue, 9 Apr 2013 21:40:20 +0000 (14:40 -0700)]
Added meta-only modules to handle package dependencies.

8 years agoIncreased stack size of service manager task.
Ramsey Harris [Tue, 9 Apr 2013 21:36:55 +0000 (14:36 -0700)]
Increased stack size of service manager task.

8 years agoReplaced deprecated xdc.includeFile() with xdc.loadCapsule().
Ramsey Harris [Tue, 9 Apr 2013 21:33:19 +0000 (14:33 -0700)]
Replaced deprecated xdc.includeFile() with xdc.loadCapsule().

8 years agoAdded missing package dependencies.
Ramsey Harris [Tue, 9 Apr 2013 21:31:49 +0000 (14:31 -0700)]
Added missing package dependencies.

8 years agoAdd smp build profile only for ti.ipc.* packages.
Ramsey Harris [Tue, 9 Apr 2013 21:19:59 +0000 (14:19 -0700)]
Add smp build profile only for ti.ipc.* packages.

8 years agoVayu: TableInit Module should be metaonly
Chris Ring [Mon, 8 Apr 2013 23:48:36 +0000 (16:48 -0700)]
Vayu: TableInit Module should be metaonly

The TableInit Module is incorrectly specified to be a target module, yet has
no target code, and no TableInit.c.

In addition to being more efficient as a metaonly module, this fixes a build
failure for Vayu platforms when using the BIOS custom build.  The custom build
attempts to find/build a .c source file for all target modules... which
doesn't exist for TableInit.

8 years agoMultiProc: Improve error msg for invalid proc name
Chris Ring [Mon, 8 Apr 2013 22:59:04 +0000 (15:59 -0700)]
MultiProc: Improve error msg for invalid proc name

When the configured proc name isn't in the list of possible processor names,
the error message should report a list of potential processor names.  This
can help the user understand what to fix.

8 years agoOMAP5: Update ti.platforms.omap54xx.* to correct deviceName and M4 ISA
Chris Ring [Fri, 5 Apr 2013 18:07:40 +0000 (11:07 -0700)]
OMAP5: Update ti.platforms.omap54xx.* to correct deviceName and M4 ISA

The OMAP5 platforms were incorrectly using the OMAP4430 device name and M3
ISA for the IPU.  Update them to correctly support OMAP5430 and M4.

Add OMAP5430 device support to IPC, and update config scripts to use
appropriate MulticProc names for OMAP5.

8 years agoBuild: Remove dead non-SMP-supporting code for M3-based devices
Chris Ring [Fri, 5 Apr 2013 17:52:56 +0000 (10:52 -0700)]
Build: Remove dead non-SMP-supporting code for M3-based devices

OMAP4 is not currently supported, and OMAP5 only supports SMP-BIOS.  Remove
dead code to improve readability.

8 years agoOMAP5: Add M4 libs to a few build scripts
Chris Ring [Thu, 4 Apr 2013 04:04:10 +0000 (21:04 -0700)]
OMAP5: Add M4 libs to a few build scripts

Remove the non-SMP OMAP5 library (SMP BIOS is required for OMAP5).

Create M4 libraries for OMAP5 (in addition to existing M3 libraries
for backward compatibility - we may deprecate and/or remove M3 libs in the
future).

8 years agoOMAP5: Update ti.ipc.rpmsg build script
Chris Ring [Wed, 3 Apr 2013 23:39:28 +0000 (16:39 -0700)]
OMAP5: Update ti.ipc.rpmsg build script

Remove the non-SMP OMAP5 library (SMP BIOS is required for OMAP5).

Create M4 libraries for OMAP5 (in addition to existing M3 libraries
for backward compatibility - we may deprecate and/or remove M3 libs in the
future).

8 years agoOMAP5: Fixes to ti.ipc.family.omap54xx build script
Chris Ring [Wed, 3 Apr 2013 23:12:07 +0000 (16:12 -0700)]
OMAP5: Fixes to ti.ipc.family.omap54xx build script

Rename the actual library name from errant ti.ipc.rpmsg... to
ti.ipc.family.omap54xx...

Remove the non-SMP library (SMP BIOS is required for OMAP5).

Create M4 libraries in addition to existing M3 libraries (keeping M3 libs
for backward compatibility - we may deprecate and/or remove them in the
future).

8 years agoRemoved RPPC definitions which are now exported in rpmsg_rpc.h
Ramsey Harris [Thu, 28 Mar 2013 21:43:18 +0000 (14:43 -0700)]
Removed RPPC definitions which are now exported in rpmsg_rpc.h

8 years agoOmapRpc: Rename MessageQCopy to RPMessage symbols after rebase.
G Anthony [Mon, 1 Apr 2013 22:03:12 +0000 (15:03 -0700)]
OmapRpc:  Rename MessageQCopy to RPMessage symbols after rebase.

Updated to call RPMessage API, as this was renamed from MessageQCopy.

Signed-off-by: G Anthony <a0783926@ti.com>
8 years agoping_rpmsg: Shut off diagnostic debug messages on BIOS side test.
G Anthony [Thu, 28 Mar 2013 00:54:36 +0000 (17:54 -0700)]
ping_rpmsg: Shut off diagnostic debug messages on BIOS side test.

Commented out Diags settings in cfg file to eliminate chatter.

Signed-off-by: G Anthony <a0783926@ti.com>