Signed-off-by: Ameya Palande <[email protected]>
---
 arch/arm/plat-omap/include/dspbridge/node.h |    4 ++-
 drivers/dsp/bridge/pmgr/wcd.c               |    2 +-
 drivers/dsp/bridge/rmgr/node.c              |   49 +++------------------------
 3 files changed, 9 insertions(+), 46 deletions(-)

diff --git a/arch/arm/plat-omap/include/dspbridge/node.h 
b/arch/arm/plat-omap/include/dspbridge/node.h
index d253962..db3be05 100644
--- a/arch/arm/plat-omap/include/dspbridge/node.h
+++ b/arch/arm/plat-omap/include/dspbridge/node.h
@@ -68,6 +68,7 @@
 #include <dspbridge/nodedefs.h>
 #include <dspbridge/dispdefs.h>
 #include <dspbridge/nldrdefs.h>
+#include <dspbridge/drv.h>
 
 /*
  *  ======== NODE_Allocate ========
@@ -104,7 +105,8 @@
                                        *pArgs,
                                        OPTIONAL IN CONST struct DSP_NODEATTRIN
                                        *pAttrIn,
-                                       OUT struct NODE_OBJECT **phNode);
+                                       OUT struct NODE_OBJECT **phNode,
+                                       struct PROCESS_CONTEXT *pr_ctxt);
 
 /*
  *  ======== NODE_AllocMsgBuf ========
diff --git a/drivers/dsp/bridge/pmgr/wcd.c b/drivers/dsp/bridge/pmgr/wcd.c
index 23ed3a7..05afb2c 100644
--- a/drivers/dsp/bridge/pmgr/wcd.c
+++ b/drivers/dsp/bridge/pmgr/wcd.c
@@ -1170,7 +1170,7 @@ u32 NODEWRAP_Allocate(union Trapped_Args *args, void 
*pr_ctxt)
        if (DSP_SUCCEEDED(status)) {
                status = NODE_Allocate(args->ARGS_NODE_ALLOCATE.hProcessor,
                                      &nodeId, (struct DSP_CBDATA *)pArgs,
-                                     pAttrIn, &hNode);
+                                     pAttrIn, &hNode, pr_ctxt);
        }
        cp_to_usr(args->ARGS_NODE_ALLOCATE.phNode, &hNode, status, 1);
 func_cont:
diff --git a/drivers/dsp/bridge/rmgr/node.c b/drivers/dsp/bridge/rmgr/node.c
index 5ff87e9..b7bdf08 100644
--- a/drivers/dsp/bridge/rmgr/node.c
+++ b/drivers/dsp/bridge/rmgr/node.c
@@ -389,7 +389,8 @@ DSP_STATUS NODE_Allocate(struct PROC_OBJECT *hProcessor,
                        IN CONST struct DSP_UUID *pNodeId,
                        OPTIONAL IN CONST struct DSP_CBDATA *pArgs,
                        OPTIONAL IN CONST struct DSP_NODEATTRIN *pAttrIn,
-                       OUT struct NODE_OBJECT **phNode)
+                       OUT struct NODE_OBJECT **phNode,
+                       struct PROCESS_CONTEXT *pr_ctxt)
 {
        struct NODE_MGR *hNodeMgr;
        struct DEV_OBJECT *hDevObject;
@@ -418,11 +419,7 @@ DSP_STATUS NODE_Allocate(struct PROC_OBJECT *hProcessor,
 #endif
 
 #ifndef RES_CLEANUP_DISABLE
-       HANDLE       hDrvObject;
        HANDLE       nodeRes;
-       u32                  hProcess;
-       struct PROCESS_CONTEXT   *pPctxt = NULL;
-       DSP_STATUS res_status = DSP_SOK;
 #endif
 
        DBC_Require(cRefs > 0);
@@ -789,45 +786,9 @@ func_cont2:
 
 #ifndef RES_CLEANUP_DISABLE
        if (DSP_SUCCEEDED(status)) {
-               /* Return TGID instead of process handle */
-               hProcess = current->tgid;
-
-               res_status = CFG_GetObject((u32 *)&hDrvObject,
-                                         REG_DRV_OBJECT);
-               if (DSP_SUCCEEDED(res_status)) {
-                       DRV_GetProcContext(hProcess,
-                                        (struct DRV_OBJECT *)hDrvObject,
-                                        &pPctxt, *phNode, 0);
-                       if (pPctxt == NULL) {
-                               DRV_InsertProcContext(
-                                       (struct DRV_OBJECT *)hDrvObject,
-                                       &pPctxt);
-                               if (pPctxt != NULL) {
-                                       DRV_ProcUpdatestate(pPctxt,
-                                                       PROC_RES_ALLOCATED);
-                                       DRV_ProcSetPID(pPctxt, hProcess);
-                                       pPctxt->hProcessor =
-                                                (DSP_HPROCESSOR)hProcessor;
-                               }
-                       }
-               }
-       }
-       if (DSP_SUCCEEDED(status)) {
-               /* Return TGID instead of process handle */
-               hProcess = current->tgid;
-               res_status = CFG_GetObject((u32 *)&hDrvObject,
-                                       REG_DRV_OBJECT);
-               if (DSP_SUCCEEDED(res_status)) {
-                       DRV_GetProcContext(hProcess,
-                                        (struct DRV_OBJECT *)hDrvObject,
-                                        &pPctxt, *phNode, 0);
-                       if (pPctxt != NULL) {
-                               DRV_InsertNodeResElement(*phNode, &nodeRes,
-                                                        pPctxt);
-                               DRV_ProcNodeUpdateHeapStatus(nodeRes, true);
-                               DRV_ProcNodeUpdateStatus(nodeRes, true);
-                       }
-               }
+               DRV_InsertNodeResElement(*phNode, &nodeRes, pr_ctxt);
+               DRV_ProcNodeUpdateHeapStatus(nodeRes, true);
+               DRV_ProcNodeUpdateStatus(nodeRes, true);
        }
 #endif
        DBC_Ensure((DSP_FAILED(status) && (*phNode == NULL)) ||
-- 
1.6.2.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to