summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bf177a4)
raw | patch | inline | side by side (parent: bf177a4)
author | Raghu Nambiath <rnambiath@ti.com> | |
Fri, 29 Jun 2012 20:17:53 +0000 (16:17 -0400) | ||
committer | Raghu Nambiath <rnambiath@ti.com> | |
Fri, 29 Jun 2012 20:17:53 +0000 (16:17 -0400) |
Added all Benchmark code in PKTIO under define
index 37fc459ad22b56ebe1bf2d31abd7be88fce9348a..6a4d29aa2d632311f8bad21012a1ccbe9fc8b863 100755 (executable)
/*------------internal prototypes---------------*/
static uint8_t* netapiSharedMemoryMalloc(uint32_t size);
/*------------internal prototypes---------------*/
static uint8_t* netapiSharedMemoryMalloc(uint32_t size);
-static void netapiSharedMemoryFree(uint8_t* ptr);
+static void netapiSharedMemoryFree(uint8_t* ptr, uint32_t size);
static int system_init(NETAPI_HANDLE_T *);
static void get_presets(PRESET_T * p_preset);
static void netapi_cleanup_at_start(void);
static int system_init(NETAPI_HANDLE_T *);
static void get_presets(PRESET_T * p_preset);
static void netapi_cleanup_at_start(void);
return (uint8_t *)netapi_VM_memAlloc(size +netapi_global.cfg.def_heap_extra_size , 128);
}
return (uint8_t *)netapi_VM_memAlloc(size +netapi_global.cfg.def_heap_extra_size , 128);
}
-static void netapiSharedMemoryFree(uint8_t* ptr)
+static void netapiSharedMemoryFree(uint8_t* ptr, uint32_t size)
{
/* Do Nothing. */
printf(">netapi Unexpected. need to provide a free () for some reason!! \n");
{
/* Do Nothing. */
printf(">netapi Unexpected. need to provide a free () for some reason!! \n");
index f6091bf470f99b3c00ac231f36d4c3d3787b3a42..329cf9682f58a26f9e359c2fc3d0b90cceabf28b 100755 (executable)
register unsigned int v2;
v1= netapi_timing_stop();
register unsigned int v2;
v1= netapi_timing_stop();
- if ((blockPtr <netapi_VM_mem_start)||( blockPtr>netapi_VM_mem_end)) return;
+ if (((uint8_t*)blockPtr <netapi_VM_mem_start)||( (uint8_t*)blockPtr>netapi_VM_mem_end)) return;
_netapi_utilCacheInv(blockPtr, size);
v2= netapi_timing_stop();
cache_op_cycles += (v2-v1);
_netapi_utilCacheInv(blockPtr, size);
v2= netapi_timing_stop();
cache_op_cycles += (v2-v1);
index f196c45a8a7dcd6c21b7ca1239eb482e2f584d2b..b5c41d20e7f343282569ccf4c4ce49a3ba23f210 100755 (executable)
#include <string.h>
#include "netapi.h"
#include <string.h>
#include "netapi.h"
-#define DO_BENCH
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
/* for benchmarking .. need to be defined somewhere */
/* for benchmarking .. need to be defined somewhere */
-extern unsigned int vv7p;
-extern unsigned int vv8p;
-extern unsigned int vv9p;
-extern unsigned int vv10p;
-extern unsigned int vv11p;
-extern unsigned int vv12p;
-extern unsigned int vv13p; //rcv path
-extern unsigned int vv14p;
-extern unsigned int vv15p;
-
-
-#ifdef DAL_BENCH
-unsigned int pktio_get_qop_time(){return (BENCH_get_qop_time());}
-unsigned int pktio_get_qpush_time(){return (BENCH_get_qpush_time());}
-unsigned int pktio_get_pa2va_time(){return BENCH_get_pa2va_time();}
-#else
-unsigned int pktio_get_qop_time(){return 0;}
-unsigned int pktio_get_qpush_time(){return 0;}
-unsigned int pktio_get_pa2va_time(){return 0;}
-#endif
+unsigned int vv7p;
+unsigned int vv8p;
+unsigned int vv9p;
+unsigned int vv10p;
+unsigned int vv11p;
+unsigned int vv12p;
+unsigned int vv13p; //rcv path
+unsigned int vv14p;
+unsigned int vv15p;
#endif
/*--------------------Utilites-----------------*/
#endif
/*--------------------Utilites-----------------*/
@@ -100,15 +88,12 @@ static int pktio_send_ipc(struct PKTIO_HANDLE_tag * pp, Ti_Pkt *pkt, PKTIO_METAD
{
PKTIO_HANDLE_T *p=(PKTIO_HANDLE_T*) pp;
*err=0;
{
PKTIO_HANDLE_T *p=(PKTIO_HANDLE_T*) pp;
*err=0;
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
vv8p=netapi_timing_stop();
#endif
vv8p=netapi_timing_stop();
#endif
-#ifdef DAL_BENCH
- BENCH_Qmss_queuePushDesc (p->q, (void*)pkt);
-#else
Qmss_queuePushDesc (p->q, (void*)pkt);
Qmss_queuePushDesc (p->q, (void*)pkt);
-#endif
-#ifdef DO_BENCH
+
+#ifdef PKTIO_GET_BENCHMARK
vv9p=netapi_timing_stop();
#endif
return 1;
vv9p=netapi_timing_stop();
#endif
return 1;
@@ -123,11 +108,11 @@ static int pktio_send_nwal(struct PKTIO_HANDLE_tag * pp, Ti_Pkt *pkt, PKTIO_META
nwal_RetValue res;
*err=0;
pPktInfo->pPkt = pkt;
nwal_RetValue res;
*err=0;
pPktInfo->pPkt = pkt;
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
vv11p=netapi_timing_stop();
#endif
res=nwal_send(p->nwalInstanceHandle, m->sa_handle,pPktInfo);
vv11p=netapi_timing_stop();
#endif
res=nwal_send(p->nwalInstanceHandle, m->sa_handle,pPktInfo);
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
vv12p=netapi_timing_stop();
#endif
if (res != nwal_OK) { *err = NETAPI_ERR_NWAL_TX_ERR -res;}
vv12p=netapi_timing_stop();
#endif
if (res != nwal_OK) { *err = NETAPI_ERR_NWAL_TX_ERR -res;}
n= (p->max_n< PKTIO_MAX_RECV) ? p->max_n : PKTIO_MAX_RECV;
for(r=0;r<n;r++)
{
n= (p->max_n< PKTIO_MAX_RECV) ? p->max_n : PKTIO_MAX_RECV;
for(r=0;r<n;r++)
{
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
if (r==0) vv7p=netapi_timing_stop();
#endif
if (r==0) vv7p=netapi_timing_stop();
#endif
-#ifdef DAL_BENCH
- temp=(Ti_Pkt*)(Cppi_HostDesc*)QMSS_DESC_PTR(BENCH_Qmss_queuePop(p->q));
-#else
temp=(Ti_Pkt*)(Cppi_HostDesc*)QMSS_DESC_PTR(Qmss_queuePop(p->q));
temp=(Ti_Pkt*)(Cppi_HostDesc*)QMSS_DESC_PTR(Qmss_queuePop(p->q));
-#endif
-#ifdef DO_BENCH
+
+#ifdef PKTIO_GET_BENCHMARK
if (r==0) vv10p=netapi_timing_stop();
#endif
if(!temp) break;
if (r==0) vv10p=netapi_timing_stop();
#endif
if(!temp) break;
*err=0;
/* Poll for common L2/L3 packets and L4 class pkts (todo-> only do L4 if classifiers are
set.. optimizaion maybe? */
*err=0;
/* Poll for common L2/L3 packets and L4 class pkts (todo-> only do L4 if classifiers are
set.. optimizaion maybe? */
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
vv13p=netapi_timing_stop();
#endif
r=nwal_pollPkt(p->nwalInstanceHandle,
vv13p=netapi_timing_stop();
#endif
r=nwal_pollPkt(p->nwalInstanceHandle,
*err=0;
/* Poll for common L2/L3 packets and L4 class pkts (todo-> only do L4 if classifiers are
set.. optimizaion maybe? */
*err=0;
/* Poll for common L2/L3 packets and L4 class pkts (todo-> only do L4 if classifiers are
set.. optimizaion maybe? */
-#ifdef DO_BENCH
+#ifdef PKTIO_GET_BENCHMARK
vv14p=netapi_timing_stop();
#endif
r=nwal_pollPkt(p->nwalInstanceHandle,
vv14p=netapi_timing_stop();
#endif
r=nwal_pollPkt(p->nwalInstanceHandle,
/***********************************************************/
int pktio_send_genric(PKTIO_HANDLE_T * p, Ti_Pkt *pkt, PKTIO_METADATA_T *m, int * err)
{
/***********************************************************/
int pktio_send_genric(PKTIO_HANDLE_T * p, Ti_Pkt *pkt, PKTIO_METADATA_T *m, int * err)
{
- nwalTxPktInfo_t * pPktInfo=m->u.tx_meta;
- nwal_RetValue res;
- *err=0;
- if(! (p->cfg.flags1&PKTIO_W)) return 0;
- if ((p->use_nwal== PKTIO_DEF_NWAL) )
- {
- pPktInfo->pPkt = pkt;
- vv11p=netapi_timing_stop();
- res=nwal_send(p->nwalInstanceHandle, m->sa_handle,pPktInfo);
- vv12p=netapi_timing_stop();
- if (res != nwal_OK) { printf("nwal send err= %d (%x)\n", res, res); *err = NETAPI_ERR_NWAL_TX_ERR -res;}
- }
+ nwalTxPktInfo_t * pPktInfo=m->u.tx_meta;
+ nwal_RetValue res;
+ *err=0;
+ if(! (p->cfg.flags1&PKTIO_W)) return 0;
+ if ((p->use_nwal== PKTIO_DEF_NWAL) )
+ {
+ pPktInfo->pPkt = pkt;
+#ifdef PKTIO_GET_BENCHMARK
+ vv11p=netapi_timing_stop();
+#endif
+ res=nwal_send(p->nwalInstanceHandle, m->sa_handle,pPktInfo);
+#ifdef PKTIO_GET_BENCHMARK
+ vv12p=netapi_timing_stop();
+#endif
+ if (res != nwal_OK) { printf("nwal send err= %d (%x)\n", res, res); *err = NETAPI_ERR_NWAL_TX_ERR -res;}
+ }
else if ((p->use_nwal== PKTIO_DEF_SB) )
{
else if ((p->use_nwal== PKTIO_DEF_SB) )
{
- nwalDmTxPayloadInfo_t *pPktInfoSB = m->u.tx_sb_meta;
+ nwalDmTxPayloadInfo_t *pPktInfoSB = m->u.tx_sb_meta;
pPktInfoSB->pPkt = pkt;
res=nwal_sendDM(p->nwalInstanceHandle, m->sa_handle,pPktInfoSB);
if (res != nwal_OK) *err = NETAPI_ERR_NWAL_TX_ERR -res;
}
pPktInfoSB->pPkt = pkt;
res=nwal_sendDM(p->nwalInstanceHandle, m->sa_handle,pPktInfoSB);
if (res != nwal_OK) *err = NETAPI_ERR_NWAL_TX_ERR -res;
}
- else
- {
+ else
+ {
/* tod: meta data for non netcp xfers */
/* tod: meta data for non netcp xfers */
- /* process meta data */
- vv8p=netapi_timing_stop();
-#ifdef DAL_BENCH
- BENCH_Qmss_queuePushDesc (p->q, (void*)pkt);
-#else
- Qmss_queuePushDesc (p->q, (void*)pkt);
+ /* process meta data */
+#ifdef PKTIO_GET_BENCHMARK
+ vv8p=netapi_timing_stop();
#endif
#endif
- vv9p=netapi_timing_stop();
- }
- return 1;
+ Qmss_queuePushDesc (p->q, (void*)pkt);
+
+#ifdef PKTIO_GET_BENCHMARK
+ vv9p=netapi_timing_stop();
+#endif
+ }
+ return 1;
}
/***********************************************************/
}
/***********************************************************/
{
/* Poll for common L2/L3 packets and L4 class pkts (todo-> only do L4 if classifiers are
set.. optimizaion maybe? */
{
/* Poll for common L2/L3 packets and L4 class pkts (todo-> only do L4 if classifiers are
set.. optimizaion maybe? */
- vv13p=netapi_timing_stop();
+#ifdef PKTIO_GET_BENCHMARK
+ vv13p=netapi_timing_stop();
+#endif
r=nwal_pollPkt(p->nwalInstanceHandle,
nwal_POLL_DEFAULT_GLOB_PKT_Q| nwal_POLL_DEFAULT_PER_PROC_PKT_Q,
(uint32_t) p,
r=nwal_pollPkt(p->nwalInstanceHandle,
nwal_POLL_DEFAULT_GLOB_PKT_Q| nwal_POLL_DEFAULT_PER_PROC_PKT_Q,
(uint32_t) p,
else if (p->use_nwal==PKTIO_4_ADJ_NWAL)
{
/* Poll an additional NETCP RX queue */
else if (p->use_nwal==PKTIO_4_ADJ_NWAL)
{
/* Poll an additional NETCP RX queue */
- vv14p=netapi_timing_stop();
+#ifdef PKTIO_GET_BENCHMARK
+ vv14p=netapi_timing_stop();
+#endif
r=nwal_pollPkt(p->nwalInstanceHandle,
nwal_POLL_APP_MANAGED_PKT_Q,
(uint32_t) p,
r=nwal_pollPkt(p->nwalInstanceHandle,
nwal_POLL_APP_MANAGED_PKT_Q,
(uint32_t) p,
n= (p->max_n< PKTIO_MAX_RECV) ? p->max_n : PKTIO_MAX_RECV;
for(r=0;r<n;r++)
{
n= (p->max_n< PKTIO_MAX_RECV) ? p->max_n : PKTIO_MAX_RECV;
for(r=0;r<n;r++)
{
- if (r==0) vv7p=netapi_timing_stop();
-#ifdef DAL_BENCH
- temp=(Ti_Pkt*)(Cppi_HostDesc*)QMSS_DESC_PTR(BENCH_Qmss_queuePop(p->q));
-#else
+#ifdef PKTIO_GET_BENCHMARK
+ if (r==0) vv7p=netapi_timing_stop();
+#endif
temp=(Ti_Pkt*)(Cppi_HostDesc*)QMSS_DESC_PTR(Qmss_queuePop(p->q));
temp=(Ti_Pkt*)(Cppi_HostDesc*)QMSS_DESC_PTR(Qmss_queuePop(p->q));
+
+#ifdef PKTIO_GET_BENCHMARK
+ if (r==0) vv10p=netapi_timing_stop();
#endif
#endif
- if (r==0) vv10p=netapi_timing_stop();
if(!temp) break;
/* process meta data */
pkt_list[r]= temp;
if(!temp) break;
/* process meta data */
pkt_list[r]= temp;
int n;
Ti_Pkt * pkt_list[PKTIO_MAX_RECV];
PKTIO_METADATA_T meta_s[PKTIO_MAX_RECV];
int n;
Ti_Pkt * pkt_list[PKTIO_MAX_RECV];
PKTIO_METADATA_T meta_s[PKTIO_MAX_RECV];
+
+#ifdef PKTIO_GET_BENCHMARK
vv15p=netapi_timing_stop();
vv15p=netapi_timing_stop();
+#endif
for(r=0;r<numPkts;r++)
{
pkt_list[r] = pPktInfo[r].pPkt;
for(r=0;r<numPkts;r++)
{
pkt_list[r] = pPktInfo[r].pPkt;
index 15ba20ca2e54d584459e6fea5b8f6f0aa4bde206..3e31adcb7ede9cdaea66a4352562ab086204133e 100644 (file)
unsigned int vv5;
unsigned int vv6;
//these are updated by pktio.
unsigned int vv5;
unsigned int vv6;
//these are updated by pktio.
-unsigned int vv7p;
-unsigned int vv8p;
-unsigned int vv9p;
-unsigned int vv10p;
-unsigned int vv11p;
-unsigned int vv12p;
+#ifdef PKTIO_GET_BENCHMARK
+extern unsigned int vv7p;
+extern unsigned int vv8p;
+extern unsigned int vv9p;
+extern unsigned int vv10p;
+extern unsigned int vv11p;
+extern unsigned int vv12p;
+
+extern unsigned int vv13p; //rcv path
+extern unsigned int vv14p;
+extern unsigned int vv15p;
+#endif
unsigned int vv11;
unsigned int vv11;
-unsigned int vv13p; //rcv path
-unsigned int vv14p;
-unsigned int vv15p;
-
extern unsigned int nwal_prof1,nwal_prof2,nwal_prof3,nwal_prof4,nwal_prof5,nwal_prof6;
//#define REASSEMBLE_BENCH
extern unsigned int nwal_prof1,nwal_prof2,nwal_prof3,nwal_prof4,nwal_prof5,nwal_prof6;
//#define REASSEMBLE_BENCH
vv5= netapi_timing_stop();
timings[0]+=(vv6-vv4);
timings[1]+=(vv5-vv4);
vv5= netapi_timing_stop();
timings[0]+=(vv6-vv4);
timings[1]+=(vv5-vv4);
- timings[2]+=(vv7p-vv4);
- timings[3]+=(vv4-vv3);
- timings[4]+=(vv8p-vv3);
+ timings[3]+=(vv4-vv3);
timings[5]+=(vv3-vv1);
timings[5]+=(vv3-vv1);
+ timings[8]+=(vv11-vv6);
+
+#ifdef PKTIO_GET_BENCHMARK
+ timings[2]+=(vv7p-vv4);
+ timings[4]+=(vv8p-vv3);
timings[6]+=(vv9p-vv8p);
timings[7]+=(vv10p-vv7p);
timings[6]+=(vv9p-vv8p);
timings[7]+=(vv10p-vv7p);
- timings[8]+=(vv11-vv6);
+#endif
}
}
+
+#ifdef PKTIO_GET_BENCHMARK
printf("pktio bench. rx=%d (wcb%d) (toqm%d) tx=%d (toqm%d) alloc=%d qpush=%d qpop=%d free=%d\n", timings[0]/ntrials,
timings[1]/ntrials, timings[2]/ntrials,timings[3]/ntrials, timings[4]/ntrials,timings[5]/ntrials,
timings[6]/ntrials,timings[7]/ntrials, timings[8]/ntrials );
printf("pktio bench. rx=%d (wcb%d) (toqm%d) tx=%d (toqm%d) alloc=%d qpush=%d qpop=%d free=%d\n", timings[0]/ntrials,
timings[1]/ntrials, timings[2]/ntrials,timings[3]/ntrials, timings[4]/ntrials,timings[5]/ntrials,
timings[6]/ntrials,timings[7]/ntrials, timings[8]/ntrials );
- printf("raw qpop = %d raw qpush = %d pa2va = %d ", pktio_get_qop_time(),
- pktio_get_qpush_time(),
- pktio_get_pa2va_time());
-{
- unsigned int ccycles;
- int n_c_ops;
- ccycles =Osal_cache_op_measure(&n_c_ops);
- printf("n_c_ops=%d cache_op_time=%d (total) = %d (pp)\n", n_c_ops, ccycles, n_c_ops? (ccycles/(n_c_ops)) : 0);
-}
+ {
+ unsigned int ccycles;
+ int n_c_ops;
+ ccycles =Osal_cache_op_measure(&n_c_ops);
+ printf("n_c_ops=%d cache_op_time=%d (total) = %d (pp)\n", n_c_ops, ccycles, n_c_ops? (ccycles/(n_c_ops)) : 0);
+ }
+#endif
}
/*-----------test driver: gen an input pkt------- */
}
/*-----------test driver: gen an input pkt------- */
len = Pktlib_getPacketLen(tip);//real length
//is this a decrypt (rx_tunnel) complete
len = Pktlib_getPacketLen(tip);//real length
//is this a decrypt (rx_tunnel) complete
- if (meta[i].u.rx_sb_meta->appId == rx_tunnel)
+ if ((int)meta[i].u.rx_sb_meta->appId == rx_tunnel)
{
stats.sb_rx+=1;
//copy hash out of meta data (for some reason it needs endian conversion)
{
stats.sb_rx+=1;
//copy hash out of meta data (for some reason it needs endian conversion)
if(stats.sb_rx<=16)
{
char *tp = (char *) &hash[0];
if(stats.sb_rx<=16)
{
char *tp = (char *) &hash[0];
- dump_header((long*)p_pkt, stats.sb_rx, meta[i].u.rx_sb_meta->appId,0);
+ dump_header((long*)p_pkt, stats.sb_rx, (int)meta[i].u.rx_sb_meta->appId,0);
printf("tag in pkt=%x %x %x %x %x %x %x %x %x %x %x %x\n",
p_pkt[len-12],p_pkt[len-11],p_pkt[len-10],p_pkt[len-9], p_pkt[len-8],
p_pkt[len-7],p_pkt[len-6],
printf("tag in pkt=%x %x %x %x %x %x %x %x %x %x %x %x\n",
p_pkt[len-12],p_pkt[len-11],p_pkt[len-10],p_pkt[len-9], p_pkt[len-8],
p_pkt[len-7],p_pkt[len-6],
flip_and_send_pkt(tip, p_pkt, len,1); //flip packet to echo back and send
}
//this is an encrypt (tx tunnel) complete
flip_and_send_pkt(tip, p_pkt, len,1); //flip packet to echo back and send
}
//this is an encrypt (tx tunnel) complete
- else if(meta[i].u.rx_sb_meta->appId== tx_tunnel )
+ else if((int)meta[i].u.rx_sb_meta->appId== tx_tunnel )
{
hash[0]= htonl( meta[i].u.rx_sb_meta->pAuthTag[0]);
hash[1]= htonl( meta[i].u.rx_sb_meta->pAuthTag[1]);
{
hash[0]= htonl( meta[i].u.rx_sb_meta->pAuthTag[0]);
hash[1]= htonl( meta[i].u.rx_sb_meta->pAuthTag[1]);
if(stats.sb_tx<=16)
{
char *tp1 = (char *) &hash[0];
if(stats.sb_tx<=16)
{
char *tp1 = (char *) &hash[0];
- dump_header((long*)p_pkt, stats.sb_tx, meta[i].u.rx_sb_meta->appId,0);
+ dump_header((long*)p_pkt, stats.sb_tx, (int)meta[i].u.rx_sb_meta->appId,0);
printf("tag in original rx pkt=%x %x %x %x %x %x %x %x %x %x %x %x\n",
p_pkt[len-12],p_pkt[len-11],p_pkt[len-10],p_pkt[len-9], p_pkt[len-8],
p_pkt[len-7],p_pkt[len-6],
printf("tag in original rx pkt=%x %x %x %x %x %x %x %x %x %x %x %x\n",
p_pkt[len-12],p_pkt[len-11],p_pkt[len-10],p_pkt[len-9], p_pkt[len-8],
p_pkt[len-7],p_pkt[len-6],
#endif
if(stats.rx<=16)
{
#endif
if(stats.rx<=16)
{
- dump_header((long*)p_pkt, stats.rx, meta[i].u.rx_meta->appId,meta[i].u.rx_meta->rxFlag1);
+ dump_header((long*)p_pkt, stats.rx, (int)meta[i].u.rx_meta->appId,meta[i].u.rx_meta->rxFlag1);
}
/* check header */
memcpy(p_head,&p_pkt[14],sizeof(HEAD_T));
}
/* check header */
memcpy(p_head,&p_pkt[14],sizeof(HEAD_T));
#include "ti/drv/nwal/nwal_util.h"
#define M 1008
#include "ti/drv/nwal/nwal_util.h"
#define M 1008
-static int l3_off[M], l4_off[M], L3_chk_ok[M], L4_chk_ok[M], appid[M], len[M] ;
+static int l3_off[M], l4_off[M], L3_chk_ok[M], L4_chk_ok[M], len[M] ;
+static nwal_AppId appid[M];
static unsigned char * buf[M];
#define N2POLL 8 //batch size
void example_fast_poll( PKTIO_HANDLE_T * p_pktio)
static unsigned char * buf[M];
#define N2POLL 8 //batch size
void example_fast_poll( PKTIO_HANDLE_T * p_pktio)
//tempVA=Qmss_osalConvertDescPhyToVirt(pHd[k]);
tempVA = Osal_qmssPhyToVirt(pHd[k]);
//tempVA=Qmss_osalConvertDescPhyToVirt(pHd[k]);
tempVA = Osal_qmssPhyToVirt(pHd[k]);
- freeQ=Qmss_getQueueHandle(Cppi_getReturnQueue (Cppi_DescType_HOST, tempVA));
+ freeQ=Qmss_getQueueHandle(Cppi_getReturnQueue (Cppi_DescType_HOST, (Cppi_Desc *)tempVA));
netapi_utilCacheWbInv(tempVA,128);
//would need to wbInv buffer also in practice. Also need to walk
// descriptor chain
netapi_utilCacheWbInv(tempVA,128);
//would need to wbInv buffer also in practice. Also need to walk
// descriptor chain