From: Ramsey Harris Date: Wed, 4 Jun 2014 18:54:42 +0000 (-0700) Subject: SDOCM00108149 Incorrect index computation in NotifySetup for v7M and v7A X-Git-Tag: 3.22.01.07_eng^0 X-Git-Url: https://git.ti.com/gitweb?p=ipc%2Fipcdev.git;a=commitdiff_plain;h=60b96f106bcb45e7301e87f39a05dd8d20b9743e SDOCM00108149 Incorrect index computation in NotifySetup for v7M and v7A When computing the mailbox table index in NotifySetup_plugHwi, the local MultiProcID was used. It should have been using the local virtual ID. The same bug was in NotifySetup_unplugHwi. --- diff --git a/packages/ti/sdo/ipc/family/vayu/NotifySetup.c b/packages/ti/sdo/ipc/family/vayu/NotifySetup.c index 72e60bd..603efa3 100644 --- a/packages/ti/sdo/ipc/family/vayu/NotifySetup.c +++ b/packages/ti/sdo/ipc/family/vayu/NotifySetup.c @@ -483,7 +483,7 @@ Void NotifySetup_plugHwi(UInt16 remoteProcId, Int cpuIntrNum, || defined(xdc_target__isaCompatible_v7A) /* compute table index for given source and destination */ - idx = (srcVirtId * NotifySetup_NUM_CORES) + MultiProc_self(); + idx = (srcVirtId * NotifySetup_NUM_CORES) + VIRTID(MultiProc_self()); /* compute mailbox index */ mbxIdx = MBX_BASEADDR_IDX(idx); @@ -583,7 +583,7 @@ Void NotifySetup_unplugHwi(UInt16 remoteProcId, Int cpuIntrNum) || defined(xdc_target__isaCompatible_v7A) /* decrement plug count */ - idx = (srcVirtId * NotifySetup_NUM_CORES) + MultiProc_self(); + idx = (srcVirtId * NotifySetup_NUM_CORES) + VIRTID(MultiProc_self()); mbxIdx = MBX_BASEADDR_IDX(idx); NotifySetup_module->numPlugged[mbxIdx]--;