From: Omar Ramirez Luna <omar.ramirez@ti.com>
To: linux-omap <linux-omap@vger.kernel.org>
Cc: Ameya Palande <ameya.palande@nokia.com>,
Hiroshi Doyu <Hiroshi.DOYU@nokia.com>,
Felipe Contreras <felipe.contreras@nokia.com>,
Nishanth Menon <nm@ti.com>, Ernesto Ramos <ernesto@ti.com>
Subject: [PATCH] DSPBRIDGE: Resource clean up always enabled.
Date: Tue, 2 Feb 2010 14:18:07 -0600 [thread overview]
Message-ID: <1265141887-8329-1-git-send-email-omar.ramirez@ti.com> (raw)
From: Ernesto Ramos <ernesto@ti.com>
Remove flag RES_CLEANUP_DISABLE to have dspbridge
resource cleanup allways enabled.
Signed-off-by: Ernesto Ramos <ernesto@ti.com>
Acked-by: Ameya Palande <ameya.palande@nokia.com>
---
arch/arm/plat-omap/include/dspbridge/_dcd.h | 3 --
arch/arm/plat-omap/include/dspbridge/drv.h | 3 +-
.../plat-omap/include/dspbridge/resourcecleanup.h | 2 -
arch/arm/plat-omap/include/dspbridge/wcdioctl.h | 5 +---
drivers/dsp/bridge/pmgr/wcd.c | 8 ------
drivers/dsp/bridge/rmgr/drv.c | 4 ---
drivers/dsp/bridge/rmgr/drv_interface.c | 4 ---
drivers/dsp/bridge/rmgr/node.c | 14 +---------
drivers/dsp/bridge/rmgr/proc.c | 12 +-------
drivers/dsp/bridge/rmgr/strm.c | 27 ++++++--------------
drivers/dsp/bridge/wmd/chnl_sm.c | 2 -
11 files changed, 14 insertions(+), 70 deletions(-)
diff --git a/arch/arm/plat-omap/include/dspbridge/_dcd.h b/arch/arm/plat-omap/include/dspbridge/_dcd.h
index 160c873..c6bc61d 100644
--- a/arch/arm/plat-omap/include/dspbridge/_dcd.h
+++ b/arch/arm/plat-omap/include/dspbridge/_dcd.h
@@ -96,11 +96,8 @@
extern u32 MGRWRAP_WaitForBridgeEvents(union Trapped_Args *args,
void *pr_ctxt);
-#ifndef RES_CLEANUP_DISABLE
extern u32 MGRWRAP_GetProcessResourcesInfo(union Trapped_Args *args,
void *pr_ctxt);
-#endif
-
/* CPRC (Processor) wrapper Functions */
extern u32 PROCWRAP_Attach(union Trapped_Args *args, void *pr_ctxt);
diff --git a/arch/arm/plat-omap/include/dspbridge/drv.h b/arch/arm/plat-omap/include/dspbridge/drv.h
index e4e91f3..b6a5fd2 100644
--- a/arch/arm/plat-omap/include/dspbridge/drv.h
+++ b/arch/arm/plat-omap/include/dspbridge/drv.h
@@ -78,7 +78,6 @@
#define OMAP_PRCM_VDD1_DOMAIN 1
#define OMAP_PRCM_VDD2_DOMAIN 2
-#ifndef RES_CLEANUP_DISABLE
/* GPP PROCESS CLEANUP Data structures */
@@ -148,7 +147,7 @@ struct PROCESS_CONTEXT{
/* Stream resources */
struct STRM_RES_OBJECT *pSTRMList;
} ;
-#endif
+
/*
* ======== DRV_Create ========
diff --git a/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h b/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h
index 9e78170..ffbcf5e 100644
--- a/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h
+++ b/arch/arm/plat-omap/include/dspbridge/resourcecleanup.h
@@ -14,7 +14,6 @@
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/nodepriv.h>
#include <dspbridge/drv.h>
@@ -74,4 +73,3 @@ extern DSP_STATUS DRV_RemoveAllSTRMResElements(HANDLE pCtxt);
extern enum NODE_STATE NODE_GetState(HANDLE hNode);
-#endif
diff --git a/arch/arm/plat-omap/include/dspbridge/wcdioctl.h b/arch/arm/plat-omap/include/dspbridge/wcdioctl.h
index bd84bf0..4da45d7 100644
--- a/arch/arm/plat-omap/include/dspbridge/wcdioctl.h
+++ b/arch/arm/plat-omap/include/dspbridge/wcdioctl.h
@@ -101,10 +101,7 @@ union Trapped_Args {
struct {
DSP_HPROCESSOR hProcessor;
u8 __user *pBuf;
-
- #ifndef RES_CLEANUP_DISABLE
- u8 __user *pSize;
- #endif
+ u8 __user *pSize;
u32 uMaxSize;
} ARGS_PROC_GETTRACE;
diff --git a/drivers/dsp/bridge/pmgr/wcd.c b/drivers/dsp/bridge/pmgr/wcd.c
index b92386a..9e34af1 100644
--- a/drivers/dsp/bridge/pmgr/wcd.c
+++ b/drivers/dsp/bridge/pmgr/wcd.c
@@ -59,9 +59,7 @@
#include <dspbridge/_dcd.h>
#include <dspbridge/dbdcd.h>
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/resourcecleanup.h>
-#endif
/* ----------------------------------- Defines, Data Structures, Typedefs */
#define MAX_TRACEBUFLEN 255
@@ -99,11 +97,7 @@ static struct WCD_Cmd mgr_cmd[] = {
{MGRWRAP_RegisterObject}, /* MGR_REGISTEROBJECT */
{MGRWRAP_UnregisterObject}, /* MGR_UNREGISTEROBJECT */
{MGRWRAP_WaitForBridgeEvents}, /* MGR_WAIT */
-#ifndef RES_CLEANUP_DISABLE
{MGRWRAP_GetProcessResourcesInfo}, /* MGR_GET_PROC_RES */
-#else
- {NULL},
-#endif
};
/* PROC wrapper functions */
@@ -624,7 +618,6 @@ u32 MGRWRAP_WaitForBridgeEvents(union Trapped_Args *args, void *pr_ctxt)
}
-#ifndef RES_CLEANUP_DISABLE
/*
* ======== MGRWRAP_GetProcessResourceInfo ========
*/
@@ -634,7 +627,6 @@ u32 __deprecated MGRWRAP_GetProcessResourcesInfo(union Trapped_Args *args,
pr_err("%s: deprecated dspbridge ioctl\n", __func__);
return DSP_SOK;
}
-#endif
/*
diff --git a/drivers/dsp/bridge/rmgr/drv.c b/drivers/dsp/bridge/rmgr/drv.c
index ca14908..122727d 100644
--- a/drivers/dsp/bridge/rmgr/drv.c
+++ b/drivers/dsp/bridge/rmgr/drv.c
@@ -38,14 +38,12 @@
#include <dspbridge/drv.h>
#include <dspbridge/dev.h>
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/node.h>
#include <dspbridge/proc.h>
#include <dspbridge/strm.h>
#include <dspbridge/nodepriv.h>
#include <dspbridge/wmdchnl.h>
#include <dspbridge/resourcecleanup.h>
-#endif
/* ----------------------------------- Defines, Data Structures, Typedefs */
#define SIGNATURE 0x5f52474d /* "DRV_" (in reverse) */
@@ -76,7 +74,6 @@ extern struct GT_Mask curTrace;
static DSP_STATUS RequestBridgeResources(u32 dwContext, s32 fRequest);
static DSP_STATUS RequestBridgeResourcesDSP(u32 dwContext, s32 fRequest);
-#ifndef RES_CLEANUP_DISABLE
/* GPP PROCESS CLEANUP CODE */
static DSP_STATUS DRV_ProcFreeNodeRes(HANDLE hPCtxt);
@@ -554,7 +551,6 @@ DSP_STATUS DRV_ProcUpdateSTRMRes(u32 uNumBufs, HANDLE hSTRMRes)
}
/* GPP PROCESS CLEANUP CODE END */
-#endif
/*
* ======== = DRV_Create ======== =
diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c b/drivers/dsp/bridge/rmgr/drv_interface.c
index ce6a340..6fe6cbe 100644
--- a/drivers/dsp/bridge/rmgr/drv_interface.c
+++ b/drivers/dsp/bridge/rmgr/drv_interface.c
@@ -56,7 +56,6 @@
/* ----------------------------------- This */
#include <drv_interface.h>
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/cfg.h>
#include <dspbridge/resourcecleanup.h>
#include <dspbridge/chnl.h>
@@ -64,7 +63,6 @@
#include <dspbridge/dev.h>
#include <dspbridge/drvdefs.h>
#include <dspbridge/drv.h>
-#endif
#ifdef CONFIG_BRIDGE_DVFS
#include <mach-omap2/omap3-opp.h>
@@ -621,7 +619,6 @@ static int bridge_mmap(struct file *filp, struct vm_area_struct *vma)
return status;
}
-#ifndef RES_CLEANUP_DISABLE
/* To remove all process resources before removing the process from the
* process context list*/
DSP_STATUS DRV_RemoveAllResources(HANDLE hPCtxt)
@@ -634,7 +631,6 @@ DSP_STATUS DRV_RemoveAllResources(HANDLE hPCtxt)
pCtxt->resState = PROC_RES_FREED;
return status;
}
-#endif
/* Bridge driver initialization and de-initialization functions */
module_init(bridge_init);
diff --git a/drivers/dsp/bridge/rmgr/node.c b/drivers/dsp/bridge/rmgr/node.c
index 71e5695..6b33662 100644
--- a/drivers/dsp/bridge/rmgr/node.c
+++ b/drivers/dsp/bridge/rmgr/node.c
@@ -67,11 +67,9 @@
#include <dspbridge/dbll.h>
#include <dspbridge/nldr.h>
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/drv.h>
#include <dspbridge/drvdefs.h>
#include <dspbridge/resourcecleanup.h>
-#endif
#define NODE_SIGNATURE 0x45444f4e /* "EDON" */
@@ -338,9 +336,7 @@ DSP_STATUS NODE_Allocate(struct PROC_OBJECT *hProcessor,
struct PROC_OBJECT *pProcObject = (struct PROC_OBJECT *)hProcessor;
#endif
-#ifndef RES_CLEANUP_DISABLE
HANDLE nodeRes;
-#endif
DBC_Require(cRefs > 0);
DBC_Require(hProcessor != NULL);
@@ -696,13 +692,11 @@ func_cont:
}
-#ifndef RES_CLEANUP_DISABLE
if (DSP_SUCCEEDED(status)) {
DRV_InsertNodeResElement(*phNode, &nodeRes, pr_ctxt);
DRV_ProcNodeUpdateHeapStatus(nodeRes, true);
DRV_ProcNodeUpdateStatus(nodeRes, true);
}
-#endif
DBC_Ensure((DSP_FAILED(status) && (*phNode == NULL)) ||
(DSP_SUCCEEDED(status)
&& MEM_IsValidHandle((*phNode), NODE_SIGNATURE)));
@@ -1516,9 +1510,8 @@ DSP_STATUS NODE_Delete(struct NODE_OBJECT *hNode,
u32 procId;
struct WMD_DRV_INTERFACE *pIntfFxns;
-#ifndef RES_CLEANUP_DISABLE
HANDLE nodeRes;
-#endif
+
struct DSP_PROCESSORSTATE procStatus;
DBC_Require(cRefs > 0);
GT_1trace(NODE_debugMask, GT_ENTER, "NODE_Delete: hNode: 0x%x\n",
@@ -1642,18 +1635,15 @@ func_cont1:
hNodeMgr->uNumCreated--;
/* Free host-side resources allocated by NODE_Create()
* DeleteNode() fails if SM buffers not freed by client! */
-#ifndef RES_CLEANUP_DISABLE
if (DRV_GetNodeResElement(hNode, &nodeRes, pr_ctxt) != DSP_ENOTFOUND) {
GT_0trace(NODE_debugMask, GT_5CLASS, "\nNODE_Delete12:\n");
DRV_ProcNodeUpdateStatus(nodeRes, false);
}
-#endif
GT_0trace(NODE_debugMask, GT_ENTER, "\nNODE_Delete13:\n ");
DeleteNode(hNode, pr_ctxt);
-#ifndef RES_CLEANUP_DISABLE
+
GT_0trace(NODE_debugMask, GT_5CLASS, "\nNODE_Delete2:\n ");
DRV_RemoveNodeResElement(nodeRes, pr_ctxt);
-#endif
GT_0trace(NODE_debugMask, GT_ENTER, "\nNODE_Delete3:\n ");
/* Exit critical section */
(void)SYNC_LeaveCS(hNodeMgr->hSync);
diff --git a/drivers/dsp/bridge/rmgr/proc.c b/drivers/dsp/bridge/rmgr/proc.c
index d458ac7..e50eb52 100644
--- a/drivers/dsp/bridge/rmgr/proc.c
+++ b/drivers/dsp/bridge/rmgr/proc.c
@@ -59,9 +59,7 @@
#include <dspbridge/proc.h>
#include <dspbridge/pwr.h>
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/resourcecleanup.h>
-#endif
/* ----------------------------------- Defines, Data Structures, Typedefs */
#define PROC_SIGNATURE 0x434F5250 /* "PROC" (in reverse). */
#define MAXCMDLINELEN 255
@@ -1288,9 +1286,7 @@ DSP_STATUS PROC_Map(DSP_HPROCESSOR hProcessor, void *pMpuAddr, u32 ulSize,
DSP_STATUS status = DSP_SOK;
struct PROC_OBJECT *pProcObject = (struct PROC_OBJECT *)hProcessor;
-#ifndef RES_CLEANUP_DISABLE
HANDLE dmmRes;
-#endif
GT_6trace(PROC_DebugMask, GT_ENTER, "Entered PROC_Map, args:\n\t"
"hProcessor %x, pMpuAddr %x, ulSize %x, pReqAddr %x, "
@@ -1337,13 +1333,11 @@ DSP_STATUS PROC_Map(DSP_HPROCESSOR hProcessor, void *pMpuAddr, u32 ulSize,
}
(void)SYNC_LeaveCS(hProcLock);
-#ifndef RES_CLEANUP_DISABLE
if (DSP_SUCCEEDED(status)) {
DRV_InsertDMMResElement(&dmmRes, pr_ctxt);
DRV_UpdateDMMResElement(dmmRes, (u32)pMpuAddr, ulSize,
(u32)pReqAddr, (u32)*ppMapAddr, hProcessor);
}
-#endif
func_end:
GT_1trace(PROC_DebugMask, GT_ENTER, "Leaving PROC_Map [0x%x]", status);
return status;
@@ -1655,9 +1649,9 @@ DSP_STATUS PROC_UnMap(DSP_HPROCESSOR hProcessor, void *pMapAddr,
struct DMM_OBJECT *hDmmMgr;
u32 vaAlign;
u32 sizeAlign;
-#ifndef RES_CLEANUP_DISABLE
+
HANDLE dmmRes;
-#endif
+
GT_2trace(PROC_DebugMask, GT_ENTER,
"Entered PROC_UnMap, args:\n\thProcessor:"
"0x%x pMapAddr: 0x%x\n", hProcessor, pMapAddr);
@@ -1690,7 +1684,6 @@ DSP_STATUS PROC_UnMap(DSP_HPROCESSOR hProcessor, void *pMapAddr,
(pProcObject->hWmdContext, vaAlign, sizeAlign);
}
(void)SYNC_LeaveCS(hProcLock);
-#ifndef RES_CLEANUP_DISABLE
GT_1trace(PROC_DebugMask, GT_ENTER,
"PROC_UnMap DRV_GetDMMResElement "
"pMapAddr:[0x%x]", pMapAddr);
@@ -1700,7 +1693,6 @@ DSP_STATUS PROC_UnMap(DSP_HPROCESSOR hProcessor, void *pMapAddr,
if (DRV_GetDMMResElement((u32)pMapAddr, &dmmRes, pr_ctxt)
!= DSP_ENOTFOUND)
DRV_RemoveDMMResElement(dmmRes, pr_ctxt);
-#endif
func_end:
GT_1trace(PROC_DebugMask, GT_ENTER,
"Leaving PROC_UnMap [0x%x]", status);
diff --git a/drivers/dsp/bridge/rmgr/strm.c b/drivers/dsp/bridge/rmgr/strm.c
index febb6c2..6be8083 100644
--- a/drivers/dsp/bridge/rmgr/strm.c
+++ b/drivers/dsp/bridge/rmgr/strm.c
@@ -44,10 +44,8 @@
/* ----------------------------------- This */
#include <dspbridge/strm.h>
-#ifndef RES_CLEANUP_DISABLE
#include <dspbridge/cfg.h>
#include <dspbridge/resourcecleanup.h>
-#endif
/* ----------------------------------- Defines, Data Structures, Typedefs */
#define STRM_SIGNATURE 0x4d525453 /* "MRTS" */
@@ -114,9 +112,9 @@ DSP_STATUS STRM_AllocateBuffer(struct STRM_OBJECT *hStrm, u32 uSize,
DSP_STATUS status = DSP_SOK;
u32 uAllocated = 0;
u32 i;
-#ifndef RES_CLEANUP_DISABLE
+
HANDLE hSTRMRes;
-#endif
+
DBC_Require(cRefs > 0);
DBC_Require(apBuffer != NULL);
@@ -152,14 +150,13 @@ DSP_STATUS STRM_AllocateBuffer(struct STRM_OBJECT *hStrm, u32 uSize,
if (DSP_FAILED(status))
STRM_FreeBuffer(hStrm, apBuffer, uAllocated, pr_ctxt);
-#ifndef RES_CLEANUP_DISABLE
if (DSP_FAILED(status))
goto func_end;
if (DRV_GetSTRMResElement(hStrm, &hSTRMRes, pr_ctxt) !=
DSP_ENOTFOUND)
DRV_ProcUpdateSTRMRes(uNumBufs, hSTRMRes);
-#endif
+
func_end:
return status;
}
@@ -176,9 +173,7 @@ DSP_STATUS STRM_Close(struct STRM_OBJECT *hStrm,
struct CHNL_INFO chnlInfo;
DSP_STATUS status = DSP_SOK;
-#ifndef RES_CLEANUP_DISABLE
- HANDLE hSTRMRes;
-#endif
+ HANDLE hSTRMRes;
DBC_Require(cRefs > 0);
@@ -198,7 +193,7 @@ DSP_STATUS STRM_Close(struct STRM_OBJECT *hStrm,
else
status = DeleteStrm(hStrm);
}
-#ifndef RES_CLEANUP_DISABLE
+
if (DSP_FAILED(status))
goto func_end;
@@ -206,7 +201,6 @@ DSP_STATUS STRM_Close(struct STRM_OBJECT *hStrm,
DSP_ENOTFOUND)
DRV_ProcRemoveSTRMResElement(hSTRMRes, pr_ctxt);
func_end:
-#endif
DBC_Ensure(status == DSP_SOK || status == DSP_EHANDLE ||
status == DSP_EPENDING || status == DSP_EFAIL);
@@ -312,9 +306,8 @@ DSP_STATUS STRM_FreeBuffer(struct STRM_OBJECT *hStrm, u8 **apBuffer,
DSP_STATUS status = DSP_SOK;
u32 i = 0;
-#ifndef RES_CLEANUP_DISABLE
HANDLE hSTRMRes = NULL;
-#endif
+
DBC_Require(cRefs > 0);
DBC_Require(apBuffer != NULL);
@@ -337,11 +330,10 @@ DSP_STATUS STRM_FreeBuffer(struct STRM_OBJECT *hStrm, u8 **apBuffer,
apBuffer[i] = NULL;
}
}
-#ifndef RES_CLEANUP_DISABLE
if (DRV_GetSTRMResElement(hStrm, hSTRMRes, pr_ctxt) !=
DSP_ENOTFOUND)
DRV_ProcUpdateSTRMRes(uNumBufs-i, hSTRMRes);
-#endif
+
return status;
}
@@ -529,9 +521,8 @@ DSP_STATUS STRM_Open(struct NODE_OBJECT *hNode, u32 uDir, u32 uIndex,
DSP_STATUS status = DSP_SOK;
struct CMM_OBJECT *hCmmMgr = NULL; /* Shared memory manager hndl */
-#ifndef RES_CLEANUP_DISABLE
HANDLE hSTRMRes;
-#endif
+
DBC_Require(cRefs > 0);
DBC_Require(phStrm != NULL);
DBC_Require(pAttr != NULL);
@@ -666,9 +657,7 @@ func_cont:
else
(void)DeleteStrm(pStrm);
-#ifndef RES_CLEANUP_DISABLE
DRV_ProcInsertSTRMResElement(*phStrm, &hSTRMRes, pr_ctxt);
-#endif
/* ensure we return a documented error code */
DBC_Ensure((DSP_SUCCEEDED(status) &&
diff --git a/drivers/dsp/bridge/wmd/chnl_sm.c b/drivers/dsp/bridge/wmd/chnl_sm.c
index 99c876d..b64e7c0 100644
--- a/drivers/dsp/bridge/wmd/chnl_sm.c
+++ b/drivers/dsp/bridge/wmd/chnl_sm.c
@@ -689,7 +689,6 @@ DSP_STATUS WMD_CHNL_GetIOC(struct CHNL_OBJECT *hChnl, u32 dwTimeOut,
/*pHostUserBuf */
status = copy_to_user(ioc.pBuf, pHostSysBuf, ioc.cBytes);
-#ifndef RES_CLEANUP_DISABLE
if (status) {
if (current->flags & PF_EXITING) {
DBG_Trace(DBG_LEVEL7,
@@ -704,7 +703,6 @@ DSP_STATUS WMD_CHNL_GetIOC(struct CHNL_OBJECT *hChnl, u32 dwTimeOut,
current->flags);
}
}
-#endif
if (status) {
DBG_Trace(DBG_LEVEL7,
"Error copying kernel buffer to user, %d"
--
1.6.2.4
next reply other threads:[~2010-02-02 20:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-02 20:18 Omar Ramirez Luna [this message]
2010-02-02 20:22 ` [PATCH] DSPBRIDGE: Resource clean up always enabled Omar Ramirez Luna
-- strict thread matches above, loose matches on Subject: below --
2010-01-28 16:05 Ramos Falcon, Ernesto
2010-01-28 16:44 ` Ameya Palande
2010-02-02 19:48 ` Omar Ramirez Luna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1265141887-8329-1-git-send-email-omar.ramirez@ti.com \
--to=omar.ramirez@ti.com \
--cc=Hiroshi.DOYU@nokia.com \
--cc=ameya.palande@nokia.com \
--cc=ernesto@ti.com \
--cc=felipe.contreras@nokia.com \
--cc=linux-omap@vger.kernel.org \
--cc=nm@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.