aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/ti
diff options
context:
space:
mode:
authorRoger Monk <r-monk@ti.com>2010-03-01 18:23:29 +0000
committerKoen Kooi <koen@openembedded.org>2010-04-12 19:43:20 +0200
commit2be75db64cd7c3a6d78a4173ffcc56692c1fe0c4 (patch)
treefff5af5b9fda63af87241746175b921e3e829922 /recipes/ti
parent3c0cffcb2c8eae9defb49e4f4acc40b97116df78 (diff)
downloadopenembedded-2be75db64cd7c3a6d78a4173ffcc56692c1fe0c4.tar.gz
ti-codecs-omapl138: Fix DMA resource allocation in DSP Server
* This patch configures DMAN3 resources to be used by DSP * TCCs and PaRams configured to match those marked exclusively for DSP usage (and reserved accordingly in ARM linux kernel) * 12 TCC allocated * 50 PaRams * Scratch group sizing adjusted to match max 12 TCC available Signed-off-by: Roger Monk <r-monk@ti.com> Signed-off-by: Koen Kooi <k-kooi@ti.com>
Diffstat (limited to 'recipes/ti')
-rw-r--r--recipes/ti/ti-codecs-omapl138/ti-codecs-omapl138-1-00-00-fixDman3Config.patch44
-rw-r--r--recipes/ti/ti-codecs-omapl138_1.00.00.bb5
2 files changed, 47 insertions, 2 deletions
diff --git a/recipes/ti/ti-codecs-omapl138/ti-codecs-omapl138-1-00-00-fixDman3Config.patch b/recipes/ti/ti-codecs-omapl138/ti-codecs-omapl138-1-00-00-fixDman3Config.patch
new file mode 100644
index 0000000000..302e48b0dd
--- /dev/null
+++ b/recipes/ti/ti-codecs-omapl138/ti-codecs-omapl138-1-00-00-fixDman3Config.patch
@@ -0,0 +1,44 @@
+diff -uNr cs1omapl138_1_00_00/packages/ti/sdo/server/cs/codec.cfg cs1omapl138_1_00_00_fix/packages/ti/sdo/server/cs/codec.cfg
+--- cs1omapl138_1_00_00/packages/ti/sdo/server/cs/codec.cfg 2009-12-14 17:31:57.000000000 +0000
++++ cs1omapl138_1_00_00_fix/packages/ti/sdo/server/cs/codec.cfg 2010-03-01 18:09:49.000000000 +0000
+@@ -174,7 +174,7 @@
+ DMAN3.numPaRamGroup[GROUP_0] = 48; // number of PaRAM sets for scratch group 0
+ DMAN3.numPaRamGroup[GROUP_1] = 0; // number of PaRAM sets for scratch group 1
+
+-DMAN3.numTccGroup[GROUP_0] = 16; // number of TCCs assigned to scratch group 0
++DMAN3.numTccGroup[GROUP_0] = 12; // number of TCCs assigned to scratch group 0
+ DMAN3.numTccGroup[GROUP_1] = 0; // number of TCCs assigned to scratch group 1
+
+
+diff -uNr cs1omapl138_1_00_00/packages/ti/sdo/server/cs/server.cfg cs1omapl138_1_00_00_fix/packages/ti/sdo/server/cs/server.cfg
+--- cs1omapl138_1_00_00/packages/ti/sdo/server/cs/server.cfg 2009-12-14 17:31:57.000000000 +0000
++++ cs1omapl138_1_00_00_fix/packages/ti/sdo/server/cs/server.cfg 2010-03-01 18:08:59.000000000 +0000
+@@ -233,16 +233,24 @@
+ * TCCs to Groups [0] and [1] each. (Assuming both algorithms needed no more
+ * than 24 channels to run properly.)
+ */
+-DMAN3.paRamBaseIndex = 80; // 1st EDMA3 PaRAM set available for DMAN3
++
++/* TODO :: DA850-OMAPL138 PSP Linux Kernel reserves some PaRAMs for DSP usage
++ * - channels 30->50 are exclusive for DSP
++ * - all 8 QDMAs are allocated to DSP
++ */
++DMAN3.paRamBaseIndex = 30; // 1st EDMA3 PaRAM set available for DMAN3
+ DMAN3.numQdmaChannels = 8; // number of device's QDMA channels to use
+ DMAN3.qdmaChannels = [0,1,2,3,4,5,6,7]; // choice of QDMA channels to use
+-DMAN3.numPaRamEntries = 48; // number of PaRAM sets exclusively used by DMAN
++DMAN3.numPaRamEntries = 50; // number of PaRAM sets exclusively used by DMAN
+
+ /* Please Note: the number of PaRAM sets and number of TCCs for */
+ /* specific scratch groups are set in codeg.cfg */
+
+-DMAN3.tccAllocationMaskL = 0xffffffff; // bit mask indicating which TCCs 0..31 to use
+-DMAN3.tccAllocationMaskH = 0; // assign all TCCs 32..63 for DMAN
++/* TODO :: DA850-OMAPL138 PSP Linux Kernel reserves some TCCs for DSP usage
++ * - 12 TCC channels are exclusive for DSP
++ */
++DMAN3.tccAllocationMaskL = 0xcf003f00; // bit mask indicating which TCCs 0..31 to use
++DMAN3.tccAllocationMaskH = 0x0; // OMAPL138 only has 32 TCCs --> 0
+ DMAN3.debug = false;
+ DMAN3.trace = false;
+
diff --git a/recipes/ti/ti-codecs-omapl138_1.00.00.bb b/recipes/ti/ti-codecs-omapl138_1.00.00.bb
index 66f41cd92a..b9476aa7ad 100644
--- a/recipes/ti/ti-codecs-omapl138_1.00.00.bb
+++ b/recipes/ti/ti-codecs-omapl138_1.00.00.bb
@@ -9,7 +9,7 @@ PV = "1_00_00"
SRC_URI[l138codecsbin.md5sum] = "64a53cd55bc63d3a6f4db742aff90de9"
SRC_URI[l138codecsbin.sha256sum] = "4fb1075ad83f6017616410eff35ada7d567f1ee1b5b23624a817e8fc7dda3f8a"
-PR = "r3"
+PR = "r4"
require ti-paths.inc
require ti-staging.inc
@@ -19,7 +19,8 @@ PROVIDES += "ti-codecs-omapl138-server"
S = "${WORKDIR}/OMAP_L138_arm_1_00_00_08/cs1omapl138_${PV}"
-SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sdk/omap_l138/1_00/latest/exports/${BINFILE};name=l138codecsbin"
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sdk/omap_l138/1_00/latest/exports/${BINFILE};name=l138codecsbin \
+ file://ti-codecs-omapl138-1-00-00-fixDman3Config.patch;patch=1"
BINFILE = "cs1omapl138_${PV}-v2_setup_linux.bin"
TI_BIN_UNPK_CMDS = "y:Y: qY:workdir"