mfp/fcdev.git
6 years agoedma3: reduce some strict binding to EDMA3 LLD 3.40.00.00_eng
Chris Ring [Thu, 11 Sep 2014 22:20:45 +0000 (15:20 -0700)]
edma3: reduce some strict binding to EDMA3 LLD

When updating to a recent EDMA3 LLD release, some of the #defines have
changed their 'unsigned number' definition usage from little-u to
big-U (e.g. "#define foo (1u)" was changed to "define foo (1U)").

This causes build issues in FC since FC redefines some of these
definitions (exactly how previous EDMA3 LLD releases did, using
little-u).  When the #defines were identical (FC used little-u, EDMA3
LLD used little-u), there was no issue.  They were redundant
definitions, but they were identical.  But with the EDMA3 LLD change,
the following warning (or error, depending on your compile flags) is
reported (for several definitions):

   warning #48-D: incompatible redefinition of macro
   "EDMA3_MAX_DMA_CH"

With this commit, only define the preprocessor definitions if they
haven't already been defined.  EDMA3 LLD-based users should #include
the EDMA3 LLD headers first, then ti/sdo/fc/edma3/edma3_config.h,
which will now detect that EDMA3 LLD has already made these
definitions and will no longer redundantly define them.

The reality is that the EDMA3 LLD is present in all current
FC-supported environments.  Historically FC supported Linux ARM which
EDMA3 LLD didn't, but FC dropped Linux support a while ago.  So a
potentially better solution would be to _always_ depend on EDMA3 LLD.

Signed-off-by: Chris Ring <cring@ti.com>
6 years agoEdmaMgr : Fix logic in Large xfer APIs to detect when chaining is necessary. 3.30 fc-3.30-next 3.30.01.08
Jacob Stiffler [Tue, 19 Aug 2014 18:28:24 +0000 (14:28 -0400)]
EdmaMgr : Fix logic in Large xfer APIs to detect when chaining is necessary.

* Previous logic attempted to simplify detection using bit-wise logic on the
pitch size, but was incorrect due wrong assumptions on the size of integers.
* New log explicitly check whether or not the pitch size is on the interval
[-32768,32767].

6 years agoEdmaMgr : Added support for transfers with large pitch. 3.30.01.07_eng
Jacob Stiffler [Wed, 30 Jul 2014 14:21:38 +0000 (10:21 -0400)]
EdmaMgr : Added support for transfers with large pitch.

Because of HW limitations, transfers with a pitch exceeding 16-bit
representation cannot be accomplished in a single TCC. However, this may be
accomplished through chaining. This patch adds "Large" APIs to allocate the
necessary resources and perform 1D2D and 2D1D transfers when the pitch exceeds
the HW limitation.

7 years agoAdded more documentation for EdmaMgr APIs. 3.30.00.06
Jacob Stiffler [Fri, 10 Jan 2014 19:35:17 +0000 (14:35 -0500)]
Added more documentation for EdmaMgr APIs.

- Added brief overview of EdmaMgr
- more details on EdmaMgr_init() and the EDMA3 Region Config.
- more details on fast transfers.

7 years agoEdmaMgr: Add doxygen documentation
Chris Ring [Fri, 10 Jan 2014 00:57:31 +0000 (16:57 -0800)]
EdmaMgr: Add doxygen documentation

The initial addition of doxygen-based API docs for EdmaMgr.

7 years agoEdmaMgr: Remove dead code
Chris Ring [Fri, 10 Jan 2014 00:52:01 +0000 (16:52 -0800)]
EdmaMgr: Remove dead code

7 years agoSDOCM00105754: EDMAMgr: Fix Local to Global addr 3.30.00.05_eng
Jacob Stiffler [Mon, 6 Jan 2014 14:24:33 +0000 (09:24 -0500)]
SDOCM00105754: EDMAMgr: Fix Local to Global addr

Local to Global address conversion is missing for copyFast &
linked_copyFast APIs.

Converting src and dst addresses with "EDMA_MGR_ADDR_LOC_TO_GLOB()" in
EdmaMgr_copyFast() and EdmaMgr_copyLinkedFast() APIs.

7 years agoBuild: Remove unnecessary dependencies
Chris Ring [Sat, 21 Dec 2013 17:58:36 +0000 (09:58 -0800)]
Build: Remove unnecessary dependencies

Remove OSAL_INSTALL_DIR from products.mak (OSAL is no longer
an FC dependency).

Remove OSAL, LINK and LINUXUTILS products from the XDCPATH.

7 years agoSDOCM00105604: Remove [internal] _DSKT2_ipcKeyBase
Chris Ring [Sat, 21 Dec 2013 17:47:26 +0000 (09:47 -0800)]
SDOCM00105604: Remove [internal] _DSKT2_ipcKeyBase

A nice side effect of this rework is that DSKT2 is now no longer
dependent on the osalsupport package (once we drop all
dependencies we can remove the osalsupport package altogether).

And a nice side effect of dropping the osalsupport dependency
is that the code size of apps that only use DSKT2 has reduced.

7 years agoEdmaMgr: indent tool code reformatting
Chris Ring [Thu, 12 Dec 2013 17:22:39 +0000 (09:22 -0800)]
EdmaMgr: indent tool code reformatting

Reformat the EdmaMgr code to closer match the FC coding standards.
There is more to come, but this commit used the gnu indent tool with
settings "as close as I could get" for FC.  Here's the cmd
used:

indent -T xdc_runtime_IHeap_Handle -T EdmaMgr_Handle -T IALG_Handle \
-T IRES_EDMA3CHAN2_Handle -T IRES_Handle -T IRES_ProtocolArgs \
-T EdmaMgr_Channel -T Int -T UInt32 -bad -br -nce -cdw -blf -i4 \
-ci8 -nut -npcs -nbbo -ncs -nbfda -nlp -npsl -sob -cp0 -brs \
--line-length80 <file-name>

The intent is that there is no functionality changed in this commit.

7 years agoEdmaMgr: Cleanup unnecessary header inclusion
Chris Ring [Wed, 11 Dec 2013 04:15:00 +0000 (20:15 -0800)]
EdmaMgr: Cleanup unnecessary header inclusion

A few headers were unnecessarily being included; those have
been removed.

7 years agoEdmaMgr: Remove printf-based debug statements
Chris Ring [Wed, 11 Dec 2013 01:44:22 +0000 (17:44 -0800)]
EdmaMgr: Remove printf-based debug statements

General code cleanup.  If we want conditional log statements, we
probably should follow the FC convention and use xdc.runtime.Log().

7 years agoOverrides RMAN.maxAlgs with a value of 1 3.30.00.04_eng
Jacob Stiffler [Tue, 10 Dec 2013 19:29:50 +0000 (14:29 -0500)]
Overrides RMAN.maxAlgs with a value of 1

Internal memory usage scales with the value of RMAN.maxAlgs. This
change is to reduce the memory usage for users of EdmaMgr. As a
consequence, EdmaMgr_Alloc needed to be changed to provide a single
requestID to all RMAN requests.

7 years agoRMAN: Enable single alg to make multiple requests
Jacob Stiffler [Fri, 6 Dec 2013 18:53:43 +0000 (13:53 -0500)]
RMAN: Enable single alg to make multiple requests

This fix enhances the RMAN_VtableEntry structure to support multiple
allocations to a specific algorithm instance or "requestId". This
structure is enhanced by renaming the "active" field to "refs" to
represent multiple allocations to a specific algorithm.

7 years agoEdmaMgr: Added persistent alloc/free functions 3.30.00.02_eng 3.30.00.03_eng
Jacob Stiffler [Sat, 23 Nov 2013 00:40:44 +0000 (16:40 -0800)]
EdmaMgr: Added persistent alloc/free functions

Added persistet alloc/free fxns inside EdmaMgr to remove the
dependency on DSKT2.

7 years agoAdded the EdmaMgr module.
Jacob Stiffler [Tue, 12 Nov 2013 12:23:19 +0000 (07:23 -0500)]
Added the EdmaMgr module.

7 years agoSDOCM00104721: Allow target config params with '=' 3.30.00.01_eng
Chris Ring [Fri, 25 Oct 2013 00:29:13 +0000 (17:29 -0700)]
SDOCM00104721: Allow target config params with '='

Enable users to assign a target config param who's value
contains a '=' char (e.g. ccOpts.suffix=-pds=880).

Previously everything after the 2nd '=' char was discarded.
For example, in products.mak, the following assignment, which
includes an override of the ccOpts.suffix, will not work as
expected:
    ti.targets.elf.C66 = /opt/ti/c6x/7.2.0/Linux;ccOpts.suffix=-pdr -pden -pds=880 -pds=238 -pds452 -pds195 -mi10 -mo -g --visibility=protected

In that example, C66.ccOpts.suffix was [incorrectly] set
to "-pdr -pden -pds".

7 years agoSDOCM00104664: Add targets to ti.sdo.fc.utils
Chris Ring [Fri, 25 Oct 2013 00:26:50 +0000 (17:26 -0700)]
SDOCM00104664: Add targets to ti.sdo.fc.utils

The ti.sdo.fc.utils package.bld script was missing a
few targets, which were added.

7 years agoRemove unnecessary files
Chris Ring [Wed, 23 Oct 2013 20:39:52 +0000 (13:39 -0700)]
Remove unnecessary files

When fcdev was initially created, a few errant files came along
for the ride.  These files are not part of the official FC product.
This commit removes them.

7 years agoECPY: Add C66_big_endian support
Chris Ring [Wed, 23 Oct 2013 19:30:08 +0000 (12:30 -0700)]
ECPY: Add C66_big_endian support

This introduces C66_big_endian support for ECPY.

Also, some makefiles and build scripts were updated to align with
the latest in the FC 3.24 stream.

This addresses SDOCM00104662.

7 years agoFix corrupt license statement
Chris Ring [Fri, 20 Sep 2013 20:58:18 +0000 (13:58 -0700)]
Fix corrupt license statement

Fixes some formatting in the licensing text of a source file.

7 years agoInitial import from FC 3.24.01.12 3.30.00.00_eng
Chris Ring [Fri, 20 Sep 2013 18:38:13 +0000 (11:38 -0700)]
Initial import from FC 3.24.01.12