Both functions are almost same structure except its flag passed to
MEM_FlushCache().

Signed-off-by: Hiroshi DOYU <hiroshi.d...@nokia.com>
---
 drivers/dsp/bridge/rmgr/proc.c |   82 ++++++++++++++++++---------------------
 1 files changed, 38 insertions(+), 44 deletions(-)

diff --git a/drivers/dsp/bridge/rmgr/proc.c b/drivers/dsp/bridge/rmgr/proc.c
index f6045bb..3a2879f 100644
--- a/drivers/dsp/bridge/rmgr/proc.c
+++ b/drivers/dsp/bridge/rmgr/proc.c
@@ -735,39 +735,51 @@ DSP_STATUS PROC_EnumNodes(DSP_HPROCESSOR hProcessor, OUT 
DSP_HNODE *aNodeTab,
        return status;
 }
 
-/*
- *  ======== PROC_FlushMemory ========
- *  Purpose:
- *     Flush cache
- */
-DSP_STATUS PROC_FlushMemory(DSP_HPROCESSOR hProcessor, void *pMpuAddr,
-                          u32 ulSize, u32 ulFlags)
+
+static DSP_STATUS proc_memory_sync(DSP_HPROCESSOR hProcessor, void *pMpuAddr,
+                                  u32 ulSize, u32 ulFlags,
+                                  enum DSP_FLUSHTYPE FlushMemType)
 {
        /* Keep STATUS here for future additions to this function */
        DSP_STATUS status = DSP_SOK;
-       enum DSP_FLUSHTYPE FlushMemType = PROC_WRITEBACK_INVALIDATE_MEM;
        struct PROC_OBJECT *pProcObject = (struct PROC_OBJECT *)hProcessor;
+
        DBC_Require(cRefs > 0);
+       GT_5trace(PROC_DebugMask, GT_ENTER,
+                 "Entered %s, args:\n\t"
+                 "hProcessor: 0x%x pMpuAddr: 0x%x ulSize 0x%x, ulFlags 0x%x\n",
+                 __func__, hProcessor, pMpuAddr, ulSize, ulFlags);
 
-       GT_4trace(PROC_DebugMask, GT_ENTER,
-                "Entered PROC_FlushMemory, args:\n\t"
-                "hProcessor: 0x%x pMpuAddr: 0x%x ulSize 0x%x, ulFlags 0x%x\n",
-                hProcessor, pMpuAddr, ulSize, ulFlags);
-       if (MEM_IsValidHandle(pProcObject, PROC_SIGNATURE)) {
-               /* Critical section */
-               (void)SYNC_EnterCS(hProcLock);
-               MEM_FlushCache(pMpuAddr, ulSize, FlushMemType);
-               (void)SYNC_LeaveCS(hProcLock);
-       } else {
+       if (!MEM_IsValidHandle(pProcObject, PROC_SIGNATURE)) {
+               GT_1trace(PROC_DebugMask, GT_7CLASS,
+                         "%s: InValid Processor Handle\n", __func__);
                status = DSP_EHANDLE;
-               GT_0trace(PROC_DebugMask, GT_7CLASS, "PROC_FlushMemory: "
-                        "InValid Processor Handle \n");
+               goto err_out;
        }
-       GT_1trace(PROC_DebugMask, GT_ENTER, "Leaving PROC_FlushMemory [0x%x]",
-                status);
+
+       (void)SYNC_EnterCS(hProcLock);
+       MEM_FlushCache(pMpuAddr, ulSize, FlushMemType);
+       (void)SYNC_LeaveCS(hProcLock);
+
+err_out:
+       GT_2trace(PROC_DebugMask, GT_ENTER,
+                 "Leaving %s [0x%x]", __func__, status);
+
        return status;
 }
 
+/*
+ *  ======== PROC_FlushMemory ========
+ *  Purpose:
+ *     Flush cache
+ */
+DSP_STATUS PROC_FlushMemory(DSP_HPROCESSOR hProcessor, void *pMpuAddr,
+                           u32 ulSize, u32 ulFlags)
+{
+       enum DSP_FLUSHTYPE mtype = PROC_WRITEBACK_INVALIDATE_MEM;
+
+       return proc_memory_sync(hProcessor, pMpuAddr, ulSize, ulFlags, mtype);
+}
 
 /*
  *  ======== PROC_InvalidateMemory ========
@@ -775,29 +787,11 @@ DSP_STATUS PROC_FlushMemory(DSP_HPROCESSOR hProcessor, 
void *pMpuAddr,
  *     Invalidates the memory specified
  */
 DSP_STATUS PROC_InvalidateMemory(DSP_HPROCESSOR hProcessor, void *pMpuAddr,
-                               u32 ulSize)
+                                u32 ulSize)
 {
-       /* Keep STATUS here for future additions to this function */
-       DSP_STATUS status = DSP_SOK;
-       enum DSP_FLUSHTYPE FlushMemType = PROC_INVALIDATE_MEM;
-       struct PROC_OBJECT *pProcObject = (struct PROC_OBJECT *)hProcessor;
-       DBC_Require(cRefs > 0);
-       GT_3trace(PROC_DebugMask, GT_ENTER,
-                "Entered PROC_InvalidateMemory, args:\n\t"
-                "hProcessor: 0x%x pMpuAddr: 0x%x ulSize 0x%x\n", hProcessor,
-                pMpuAddr, ulSize);
-       if (MEM_IsValidHandle(pProcObject, PROC_SIGNATURE)) {
-               (void)SYNC_EnterCS(hProcLock);
-               MEM_FlushCache(pMpuAddr, ulSize, FlushMemType);
-               (void)SYNC_LeaveCS(hProcLock);
-       } else {
-               status = DSP_EHANDLE;
-               GT_0trace(PROC_DebugMask, GT_7CLASS, "PROC_InvalidateMemory: "
-                        "InValid Processor Handle \n");
-       }
-       GT_1trace(PROC_DebugMask, GT_ENTER,
-                "Leaving PROC_InvalidateMemory [0x%x]", status);
-       return status;
+       enum DSP_FLUSHTYPE mtype = PROC_INVALIDATE_MEM;
+
+       return proc_memory_sync(hProcessor, pMpuAddr, ulSize, 0, mtype);
 }
 
 /*
-- 
1.6.0.4

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

Reply via email to