]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/mcbsp-lld.git/blobdiff - src/mcbsp_drv.c
PRSDK-3669 Fix CPP compiler error
[keystone-rtos/mcbsp-lld.git] / src / mcbsp_drv.c
index 2f06774f92d8378b2c89cc3866f2258327669a47..b9de43e92525c06f179c5eb580e1fdcc1f387623 100644 (file)
@@ -6,7 +6,7 @@
  * peripheral like device initialization, channel creation, control commands for
  * peripheral specific operations etc. It uses EDMA3 for data transfer.
  *
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2012 - 2018 Texas Instruments Incorporated - http://www.ti.com/
  *
  *
  *  Redistribution and use in source and binary forms, with or without
 /**
  * \brief  Array of Mcbsp instance State objects array
  */
+#ifdef __cplusplus
+#pragma DATA_SECTION (".mcbsp")
+#pragma DATA_ALIGN   (MCBSP_MAX_CACHE_ALIGN)
+#else
 #pragma DATA_SECTION (Mcbsp_Instances, ".mcbsp");
 #pragma DATA_ALIGN   (Mcbsp_Instances, MCBSP_MAX_CACHE_ALIGN)
+#endif
+
 Mcbsp_Object Mcbsp_Instances[CSL_MCBSP_PER_CNT];
 
 /**
@@ -71,8 +77,13 @@ Mcbsp_Object Mcbsp_Instances[CSL_MCBSP_PER_CNT];
 /* Shared Memory Variable to ensure synchronizing SRIO initialization
  * with all the other cores. */
 /* Created an array to pad the cache line with MCBSP_MAX_CACHE_ALIGN size */
+#ifdef __cplusplus
+#pragma DATA_SECTION (".mcbsp")
+#pragma DATA_ALIGN   (MCBSP_MAX_CACHE_ALIGN)
+#else
 #pragma DATA_SECTION (Mcbsp_deviceInstInfo, ".mcbsp");
 #pragma DATA_ALIGN   (Mcbsp_deviceInstInfo, MCBSP_MAX_CACHE_ALIGN)
+#endif
 Mcbsp_HwInfo Mcbsp_deviceInstInfo[CSL_MCBSP_PER_CNT];
 
 /**
@@ -80,8 +91,13 @@ Mcbsp_HwInfo Mcbsp_deviceInstInfo[CSL_MCBSP_PER_CNT];
  *
  *  \note   Buffer used when the mcbsp is placed in mute.
  */
+#ifdef __cplusplus
+#pragma DATA_SECTION (".mcbsp")
+#pragma DATA_ALIGN   (MCBSP_MAX_CACHE_ALIGN)
+#else
 #pragma DATA_SECTION (Mcbsp_muteBuf, ".mcbsp");
 #pragma DATA_ALIGN   (Mcbsp_muteBuf, MCBSP_MAX_CACHE_ALIGN)
+#endif
 Mcbsp_TempBuffer Mcbsp_muteBuf[CSL_MCBSP_PER_CNT];
 
 #ifdef MCBSP_LOOPJOB_ENABLE
@@ -90,8 +106,13 @@ Mcbsp_TempBuffer Mcbsp_muteBuf[CSL_MCBSP_PER_CNT];
  *
  * \note   Buffer used during the loop job mode for the Transmit section
  */
+#ifdef __cplusplus
+#pragma DATA_SECTION (".mcbsp")
+#pragma DATA_ALIGN   (MCBSP_MAX_CACHE_ALIGN)
+#else
 #pragma DATA_SECTION (Mcbsp_loopDstBuf, ".mcbsp");
 #pragma DATA_ALIGN   (Mcbsp_loopDstBuf, MCBSP_MAX_CACHE_ALIGN)
+#endif
 Mcbsp_TempBuffer Mcbsp_loopDstBuf[CSL_MCBSP_PER_CNT];
 
 /**
@@ -99,8 +120,13 @@ Mcbsp_TempBuffer Mcbsp_loopDstBuf[CSL_MCBSP_PER_CNT];
  *
  * \note   Buffer used during the loop job mode for the Receive section
  */
+#ifdef __cplusplus
+#pragma DATA_SECTION (".mcbsp")
+#pragma DATA_ALIGN   (MCBSP_MAX_CACHE_ALIGN)
+#else
 #pragma DATA_SECTION (Mcbsp_loopSrcBuf, ".mcbsp");
 #pragma DATA_ALIGN   (Mcbsp_loopSrcBuf, MCBSP_MAX_CACHE_ALIGN)
+#endif
 Mcbsp_TempBuffer Mcbsp_loopSrcBuf[CSL_MCBSP_PER_CNT];
 #endif /* MCBSP_LOOPJOB_ENABLE */
 
@@ -1304,7 +1330,7 @@ int32_t mcbspSubmitReq(Mcbsp_Object_Unpadded *instHandle,
              * queue                                                          */
             chanHandle->submitCount++;
 
-            Mcbsp_osalQueuePut(chanHandle->ptrQPendList,(void*)ioBuf);
+            Mcbsp_osalQueuePut(chanHandle->ptrQPendList, (Mcbsp_QueueElem *)ioBuf);
 
             /* critical section ends                                          */
             Mcbsp_osalExitSingleCoreCriticalSection(criticalSectionInfo);
@@ -1316,7 +1342,7 @@ int32_t mcbspSubmitReq(Mcbsp_Object_Unpadded *instHandle,
             /* increment the submit count                                     */
             chanHandle->submitCount++;
 
-            Mcbsp_osalQueuePut(chanHandle->ptrQFloatList, (void*)ioBuf);
+            Mcbsp_osalQueuePut(chanHandle->ptrQFloatList, (Mcbsp_QueueElem *)ioBuf);
 
             Mcbsp_localLoadPktToEdma(chanHandle,ioBuf);
 
@@ -2158,7 +2184,7 @@ void Mcbsp_localAbortReset(Mcbsp_ChannelObj *chanHandle)
          * param table and return the actual transfer element count           */
         while (TRUE !=  Mcbsp_osalQueueEmpty(chanHandle->ptrQFloatList))
         {
-            ioBuf = Mcbsp_osalQueueGet(chanHandle->ptrQFloatList);
+            ioBuf = (Mcbsp_IOBuf *) Mcbsp_osalQueueGet(chanHandle->ptrQFloatList);
 
             if (NULL != ioBuf)
             {
@@ -2187,7 +2213,7 @@ void Mcbsp_localAbortReset(Mcbsp_ChannelObj *chanHandle)
         /* Empty the pending queue                                            */
         while (TRUE != Mcbsp_osalQueueEmpty(chanHandle->ptrQPendList))
         {
-            ioBuf = Mcbsp_osalQueueGet(chanHandle->ptrQPendList);
+            ioBuf = (Mcbsp_IOBuf *) Mcbsp_osalQueueGet(chanHandle->ptrQPendList);
 
             if (NULL != ioBuf)
             {
@@ -2445,7 +2471,7 @@ void Mcbsp_TxFifo(int32_t arg0, int32_t arg1)
         chanHandle->xferChan);
 
     /* complete the IOP now and call the callback to the stream               */
-    chanHandle->tempIOBuf = Mcbsp_osalQueueGet(chanHandle->ptrQFloatList);
+    chanHandle->tempIOBuf = (Mcbsp_IOBuf *) Mcbsp_osalQueueGet(chanHandle->ptrQFloatList);
 
     /* Decrement the submit count for the IO buffers                          */
     chanHandle->submitCount--;