From 2be75db64cd7c3a6d78a4173ffcc56692c1fe0c4 Mon Sep 17 00:00:00 2001 From: Roger Monk Date: Mon, 1 Mar 2010 18:23:29 +0000 Subject: 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 Signed-off-by: Koen Kooi --- ...ti-codecs-omapl138-1-00-00-fixDman3Config.patch | 44 ++++++++++++++++++++++ recipes/ti/ti-codecs-omapl138_1.00.00.bb | 5 ++- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 recipes/ti/ti-codecs-omapl138/ti-codecs-omapl138-1-00-00-fixDman3Config.patch (limited to 'recipes/ti') 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" -- cgit 1.2.3-korg