From 9d1e7f7da4f64bb4d272d757d897d5feb74ddd65 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Wed, 6 Aug 2003 18:02:27 +0000 Subject: [PATCH] Remove some dead code. Clean up code for handling A24 DMA memory. --- src/drv/old/drvGpib.c | 76 ++++++++++++------------------------------- 1 file changed, 20 insertions(+), 56 deletions(-) diff --git a/src/drv/old/drvGpib.c b/src/drv/old/drvGpib.c index eeac945cd..62b47b477 100644 --- a/src/drv/old/drvGpib.c +++ b/src/drv/old/drvGpib.c @@ -106,14 +106,12 @@ STATIC int pollIb(struct ibLink *plink, int gpibAddr, int verbose, int time); STATIC int HiDEOSGpibRead(struct ibLink *pibLink, int DevAddr, char *Buf, int BufLen, int time, int Eos); STATIC int HiDEOSGpibWrite(struct ibLink *pibLink, int DevAddr, char *Buf, int BufLen, int time); STATIC int HiDEOSGpibCmd(struct ibLink *pibLink, char *Buf, int BufLen); -STATIC int HiDEOSCheckLink(int link); STATIC int HiDEOSSrqPollInhibit(int link, int gpibAddr); STATIC int HiDEOSGpibIoctl(int link, int cmd, int v, void *p); STATIC int bbGpibRead(struct ibLink *pibLink, int device, char *buffer, int length, int time); STATIC int bbGpibWrite(struct ibLink *pibLink, int device, char *buffer, int length, int time); STATIC int bbGpibCmd(struct ibLink *pibLink, char *buffer, int length); -STATIC int bbCheckLink(int link, int bug); STATIC int bbSrqPollInhibit(int link, int bug, int gpibAddr); STATIC int bbGpibIoctl(int link, int bug, int cmd, int v, caddr_t p); @@ -435,7 +433,8 @@ STATIC long initGpib(void) pNiLink[i]->cmdSpins = 0; pNiLink[i]->maxSpins = 0; - if ((pNiLink[i]->DmaStuff = (DmaStuffStruct *)devLibA24Malloc(sizeof(DmaStuffStruct))) == NULL) + pNiLink[i]->DmaStuff = (DmaStuffStruct *)devLibA24Malloc(sizeof(DmaStuffStruct)); + if (pNiLink[i]->DmaStuff == NULL) { /* This better never happen! */ logMsg("initGpib(): Can't malloc A24 memory for DMAC control structures!\n", 0, 0, 0, 0, 0, 0); return(ERROR); @@ -460,6 +459,10 @@ STATIC long initGpib(void) { /* 7210 TLC setup */ + /* attach the interrupt handler routines */ + intConnect(INUM_TO_IVEC(NIGPIB_IVEC_BASE+i*2), niIrq, i); + intConnect(INUM_TO_IVEC(NIGPIB_IVEC_BASE+(i*2)+1), niIrqError, i); + /* clear status regs by reading them */ s = pNiLink[i]->ibregs->cptr; pNiLink[i]->r_isr1 = pNiLink[i]->ibregs->isr1; @@ -498,11 +501,6 @@ STATIC long initGpib(void) pNiLink[i]->ibregs->ch0.mfc = STD_ADDRESS_MODE; pNiLink[i]->ibregs->ch1.mfc = STD_ADDRESS_MODE; pNiLink[i]->ibregs->ch1.bfc = STD_ADDRESS_MODE; - - - /* attach the interrupt handler routines */ - intConnect(INUM_TO_IVEC(NIGPIB_IVEC_BASE+i*2), niIrq, i); - intConnect(INUM_TO_IVEC(NIGPIB_IVEC_BASE+(i*2)+1), niIrqError, i); } } @@ -987,31 +985,39 @@ niPhysIo( if (pNiLink[link]->A24BounceBuffer == NULL) { - if ((pNiLink[link]->A24BounceBuffer = devLibA24Malloc(DEFAULT_BOUNCE_BUFFER_SIZE)) == NULL) + char *bbuf = devLibA24Malloc(DEFAULT_BOUNCE_BUFFER_SIZE); + if ((bbuf) == NULL) { errMessage(S_IB_A24 ,"niPhysIo ran out of A24 memory!"); return(ERROR); } + pNiLink[link]->A24BounceBuffer = bbuf; pNiLink[link]->A24BounceSize = DEFAULT_BOUNCE_BUFFER_SIZE; + cacheFlush(DATA_CACHE, pNiLink[link]->A24BounceBuffer, pNiLink[link]->A24BounceSize); if(ibDebug > 5) - logMsg("Got a bouncer at 0x%8.8X\n", pNiLink[link]->A24BounceBuffer, 0, 0, 0, 0, 0); + logMsg("drvGpib(%d): A24 bounce buffer %p[%ld]\n", + link, pNiLink[link]->A24BounceBuffer, pNiLink[link]->A24BounceSize, 0, 0, 0); } if (pNiLink[link]->A24BounceSize < cnt) { /* Reallocate a larger bounce buffer */ + char *bbuf = pNiLink[link]->A24BounceBuffer; + devLibA24Free(bbuf); /* Lose the old one */ - devLibA24Free(pNiLink[link]->A24BounceBuffer); /* Loose the old one */ - - if ((pNiLink[link]->A24BounceBuffer = devLibA24Malloc(cnt)) == NULL) + bbuf = devLibA24Malloc(cnt); + if (bbuf == NULL) { errMessage(S_IB_A24 ,"niPhysIo ran out of A24 memory!"); pNiLink[link]->A24BounceSize = 0; pNiLink[link]->A24BounceBuffer = NULL; return(ERROR); } + pNiLink[link]->A24BounceBuffer = bbuf; pNiLink[link]->A24BounceSize = cnt; + cacheFlush(DATA_CACHE, pNiLink[link]->A24BounceBuffer, pNiLink[link]->A24BounceSize); if(ibDebug > 5) - logMsg("Got a new bouncer at 0x%8.8X\n", pNiLink[link]->A24BounceBuffer, 0, 0, 0, 0, 0); + logMsg("drvGpib(%d): New A24 bounce buffer %p[%ld]\n", + link, pNiLink[link]->A24BounceBuffer, pNiLink[link]->A24BounceSize, 0, 0, 0); } b = pNiLink[link]->ibregs; @@ -1781,28 +1787,6 @@ srqIntDisable(int linkType, int link, int bug) return(ERROR); /* Invlaid link type specified on the call */ } - -/****************************************************************************** - * - * Check the link number and bug number (if is a BBGPIB_IO link) to see if they - * are valid. - * - ******************************************************************************/ -STATIC int -checkLink(int linkType, int link, int bug) -{ - if (linkType == GPIB_IO) - { - if (link > NIGPIB_NUM_LINKS) - return(HiDEOSCheckLink(link)); - else - return(niCheckLink(link)); - } - if (linkType == BBGPIB_IO) - return(bbCheckLink(link, bug)); - - return(ERROR); /* bad link type specefied */ -} /**************************************************************************** * @@ -2354,16 +2338,6 @@ bbGpibCmd(struct ibLink *pibLink, char *buffer, int length) return(bytesSent); } -/******************************************************************************/ -STATIC int -bbCheckLink(int link, int bug) -{ - if (findBBLink(link, bug) != NULL) - return(OK); - else - return(ERROR); -} - /******************************************************************************/ STATIC int bbSrqPollInhibit(int link, int bug, int gpibAddr) @@ -2720,16 +2694,6 @@ HiDEOSGpibCmd( return(LHideosWriteCmd(pHLink->remote_td, Buf, BufLen, 100)); } -/******************************************************************************/ -STATIC int -HiDEOSCheckLink(int link) -{ - if (findHiDEOSIbLink(link) != NULL) - return(OK); - else - return(ERROR); -} - /******************************************************************************/ STATIC int HiDEOSSrqPollInhibit(int link, int gpibAddr)