From patchwork Wed Feb 17 18:05:38 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ameya Palande X-Patchwork-Id: 79995 X-Patchwork-Delegate: omar.ramirez@ti.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o1HI6aB4016075 for ; Wed, 17 Feb 2010 18:06:36 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753461Ab0BQSGg (ORCPT ); Wed, 17 Feb 2010 13:06:36 -0500 Received: from smtp.nokia.com ([192.100.122.230]:43159 "EHLO mgw-mx03.nokia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753396Ab0BQSGf (ORCPT ); Wed, 17 Feb 2010 13:06:35 -0500 Received: from vaebh105.NOE.Nokia.com (vaebh105.europe.nokia.com [10.160.244.31]) by mgw-mx03.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o1HI6RcP016942; Wed, 17 Feb 2010 20:06:28 +0200 Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by vaebh105.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 17 Feb 2010 20:06:27 +0200 Received: from mgw-da02.ext.nokia.com ([147.243.128.26]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Wed, 17 Feb 2010 20:06:25 +0200 Received: from localhost.localdomain (esdhcp041232.research.nokia.com [172.21.41.232]) by mgw-da02.ext.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o1HI6HFG023896; Wed, 17 Feb 2010 20:06:20 +0200 From: Ameya Palande To: linux-omap@vger.kernel.org Cc: felipe.contreras@nokia.com, nm@ti.com, deepak.chitriki@ti.com, x0095840@ti.com, omar.ramirez@ti.com Subject: [PATCHv4 1/4] DSPBRIDGE: Rename DMM_RES_OBJECT to DMM_MAP_OBJECT Date: Wed, 17 Feb 2010 20:05:38 +0200 Message-Id: X-Mailer: git-send-email 1.6.3.3 In-Reply-To: References: In-Reply-To: References: X-OriginalArrivalTime: 17 Feb 2010 18:06:26.0320 (UTC) FILETIME=[EBEB5100:01CAAFFB] X-Nokia-AV: Clean Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 17 Feb 2010 18:06:37 +0000 (UTC) diff --git a/arch/arm/plat-omap/include/dspbridge/drv.h b/arch/arm/plat-omap/include/dspbridge/drv.h index b044291..d5f5277 100644 --- a/arch/arm/plat-omap/include/dspbridge/drv.h +++ b/arch/arm/plat-omap/include/dspbridge/drv.h @@ -90,15 +90,15 @@ struct NODE_RES_OBJECT { struct NODE_RES_OBJECT *next; } ; -/* New structure (member of process context) abstracts DMM resource info */ -struct DMM_RES_OBJECT { +/* Abstracts DMM resource info */ +struct DMM_MAP_OBJECT { s32 dmmAllocated; /* DMM status */ u32 ulMpuAddr; u32 ulDSPAddr; u32 ulDSPResAddr; - u32 dmmSize; + u32 size; HANDLE hProcessor; - struct DMM_RES_OBJECT *next; + struct DMM_MAP_OBJECT *next; } ; /* New structure (member of process context) abstracts DMM resource info */ @@ -139,9 +139,9 @@ struct PROCESS_CONTEXT{ struct NODE_RES_OBJECT *pNodeList; struct mutex node_mutex; - /* DMM resources */ - struct DMM_RES_OBJECT *pDMMList; - struct mutex dmm_mutex; + /* DMM mapped memory resources */ + struct DMM_MAP_OBJECT *dmm_map_list; + struct mutex dmm_map_mutex; /* DSP Heap resources */ struct DSPHEAP_RES_OBJECT *pDSPHEAPList; diff --git a/drivers/dsp/bridge/rmgr/drv.c b/drivers/dsp/bridge/rmgr/drv.c index e8b2c58..9b513e2 100644 --- a/drivers/dsp/bridge/rmgr/drv.c +++ b/drivers/dsp/bridge/rmgr/drv.c @@ -198,37 +198,37 @@ static DSP_STATUS DRV_ProcFreeNodeRes(HANDLE hPCtxt) DSP_STATUS DRV_InsertDMMResElement(HANDLE hDMMRes, HANDLE hPCtxt) { struct PROCESS_CONTEXT *pCtxt = (struct PROCESS_CONTEXT *)hPCtxt; - struct DMM_RES_OBJECT **pDMMRes = (struct DMM_RES_OBJECT **)hDMMRes; + struct DMM_MAP_OBJECT **pDMMRes = (struct DMM_MAP_OBJECT **)hDMMRes; DSP_STATUS status = DSP_SOK; - struct DMM_RES_OBJECT *pTempDMMRes = NULL; + struct DMM_MAP_OBJECT *pTempDMMRes = NULL; - *pDMMRes = (struct DMM_RES_OBJECT *) - MEM_Calloc(1 * sizeof(struct DMM_RES_OBJECT), MEM_PAGED); + *pDMMRes = (struct DMM_MAP_OBJECT *) + MEM_Calloc(1 * sizeof(struct DMM_MAP_OBJECT), MEM_PAGED); GT_0trace(curTrace, GT_ENTER, "DRV_InsertDMMResElement: 1"); if (*pDMMRes == NULL) { GT_0trace(curTrace, GT_5CLASS, "DRV_InsertDMMResElement: 2"); status = DSP_EHANDLE; } if (DSP_SUCCEEDED(status)) { - if (mutex_lock_interruptible(&pCtxt->dmm_mutex)) { + if (mutex_lock_interruptible(&pCtxt->dmm_map_mutex)) { kfree(*pDMMRes); return DSP_EFAIL; } - if (pCtxt->pDMMList != NULL) { + if (pCtxt->dmm_map_list) { GT_0trace(curTrace, GT_5CLASS, "DRV_InsertDMMResElement: 3"); - pTempDMMRes = pCtxt->pDMMList; - while (pTempDMMRes->next != NULL) + pTempDMMRes = pCtxt->dmm_map_list; + while (pTempDMMRes->next) pTempDMMRes = pTempDMMRes->next; pTempDMMRes->next = *pDMMRes; } else { - pCtxt->pDMMList = *pDMMRes; + pCtxt->dmm_map_list = *pDMMRes; GT_0trace(curTrace, GT_5CLASS, "DRV_InsertDMMResElement: 4"); } - mutex_unlock(&pCtxt->dmm_mutex); + mutex_unlock(&pCtxt->dmm_map_mutex); } GT_0trace(curTrace, GT_ENTER, "DRV_InsertDMMResElement: 5"); return status; @@ -239,15 +239,15 @@ DSP_STATUS DRV_InsertDMMResElement(HANDLE hDMMRes, HANDLE hPCtxt) DSP_STATUS DRV_RemoveDMMResElement(HANDLE hDMMRes, HANDLE hPCtxt) { struct PROCESS_CONTEXT *pCtxt = (struct PROCESS_CONTEXT *)hPCtxt; - struct DMM_RES_OBJECT *pDMMRes = (struct DMM_RES_OBJECT *)hDMMRes; - struct DMM_RES_OBJECT *pTempDMMRes = NULL; + struct DMM_MAP_OBJECT *pDMMRes = (struct DMM_MAP_OBJECT *)hDMMRes; + struct DMM_MAP_OBJECT *pTempDMMRes = NULL; DSP_STATUS status = DSP_SOK; - if (mutex_lock_interruptible(&pCtxt->dmm_mutex)) + if (mutex_lock_interruptible(&pCtxt->dmm_map_mutex)) return DSP_EFAIL; - pTempDMMRes = pCtxt->pDMMList; - if (pCtxt->pDMMList == pDMMRes) { - pCtxt->pDMMList = pDMMRes->next; + pTempDMMRes = pCtxt->dmm_map_list; + if (pCtxt->dmm_map_list == pDMMRes) { + pCtxt->dmm_map_list = pDMMRes->next; } else { while (pTempDMMRes && pTempDMMRes->next != pDMMRes) pTempDMMRes = pTempDMMRes->next; @@ -256,7 +256,7 @@ DSP_STATUS DRV_RemoveDMMResElement(HANDLE hDMMRes, HANDLE hPCtxt) else pTempDMMRes->next = pDMMRes->next; } - mutex_unlock(&pCtxt->dmm_mutex); + mutex_unlock(&pCtxt->dmm_map_mutex); kfree(pDMMRes); return status; } @@ -266,14 +266,14 @@ DSP_STATUS DRV_UpdateDMMResElement(HANDLE hDMMRes, u32 pMpuAddr, u32 ulSize, u32 pReqAddr, u32 pMapAddr, HANDLE hProcessor) { - struct DMM_RES_OBJECT *pDMMRes = (struct DMM_RES_OBJECT *)hDMMRes; + struct DMM_MAP_OBJECT *pDMMRes = (struct DMM_MAP_OBJECT *)hDMMRes; DSP_STATUS status = DSP_SOK; DBC_Assert(hDMMRes != NULL); pDMMRes->ulMpuAddr = pMpuAddr; pDMMRes->ulDSPAddr = pMapAddr; pDMMRes->ulDSPResAddr = pReqAddr; - pDMMRes->dmmSize = ulSize; + pDMMRes->size = ulSize; pDMMRes->hProcessor = hProcessor; pDMMRes->dmmAllocated = 1; @@ -285,11 +285,11 @@ DSP_STATUS DRV_ProcFreeDMMRes(HANDLE hPCtxt) { struct PROCESS_CONTEXT *pCtxt = (struct PROCESS_CONTEXT *)hPCtxt; DSP_STATUS status = DSP_SOK; - struct DMM_RES_OBJECT *pDMMList = pCtxt->pDMMList; - struct DMM_RES_OBJECT *pDMMRes = NULL; + struct DMM_MAP_OBJECT *pDMMList = pCtxt->dmm_map_list; + struct DMM_MAP_OBJECT *pDMMRes = NULL; GT_0trace(curTrace, GT_ENTER, "\nDRV_ProcFreeDMMRes: 1\n"); - while (pDMMList != NULL) { + while (pDMMList) { pDMMRes = pDMMList; pDMMList = pDMMList->next; if (pDMMRes->dmmAllocated) { @@ -315,32 +315,32 @@ DSP_STATUS DRV_RemoveAllDMMResElements(HANDLE hPCtxt) { struct PROCESS_CONTEXT *pCtxt = (struct PROCESS_CONTEXT *)hPCtxt; DSP_STATUS status = DSP_SOK; - struct DMM_RES_OBJECT *pTempDMMRes2 = NULL; - struct DMM_RES_OBJECT *pTempDMMRes = NULL; + struct DMM_MAP_OBJECT *pTempDMMRes2 = NULL; + struct DMM_MAP_OBJECT *pTempDMMRes = NULL; DRV_ProcFreeDMMRes(pCtxt); - pTempDMMRes = pCtxt->pDMMList; + pTempDMMRes = pCtxt->dmm_map_list; while (pTempDMMRes != NULL) { pTempDMMRes2 = pTempDMMRes; pTempDMMRes = pTempDMMRes->next; kfree(pTempDMMRes2); } - pCtxt->pDMMList = NULL; + pCtxt->dmm_map_list = NULL; return status; } DSP_STATUS DRV_GetDMMResElement(u32 pMapAddr, HANDLE hDMMRes, HANDLE hPCtxt) { struct PROCESS_CONTEXT *pCtxt = (struct PROCESS_CONTEXT *)hPCtxt; - struct DMM_RES_OBJECT **pDMMRes = (struct DMM_RES_OBJECT **)hDMMRes; + struct DMM_MAP_OBJECT **pDMMRes = (struct DMM_MAP_OBJECT **)hDMMRes; DSP_STATUS status = DSP_SOK; - struct DMM_RES_OBJECT *pTempDMM = NULL; + struct DMM_MAP_OBJECT *pTempDMM = NULL; - if (mutex_lock_interruptible(&pCtxt->dmm_mutex)) + if (mutex_lock_interruptible(&pCtxt->dmm_map_mutex)) return DSP_EFAIL; - pTempDMM = pCtxt->pDMMList; - while ((pTempDMM != NULL) && (pTempDMM->ulDSPAddr != pMapAddr)) { + pTempDMM = pCtxt->dmm_map_list; + while (pTempDMM && (pTempDMM->ulDSPAddr != pMapAddr)) { GT_3trace(curTrace, GT_ENTER, "DRV_GetDMMResElement: 2 pTempDMM:%x " "pTempDMM->ulDSPAddr:%x pMapAddr:%x\n", pTempDMM, @@ -348,14 +348,15 @@ DSP_STATUS DRV_GetDMMResElement(u32 pMapAddr, HANDLE hDMMRes, HANDLE hPCtxt) pTempDMM = pTempDMM->next; } - mutex_unlock(&pCtxt->dmm_mutex); + mutex_unlock(&pCtxt->dmm_map_mutex); - if (pTempDMM != NULL) { + if (pTempDMM) { GT_0trace(curTrace, GT_ENTER, "DRV_GetDMMResElement: 3"); *pDMMRes = pTempDMM; } else { status = DSP_ENOTFOUND; - } GT_0trace(curTrace, GT_ENTER, "DRV_GetDMMResElement: 4"); + GT_0trace(curTrace, GT_ENTER, "DRV_GetDMMResElement: 4"); + } return status; } diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c b/drivers/dsp/bridge/rmgr/drv_interface.c index f083ba7..e6a7eb7 100644 --- a/drivers/dsp/bridge/rmgr/drv_interface.c +++ b/drivers/dsp/bridge/rmgr/drv_interface.c @@ -499,7 +499,7 @@ static int bridge_open(struct inode *ip, struct file *filp) pr_ctxt = MEM_Calloc(sizeof(struct PROCESS_CONTEXT), MEM_PAGED); if (pr_ctxt) { pr_ctxt->resState = PROC_RES_ALLOCATED; - mutex_init(&pr_ctxt->dmm_mutex); + mutex_init(&pr_ctxt->dmm_map_mutex); mutex_init(&pr_ctxt->node_mutex); mutex_init(&pr_ctxt->strm_mutex); } else {