MessageQ: Fix for Linux msgs sent to wrong slave 3.10.00.05_eng
authorChris Ring <cring@ti.com>
Sat, 24 Aug 2013 14:57:24 +0000 (07:57 -0700)
committerChris Ring <cring@ti.com>
Sat, 24 Aug 2013 16:14:37 +0000 (09:14 -0700)
commit02b56a3a265060bdee6e51e4758d6a0f8775de20
tree00c2a689c413076a864709b5cddb82577b251a3b
parent9b835f3453636669c27bf18df3fa075decb524b3
MessageQ: Fix for Linux msgs sent to wrong slave

Previously the MultiProc-to-Linux-kernel-rproc-index mapping was
hard-coded in the MessageQ-based socket library to be
rprocIndex = MultiProc_id - 1.  This was too simple for the async
loading use cases on systems with > 1 slave.

A recent kernel patch looks up the rpmsg channel based on Linux
kernel rproc index, meaning the socket's 'connect' and 'bind'
calls now need to provide the actual rproc index.  Today's Linux
kernels ensure the rproc index will be consistent from run to run
(so long as all slaves are configured enabled), so this rproc-
index-to-MultiProc-id can be known and hard-coded ahead of time.

This commit records that hard-coding in the MultiProcCfg_*.c
source files, and now provides the appropriate rproc index in
the socket 'connect' and 'bind' calls.

This user-space commit requires a matching update to the kernel
space drivers.
linux/include/_MultiProc.h
linux/src/daemon/MultiProcCfg_dra7xx.c
linux/src/daemon/MultiProcCfg_omap54xx_smp.c
linux/src/daemon/MultiProcCfg_omapl138.c
linux/src/daemon/MultiProcCfg_tci6614.c
linux/src/daemon/MultiProcCfg_tci6638.c
linux/src/utils/SocketFxns.c