taglinefilesource code
brdp297drivers/char/istallion.cvoid    (*init)(struct stlbrd *brdp);
brdp298drivers/char/istallion.cvoid    (*enable)(struct stlbrd *brdp);
brdp299drivers/char/istallion.cvoid    (*reenable)(struct stlbrd *brdp);
brdp300drivers/char/istallion.cvoid    (*disable)(struct stlbrd *brdp);
brdp301drivers/char/istallion.cchar    *(*getmemptr)(struct stlbrd *brdp, unsigned long offset, int line);
brdp302drivers/char/istallion.cvoid    (*intr)(struct stlbrd *brdp);
brdp303drivers/char/istallion.cvoid    (*reset)(struct stlbrd *brdp);
brdp514drivers/char/istallion.c#define  EBRDINIT(brdp)            \
brdp515drivers/char/istallion.cif (brdp->init != NULL)          \
brdp516drivers/char/istallion.c(* brdp->init)(brdp)
brdp518drivers/char/istallion.c#define  EBRDENABLE(brdp)          \
brdp519drivers/char/istallion.cif (brdp->enable != NULL)        \
brdp520drivers/char/istallion.c(* brdp->enable)(brdp);
brdp522drivers/char/istallion.c#define  EBRDDISABLE(brdp)          \
brdp523drivers/char/istallion.cif (brdp->disable != NULL)        \
brdp524drivers/char/istallion.c(* brdp->disable)(brdp);
brdp526drivers/char/istallion.c#define  EBRDINTR(brdp)            \
brdp527drivers/char/istallion.cif (brdp->intr != NULL)          \
brdp528drivers/char/istallion.c(* brdp->intr)(brdp);
brdp530drivers/char/istallion.c#define  EBRDRESET(brdp)            \
brdp531drivers/char/istallion.cif (brdp->reset != NULL)        \
brdp532drivers/char/istallion.c(* brdp->reset)(brdp);
brdp534drivers/char/istallion.c#define  EBRDGETMEMPTR(brdp,offset)        \
brdp535drivers/char/istallion.c(* brdp->getmemptr)(brdp, offset, __LINE__)
brdp599drivers/char/istallion.cstatic int  stli_initecp(stlibrd_t *brdp, stlconf_t *confp);
brdp600drivers/char/istallion.cstatic int  stli_initonb(stlibrd_t *brdp, stlconf_t *confp);
brdp601drivers/char/istallion.cstatic int  stli_initports(stlibrd_t *brdp);
brdp602drivers/char/istallion.cstatic int  stli_startbrd(stlibrd_t *brdp);
brdp607drivers/char/istallion.cstatic int  stli_hostcmd(stlibrd_t *brdp, int channr);
brdp608drivers/char/istallion.cstatic int  stli_initopen(stlibrd_t *brdp, stliport_t *portp);
brdp609drivers/char/istallion.cstatic int  stli_rawopen(stlibrd_t *brdp, stliport_t *portp, unsigned long arg, int wait);
brdp610drivers/char/istallion.cstatic int  stli_rawclose(stlibrd_t *brdp, stliport_t *portp, unsigned long arg, int wait);
brdp611drivers/char/istallion.cstatic int  stli_waitcarrier(stlibrd_t *brdp, stliport_t *portp, struct file *filp);
brdp615drivers/char/istallion.cstatic int  stli_cmdwait(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback);
brdp616drivers/char/istallion.cstatic void  stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback);
brdp621drivers/char/istallion.cstatic void  stli_read(stlibrd_t *brdp, stliport_t *portp);
brdp625drivers/char/istallion.cstatic void  stli_ecpinit(stlibrd_t *brdp);
brdp626drivers/char/istallion.cstatic void  stli_ecpenable(stlibrd_t *brdp);
brdp627drivers/char/istallion.cstatic void  stli_ecpdisable(stlibrd_t *brdp);
brdp628drivers/char/istallion.cstatic char  *stli_ecpgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp629drivers/char/istallion.cstatic void  stli_ecpreset(stlibrd_t *brdp);
brdp630drivers/char/istallion.cstatic void  stli_ecpintr(stlibrd_t *brdp);
brdp631drivers/char/istallion.cstatic void  stli_ecpeiinit(stlibrd_t *brdp);
brdp632drivers/char/istallion.cstatic void  stli_ecpeienable(stlibrd_t *brdp);
brdp633drivers/char/istallion.cstatic void  stli_ecpeidisable(stlibrd_t *brdp);
brdp634drivers/char/istallion.cstatic char  *stli_ecpeigetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp635drivers/char/istallion.cstatic void  stli_ecpeireset(stlibrd_t *brdp);
brdp636drivers/char/istallion.cstatic void  stli_ecpmcenable(stlibrd_t *brdp);
brdp637drivers/char/istallion.cstatic void  stli_ecpmcdisable(stlibrd_t *brdp);
brdp638drivers/char/istallion.cstatic char  *stli_ecpmcgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp639drivers/char/istallion.cstatic void  stli_ecpmcreset(stlibrd_t *brdp);
brdp641drivers/char/istallion.cstatic void  stli_onbinit(stlibrd_t *brdp);
brdp642drivers/char/istallion.cstatic void  stli_onbenable(stlibrd_t *brdp);
brdp643drivers/char/istallion.cstatic void  stli_onbdisable(stlibrd_t *brdp);
brdp644drivers/char/istallion.cstatic char  *stli_onbgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp645drivers/char/istallion.cstatic void  stli_onbreset(stlibrd_t *brdp);
brdp646drivers/char/istallion.cstatic void  stli_onbeinit(stlibrd_t *brdp);
brdp647drivers/char/istallion.cstatic void  stli_onbeenable(stlibrd_t *brdp);
brdp648drivers/char/istallion.cstatic void  stli_onbedisable(stlibrd_t *brdp);
brdp649drivers/char/istallion.cstatic char  *stli_onbegetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp650drivers/char/istallion.cstatic void  stli_onbereset(stlibrd_t *brdp);
brdp651drivers/char/istallion.cstatic void  stli_bbyinit(stlibrd_t *brdp);
brdp652drivers/char/istallion.cstatic char  *stli_bbygetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp653drivers/char/istallion.cstatic void  stli_bbyreset(stlibrd_t *brdp);
brdp654drivers/char/istallion.cstatic void  stli_stalinit(stlibrd_t *brdp);
brdp655drivers/char/istallion.cstatic char  *stli_stalgetmemptr(stlibrd_t *brdp, unsigned long offset, int line);
brdp656drivers/char/istallion.cstatic void  stli_stalreset(stlibrd_t *brdp);
brdp731drivers/char/istallion.cstlibrd_t  *brdp;
brdp770drivers/char/istallion.cbrdp = &stli_brds[i];
brdp772drivers/char/istallion.cportp = brdp->ports[j];
brdp781drivers/char/istallion.cif (((unsigned long) brdp->membase) >= 0x100000)
brdp782drivers/char/istallion.cvfree(brdp->membase);
brdp784drivers/char/istallion.cif ((brdp->brdtype == BRD_ECP) || (brdp->brdtype == BRD_ECPE) || (brdp->brdtype == BRD_ECPMC))
brdp785drivers/char/istallion.crelease_region(brdp->iobase, ECP_IOSIZE);
brdp787drivers/char/istallion.crelease_region(brdp->iobase, ONB_IOSIZE);
brdp816drivers/char/istallion.cstlibrd_t  *brdp;
brdp831drivers/char/istallion.cbrdp = &stli_brds[brdnr];
brdp832drivers/char/istallion.cif ((brdp->state & BST_STARTED) == 0)
brdp835drivers/char/istallion.cif ((portnr < 0) || (portnr > brdp->nrports))
brdp838drivers/char/istallion.cportp = brdp->ports[portnr];
brdp875drivers/char/istallion.cif ((rc = stli_initopen(brdp, portp)) >= 0) {
brdp920drivers/char/istallion.cif ((rc = stli_waitcarrier(brdp, portp, filp)) != 0)
brdp943drivers/char/istallion.cstlibrd_t  *brdp;
brdp988drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp989drivers/char/istallion.cstli_rawclose(brdp, portp, 0, 1);
brdp992drivers/char/istallion.cstli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0);
brdp1027drivers/char/istallion.cstatic int stli_initopen(stlibrd_t *brdp, stliport_t *portp)
brdp1035drivers/char/istallion.cprintk("stli_initopen(brdp=%x,portp=%x)\n", (int) brdp, (int) portp);
brdp1038drivers/char/istallion.cif ((rc = stli_rawopen(brdp, portp, 0, 1)) < 0)
brdp1044drivers/char/istallion.cif ((rc = stli_cmdwait(brdp, portp, A_SETNOTIFY, &nt, sizeof(asynotify_t), 0)) < 0)
brdp1051drivers/char/istallion.cif ((rc = stli_cmdwait(brdp, portp, A_SETPORT, &aport, sizeof(asyport_t), 0)) < 0)
brdp1055drivers/char/istallion.cif ((rc = stli_cmdwait(brdp, portp, A_GETSIGNALS, &portp->asig, sizeof(asysigs_t), 1)) < 0)
brdp1060drivers/char/istallion.cif ((rc = stli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0)) < 0)
brdp1075drivers/char/istallion.cstatic int stli_rawopen(stlibrd_t *brdp, stliport_t *portp, unsigned long arg, int wait)
brdp1084drivers/char/istallion.cprintk("stli_rawopen(brdp=%x,portp=%x,arg=%x,wait=%d)\n", (int) brdp, (int) portp, (int) arg, wait);
brdp1112drivers/char/istallion.cEBRDENABLE(brdp);
brdp1113drivers/char/istallion.ccp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->ctrl;
brdp1116drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp1118drivers/char/istallion.cbits = ((volatile unsigned char *) hdrp) + brdp->slaveoffset + portp->portidx;
brdp1120drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1155drivers/char/istallion.cstatic int stli_rawclose(stlibrd_t *brdp, stliport_t *portp, unsigned long arg, int wait)
brdp1164drivers/char/istallion.cprintk("stli_rawclose(brdp=%x,portp=%x,arg=%x,wait=%d)\n", (int) brdp, (int) portp, (int) arg, wait);
brdp1187drivers/char/istallion.cEBRDENABLE(brdp);
brdp1188drivers/char/istallion.ccp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->ctrl;
brdp1191drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp1193drivers/char/istallion.cbits = ((volatile unsigned char *) hdrp) + brdp->slaveoffset + portp->portidx;
brdp1195drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1231drivers/char/istallion.cstatic int stli_cmdwait(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback)
brdp1236drivers/char/istallion.cprintk("stli_cmdwait(brdp=%x,portp=%x,cmd=%x,arg=%x,size=%d,copyback=%d)\n", (int) brdp, (int) portp, (int) cmd, (int) arg, size, copyback);
brdp1249drivers/char/istallion.cstli_sendcmd(brdp, portp, cmd, arg, size, copyback);
brdp1274drivers/char/istallion.cstlibrd_t  *brdp;
brdp1287drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1290drivers/char/istallion.creturn(stli_cmdwait(brdp, portp, A_SETPORT, &aport, sizeof(asyport_t), 0));
brdp1320drivers/char/istallion.cstatic int stli_waitcarrier(stlibrd_t *brdp, stliport_t *portp, struct file *filp)
brdp1326drivers/char/istallion.cprintk("stli_waitcarrier(brdp=%x,portp=%x,filp=%x)\n", (int) brdp, (int) portp, (int) filp);
brdp1340drivers/char/istallion.cif ((rc = stli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0)) < 0)
brdp1386drivers/char/istallion.cstlibrd_t    *brdp;
brdp1403drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1420drivers/char/istallion.cEBRDENABLE(brdp);
brdp1421drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp1428drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1442drivers/char/istallion.cEBRDENABLE(brdp);
brdp1443drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp1459drivers/char/istallion.cshbuf = (char *) EBRDGETMEMPTR(brdp, portp->txoffset);
brdp1474drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp1480drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp1482drivers/char/istallion.cbits = ((volatile unsigned char *) hdrp) + brdp->slaveoffset + portp->portidx;
brdp1486drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1536drivers/char/istallion.cstlibrd_t    *brdp;
brdp1565drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1569drivers/char/istallion.cEBRDENABLE(brdp);
brdp1571drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp1587drivers/char/istallion.cshbuf = (char *) EBRDGETMEMPTR(brdp, portp->txoffset);
brdp1603drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp1610drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp1612drivers/char/istallion.cbits = ((volatile unsigned char *) hdrp) + brdp->slaveoffset + portp->portidx;
brdp1616drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1626drivers/char/istallion.cstlibrd_t    *brdp;
brdp1648drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1652drivers/char/istallion.cEBRDENABLE(brdp);
brdp1653drivers/char/istallion.crp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->txq;
brdp1660drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1684drivers/char/istallion.cstlibrd_t    *brdp;
brdp1701drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1705drivers/char/istallion.cEBRDENABLE(brdp);
brdp1706drivers/char/istallion.crp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->txq;
brdp1714drivers/char/istallion.cEBRDDISABLE(brdp);
brdp1790drivers/char/istallion.cstlibrd_t  *brdp;
brdp1805drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1815drivers/char/istallion.crc = stli_cmdwait(brdp, portp, A_BREAK, &val, sizeof(unsigned long), 0);
brdp1823drivers/char/istallion.crc = stli_cmdwait(brdp, portp, A_BREAK, &val, sizeof(unsigned long), 0);
brdp1838drivers/char/istallion.cif ((rc = stli_cmdwait(brdp, portp, A_GETSIGNALS, &portp->asig, sizeof(asysigs_t), 1)) < 0)
brdp1848drivers/char/istallion.crc = stli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0);
brdp1855drivers/char/istallion.crc = stli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0);
brdp1862drivers/char/istallion.crc = stli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0);
brdp1898drivers/char/istallion.cstlibrd_t  *brdp;
brdp1913drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp1920drivers/char/istallion.cstli_cmdwait(brdp, portp, A_SETPORT, &aport, sizeof(asyport_t), 0);
brdp1922drivers/char/istallion.cstli_cmdwait(brdp, portp, A_SETSIGNALS, &portp->asig, sizeof(asysigs_t), 0);
brdp1992drivers/char/istallion.cstlibrd_t  *brdp;
brdp2007drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp2012drivers/char/istallion.cstli_cmdwait(brdp, portp, A_PORTCTRL, &actrl, sizeof(asyctrl_t));
brdp2025drivers/char/istallion.cstlibrd_t  *brdp;
brdp2039drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp2044drivers/char/istallion.cstli_cmdwait(brdp, portp, A_PORTCTRL, &actrl, sizeof(asyctrl_t));
brdp2087drivers/char/istallion.cstlibrd_t  *brdp;
brdp2101drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp2108drivers/char/istallion.cstli_rawclose(brdp, portp, 0, 0);
brdp2116drivers/char/istallion.cstli_sendcmd(brdp, portp, A_SETSIGNALSF, &portp->asig, sizeof(asysigs_t), 0);
brdp2143drivers/char/istallion.cstlibrd_t  *brdp;
brdp2157drivers/char/istallion.cbrdp = &stli_brds[portp->brdnr];
brdp2174drivers/char/istallion.cstli_sendcmd(brdp, portp, A_FLUSH, &ftype, sizeof(unsigned long), 0);
brdp2195drivers/char/istallion.cstatic void stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, void *arg, int size, int copyback)
brdp2203drivers/char/istallion.cprintk("stli_sendcmd(brdp=%x,portp=%x,cmd=%x,arg=%x,size=%d,copyback=%d)\n", (int) brdp, (int) portp, (int) cmd, (int) arg, size, copyback);
brdp2213drivers/char/istallion.cEBRDENABLE(brdp);
brdp2214drivers/char/istallion.ccp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->ctrl;
brdp2224drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp2226drivers/char/istallion.cbits = ((volatile unsigned char *) hdrp) + brdp->slaveoffset + portp->portidx;
brdp2229drivers/char/istallion.cEBRDDISABLE(brdp);
brdp2243drivers/char/istallion.cstatic inline void stli_read(stlibrd_t *brdp, stliport_t *portp)
brdp2252drivers/char/istallion.cprintk("stli_read(brdp=%x,portp=%d)\n", (int) brdp, (int) portp);
brdp2261drivers/char/istallion.crp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->rxq;
brdp2276drivers/char/istallion.cshbuf = (volatile char *) EBRDGETMEMPTR(brdp, portp->rxoffset);
brdp2293drivers/char/istallion.crp = &((volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr))->rxq;
brdp2352drivers/char/istallion.cstatic inline int stli_hostcmd(stlibrd_t *brdp, int channr)
brdp2363drivers/char/istallion.cprintk("stli_hostcmd(brdp=%x,channr=%d)\n", (int) brdp, channr);
brdp2366drivers/char/istallion.cportp = brdp->ports[(channr - 1)];
brdp2367drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp2475drivers/char/istallion.cstli_read(brdp, portp);
brdp2489drivers/char/istallion.cstli_read(brdp, portp);
brdp2512drivers/char/istallion.cstlibrd_t    *brdp;
brdp2523drivers/char/istallion.cbrdp = &stli_brds[brdnr];
brdp2524drivers/char/istallion.cif ((brdp->state & BST_STARTED) == 0)
brdp2527drivers/char/istallion.cEBRDENABLE(brdp);
brdp2528drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp2531drivers/char/istallion.cbitsize = brdp->bitsize;
brdp2532drivers/char/istallion.cnrdevs = brdp->nrdevs;
brdp2542drivers/char/istallion.cmemcpy(&bits[0], (((unsigned char *) hdrp) + brdp->hostoffset), bitsize);
brdp2550drivers/char/istallion.cstli_hostcmd(brdp, channr);
brdp2564drivers/char/istallion.cmemcpy(&bits[0], (((unsigned char *) hdrp) + brdp->slaveoffset), bitsize);
brdp2572drivers/char/istallion.cportp = brdp->ports[(channr - 1)];
brdp2587drivers/char/istallion.cmemcpy((((unsigned char *) hdrp) + brdp->slaveoffset), &bits[0], bitsize);
brdp2590drivers/char/istallion.cEBRDDISABLE(brdp);
brdp2752drivers/char/istallion.cstatic int stli_initports(stlibrd_t *brdp)
brdp2758drivers/char/istallion.cprintk("stli_initports(brdp=%x)\n", (int) brdp);
brdp2761drivers/char/istallion.cfor (i = 0, panelnr = 0, panelport = 0; (i < brdp->nrports); i++) {
brdp2770drivers/char/istallion.cportp->brdnr = brdp->brdnr;
brdp2780drivers/char/istallion.cif (panelport >= brdp->panels[panelnr]) {
brdp2784drivers/char/istallion.cbrdp->ports[i] = portp;
brdp2796drivers/char/istallion.cstatic void stli_ecpinit(stlibrd_t *brdp)
brdp2801drivers/char/istallion.cprintk("stli_ecpinit(brdp=%d)\n", (int) brdp);
brdp2804drivers/char/istallion.coutb(ECP_ATSTOP, (brdp->iobase + ECP_ATCONFR));
brdp2806drivers/char/istallion.coutb(ECP_ATDISABLE, (brdp->iobase + ECP_ATCONFR));
brdp2809drivers/char/istallion.cmemconf = (((unsigned long) brdp->membase) & ECP_ATADDRMASK) >> ECP_ATADDRSHFT;
brdp2810drivers/char/istallion.coutb(memconf, (brdp->iobase + ECP_ATMEMAR));
brdp2815drivers/char/istallion.cstatic void stli_ecpenable(stlibrd_t *brdp)
brdp2818drivers/char/istallion.cprintk("stli_ecpenable(brdp=%x)\n", (int) brdp);
brdp2820drivers/char/istallion.coutb(ECP_ATENABLE, (brdp->iobase + ECP_ATCONFR));
brdp2825drivers/char/istallion.cstatic void stli_ecpdisable(stlibrd_t *brdp)
brdp2828drivers/char/istallion.cprintk("stli_ecpdisable(brdp=%x)\n", (int) brdp);
brdp2830drivers/char/istallion.coutb(ECP_ATDISABLE, (brdp->iobase + ECP_ATCONFR));
brdp2835drivers/char/istallion.cstatic char *stli_ecpgetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp2841drivers/char/istallion.cprintk("stli_ecpgetmemptr(brdp=%x,offset=%x)\n", (int) brdp, (int) offset);
brdp2844drivers/char/istallion.cif (offset > brdp->memsize) {
brdp2845drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp2849drivers/char/istallion.cptr = brdp->membase + (offset % ECP_ATPAGESIZE);
brdp2852drivers/char/istallion.coutb(val, (brdp->iobase + ECP_ATMEMPR));
brdp2858drivers/char/istallion.cstatic void stli_ecpreset(stlibrd_t *brdp)
brdp2861drivers/char/istallion.cprintk("stli_ecpreset(brdp=%x)\n", (int) brdp);
brdp2864drivers/char/istallion.coutb(ECP_ATSTOP, (brdp->iobase + ECP_ATCONFR));
brdp2866drivers/char/istallion.coutb(ECP_ATDISABLE, (brdp->iobase + ECP_ATCONFR));
brdp2872drivers/char/istallion.cstatic void stli_ecpintr(stlibrd_t *brdp)
brdp2875drivers/char/istallion.cprintk("stli_ecpintr(brdp=%x)\n", (int) brdp);
brdp2877drivers/char/istallion.coutb(0x1, brdp->iobase);
brdp2886drivers/char/istallion.cstatic void stli_ecpeiinit(stlibrd_t *brdp)
brdp2891drivers/char/istallion.cprintk("stli_ecpeiinit(brdp=%x)\n", (int) brdp);
brdp2894drivers/char/istallion.coutb(0x1, (brdp->iobase + ECP_EIBRDENAB));
brdp2895drivers/char/istallion.coutb(ECP_EISTOP, (brdp->iobase + ECP_EICONFR));
brdp2897drivers/char/istallion.coutb(ECP_EIDISABLE, (brdp->iobase + ECP_EICONFR));
brdp2900drivers/char/istallion.cmemconf = (((unsigned long) brdp->membase) & ECP_EIADDRMASKL) >> ECP_EIADDRSHFTL;
brdp2901drivers/char/istallion.coutb(memconf, (brdp->iobase + ECP_EIMEMARL));
brdp2902drivers/char/istallion.cmemconf = (((unsigned long) brdp->membase) & ECP_EIADDRMASKH) >> ECP_EIADDRSHFTH;
brdp2903drivers/char/istallion.coutb(memconf, (brdp->iobase + ECP_EIMEMARH));
brdp2908drivers/char/istallion.cstatic void stli_ecpeienable(stlibrd_t *brdp)
brdp2910drivers/char/istallion.coutb(ECP_EIENABLE, (brdp->iobase + ECP_EICONFR));
brdp2915drivers/char/istallion.cstatic void stli_ecpeidisable(stlibrd_t *brdp)
brdp2917drivers/char/istallion.coutb(ECP_EIDISABLE, (brdp->iobase + ECP_EICONFR));
brdp2922drivers/char/istallion.cstatic char *stli_ecpeigetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp2928drivers/char/istallion.cprintk("stli_ecpeigetmemptr(brdp=%x,offset=%x,line=%d)\n", (int) brdp, (int) offset, line);
brdp2931drivers/char/istallion.cif (offset > brdp->memsize) {
brdp2932drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp2936drivers/char/istallion.cptr = brdp->membase + (offset % ECP_EIPAGESIZE);
brdp2942drivers/char/istallion.coutb(val, (brdp->iobase + ECP_EICONFR));
brdp2948drivers/char/istallion.cstatic void stli_ecpeireset(stlibrd_t *brdp)
brdp2950drivers/char/istallion.coutb(ECP_EISTOP, (brdp->iobase + ECP_EICONFR));
brdp2952drivers/char/istallion.coutb(ECP_EIDISABLE, (brdp->iobase + ECP_EICONFR));
brdp2962drivers/char/istallion.cstatic void stli_ecpmcenable(stlibrd_t *brdp)
brdp2964drivers/char/istallion.coutb(ECP_MCENABLE, (brdp->iobase + ECP_MCCONFR));
brdp2969drivers/char/istallion.cstatic void stli_ecpmcdisable(stlibrd_t *brdp)
brdp2971drivers/char/istallion.coutb(ECP_MCDISABLE, (brdp->iobase + ECP_MCCONFR));
brdp2976drivers/char/istallion.cstatic char *stli_ecpmcgetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp2981drivers/char/istallion.cif (offset > brdp->memsize) {
brdp2982drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp2986drivers/char/istallion.cptr = brdp->membase + (offset % ECP_MCPAGESIZE);
brdp2989drivers/char/istallion.coutb(val, (brdp->iobase + ECP_MCCONFR));
brdp2995drivers/char/istallion.cstatic void stli_ecpmcreset(stlibrd_t *brdp)
brdp2997drivers/char/istallion.coutb(ECP_MCSTOP, (brdp->iobase + ECP_MCCONFR));
brdp2999drivers/char/istallion.coutb(ECP_MCDISABLE, (brdp->iobase + ECP_MCCONFR));
brdp3009drivers/char/istallion.cstatic void stli_onbinit(stlibrd_t *brdp)
brdp3015drivers/char/istallion.cprintk("stli_onbinit(brdp=%d)\n", (int) brdp);
brdp3018drivers/char/istallion.coutb(ONB_ATSTOP, (brdp->iobase + ONB_ATCONFR));
brdp3020drivers/char/istallion.coutb(ONB_ATDISABLE, (brdp->iobase + ONB_ATCONFR));
brdp3024drivers/char/istallion.cmemconf = (((unsigned long) brdp->membase) & ONB_ATADDRMASK) >> ONB_ATADDRSHFT;
brdp3025drivers/char/istallion.coutb(memconf, (brdp->iobase + ONB_ATMEMAR));
brdp3026drivers/char/istallion.coutb(0x1, brdp->iobase);
brdp3032drivers/char/istallion.cstatic void stli_onbenable(stlibrd_t *brdp)
brdp3035drivers/char/istallion.cprintk("stli_onbenable(brdp=%x)\n", (int) brdp);
brdp3037drivers/char/istallion.coutb((ONB_ATENABLE | ONB_HIMEMENAB), (brdp->iobase + ONB_ATCONFR));
brdp3042drivers/char/istallion.cstatic void stli_onbdisable(stlibrd_t *brdp)
brdp3045drivers/char/istallion.cprintk("stli_onbdisable(brdp=%x)\n", (int) brdp);
brdp3047drivers/char/istallion.coutb(ONB_ATDISABLE, (brdp->iobase + ONB_ATCONFR));
brdp3052drivers/char/istallion.cstatic char *stli_onbgetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp3057drivers/char/istallion.cprintk("stli_onbgetmemptr(brdp=%x,offset=%x)\n", (int) brdp, (int) offset);
brdp3060drivers/char/istallion.cif (offset > brdp->memsize) {
brdp3061drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp3064drivers/char/istallion.cptr = brdp->membase + (offset % ONB_ATPAGESIZE);
brdp3071drivers/char/istallion.cstatic void stli_onbreset(stlibrd_t *brdp)
brdp3076drivers/char/istallion.cprintk("stli_onbreset(brdp=%x)\n", (int) brdp);
brdp3079drivers/char/istallion.coutb(ONB_ATSTOP, (brdp->iobase + ONB_ATCONFR));
brdp3081drivers/char/istallion.coutb(ONB_ATDISABLE, (brdp->iobase + ONB_ATCONFR));
brdp3092drivers/char/istallion.cstatic void stli_onbeinit(stlibrd_t *brdp)
brdp3098drivers/char/istallion.cprintk("stli_onbeinit(brdp=%d)\n", (int) brdp);
brdp3101drivers/char/istallion.coutb(0x1, (brdp->iobase + ONB_EIBRDENAB));
brdp3102drivers/char/istallion.coutb(ONB_EISTOP, (brdp->iobase + ONB_EICONFR));
brdp3104drivers/char/istallion.coutb(ONB_EIDISABLE, (brdp->iobase + ONB_EICONFR));
brdp3108drivers/char/istallion.cmemconf = (((unsigned long) brdp->membase) & ONB_EIADDRMASKL) >> ONB_EIADDRSHFTL;
brdp3109drivers/char/istallion.coutb(memconf, (brdp->iobase + ONB_EIMEMARL));
brdp3110drivers/char/istallion.cmemconf = (((unsigned long) brdp->membase) & ONB_EIADDRMASKH) >> ONB_EIADDRSHFTH;
brdp3111drivers/char/istallion.coutb(memconf, (brdp->iobase + ONB_EIMEMARH));
brdp3112drivers/char/istallion.coutb(0x1, brdp->iobase);
brdp3118drivers/char/istallion.cstatic void stli_onbeenable(stlibrd_t *brdp)
brdp3121drivers/char/istallion.cprintk("stli_onbeenable(brdp=%x)\n", (int) brdp);
brdp3123drivers/char/istallion.coutb(ONB_EIENABLE, (brdp->iobase + ONB_EICONFR));
brdp3128drivers/char/istallion.cstatic void stli_onbedisable(stlibrd_t *brdp)
brdp3131drivers/char/istallion.cprintk("stli_onbedisable(brdp=%x)\n", (int) brdp);
brdp3133drivers/char/istallion.coutb(ONB_EIDISABLE, (brdp->iobase + ONB_EICONFR));
brdp3138drivers/char/istallion.cstatic char *stli_onbegetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp3144drivers/char/istallion.cprintk("stli_onbegetmemptr(brdp=%x,offset=%x,line=%d)\n", (int) brdp, (int) offset, line);
brdp3147drivers/char/istallion.cif (offset > brdp->memsize) {
brdp3148drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp3152drivers/char/istallion.cptr = brdp->membase + (offset % ONB_EIPAGESIZE);
brdp3158drivers/char/istallion.coutb(val, (brdp->iobase + ONB_EICONFR));
brdp3164drivers/char/istallion.cstatic void stli_onbereset(stlibrd_t *brdp)
brdp3169drivers/char/istallion.cprintk("stli_onbereset(brdp=%x)\n", (int) brdp);
brdp3172drivers/char/istallion.coutb(ONB_EISTOP, (brdp->iobase + ONB_EICONFR));
brdp3174drivers/char/istallion.coutb(ONB_EIDISABLE, (brdp->iobase + ONB_EICONFR));
brdp3185drivers/char/istallion.cstatic void stli_bbyinit(stlibrd_t *brdp)
brdp3190drivers/char/istallion.cprintk("stli_bbyinit(brdp=%d)\n", (int) brdp);
brdp3193drivers/char/istallion.coutb(BBY_ATSTOP, (brdp->iobase + BBY_ATCONFR));
brdp3195drivers/char/istallion.coutb(0, (brdp->iobase + BBY_ATCONFR));
brdp3198drivers/char/istallion.coutb(0x1, brdp->iobase);
brdp3204drivers/char/istallion.cstatic char *stli_bbygetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp3210drivers/char/istallion.cprintk("stli_bbygetmemptr(brdp=%x,offset=%x)\n", (int) brdp, (int) offset);
brdp3213drivers/char/istallion.cif (offset > brdp->memsize) {
brdp3214drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp3218drivers/char/istallion.cptr = brdp->membase + (offset % BBY_PAGESIZE);
brdp3221drivers/char/istallion.coutb(val, (brdp->iobase + BBY_ATCONFR));
brdp3227drivers/char/istallion.cstatic void stli_bbyreset(stlibrd_t *brdp)
brdp3232drivers/char/istallion.cprintk("stli_bbyreset(brdp=%x)\n", (int) brdp);
brdp3235drivers/char/istallion.coutb(BBY_ATSTOP, (brdp->iobase + BBY_ATCONFR));
brdp3237drivers/char/istallion.coutb(0, (brdp->iobase + BBY_ATCONFR));
brdp3248drivers/char/istallion.cstatic void stli_stalinit(stlibrd_t *brdp)
brdp3253drivers/char/istallion.cprintk("stli_stalinit(brdp=%d)\n", (int) brdp);
brdp3256drivers/char/istallion.coutb(0x1, brdp->iobase);
brdp3263drivers/char/istallion.cstatic char *stli_stalgetmemptr(stlibrd_t *brdp, unsigned long offset, int line)
brdp3268drivers/char/istallion.cprintk("stli_stalgetmemptr(brdp=%x,offset=%x)\n", (int) brdp, (int) offset);
brdp3271drivers/char/istallion.cif (offset > brdp->memsize) {
brdp3272drivers/char/istallion.cprintk("STALLION: shared memory pointer=%x out of range at line=%d(%d), brd=%d\n", (int) offset, line, __LINE__, brdp->brdnr);
brdp3275drivers/char/istallion.cptr = brdp->membase + (offset % STAL_PAGESIZE);
brdp3282drivers/char/istallion.cstatic void stli_stalreset(stlibrd_t *brdp)
brdp3288drivers/char/istallion.cprintk("stli_stalreset(brdp=%x)\n", (int) brdp);
brdp3291drivers/char/istallion.cvecp = (volatile unsigned long *) (brdp->membase + 0x30);
brdp3293drivers/char/istallion.coutb(0, brdp->iobase);
brdp3339drivers/char/istallion.cstatic int stli_initecp(stlibrd_t *brdp, stlconf_t *confp)
brdp3347drivers/char/istallion.cprintk("stli_initecp(brdp=%x,confp=%x)\n", (int) brdp, (int) confp);
brdp3355drivers/char/istallion.cswitch (brdp->brdtype) {
brdp3357drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3358drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3359drivers/char/istallion.cbrdp->memsize = ECP_MEMSIZE;
brdp3360drivers/char/istallion.cbrdp->pagesize = ECP_ATPAGESIZE;
brdp3361drivers/char/istallion.cbrdp->init = stli_ecpinit;
brdp3362drivers/char/istallion.cbrdp->enable = stli_ecpenable;
brdp3363drivers/char/istallion.cbrdp->reenable = stli_ecpenable;
brdp3364drivers/char/istallion.cbrdp->disable = stli_ecpdisable;
brdp3365drivers/char/istallion.cbrdp->getmemptr = stli_ecpgetmemptr;
brdp3366drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3367drivers/char/istallion.cbrdp->reset = stli_ecpreset;
brdp3371drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3372drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3373drivers/char/istallion.cbrdp->memsize = ECP_MEMSIZE;
brdp3374drivers/char/istallion.cbrdp->pagesize = ECP_EIPAGESIZE;
brdp3375drivers/char/istallion.cbrdp->init = stli_ecpeiinit;
brdp3376drivers/char/istallion.cbrdp->enable = stli_ecpeienable;
brdp3377drivers/char/istallion.cbrdp->reenable = stli_ecpeienable;
brdp3378drivers/char/istallion.cbrdp->disable = stli_ecpeidisable;
brdp3379drivers/char/istallion.cbrdp->getmemptr = stli_ecpeigetmemptr;
brdp3380drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3381drivers/char/istallion.cbrdp->reset = stli_ecpeireset;
brdp3385drivers/char/istallion.cbrdp->memsize = ECP_MEMSIZE;
brdp3386drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3387drivers/char/istallion.cbrdp->pagesize = ECP_MCPAGESIZE;
brdp3388drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3389drivers/char/istallion.cbrdp->init = NULL;
brdp3390drivers/char/istallion.cbrdp->enable = stli_ecpmcenable;
brdp3391drivers/char/istallion.cbrdp->reenable = stli_ecpmcenable;
brdp3392drivers/char/istallion.cbrdp->disable = stli_ecpmcdisable;
brdp3393drivers/char/istallion.cbrdp->getmemptr = stli_ecpmcgetmemptr;
brdp3394drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3395drivers/char/istallion.cbrdp->reset = stli_ecpmcreset;
brdp3408drivers/char/istallion.cEBRDINIT(brdp);
brdp3412drivers/char/istallion.cbrdp->membase = stli_mapbrdmem(confp->memaddr, brdp->memsize);
brdp3413drivers/char/istallion.cif (brdp->membase == (void *) NULL)
brdp3423drivers/char/istallion.cEBRDENABLE(brdp);
brdp3424drivers/char/istallion.csigsp = (cdkecpsig_t *) EBRDGETMEMPTR(brdp, CDK_SIGADDR);
brdp3426drivers/char/istallion.cEBRDDISABLE(brdp);
brdp3448drivers/char/istallion.cbrdp->panels[panelnr] = 16;
brdp3449drivers/char/istallion.cbrdp->nrports += 16;
brdp3452drivers/char/istallion.cbrdp->panels[panelnr] = 8;
brdp3453drivers/char/istallion.cbrdp->nrports += 8;
brdp3456drivers/char/istallion.cbrdp->nrpanels++;
brdp3459drivers/char/istallion.crequest_region(brdp->iobase, ECP_IOSIZE, "serial(ECP)");
brdp3460drivers/char/istallion.cbrdp->state |= BST_FOUND;
brdp3471drivers/char/istallion.cstatic int stli_initonb(stlibrd_t *brdp, stlconf_t *confp)
brdp3478drivers/char/istallion.cprintk("stli_initonb(brdp=%x,confp=%x)\n", (int) brdp, (int) confp);
brdp3486drivers/char/istallion.cswitch (brdp->brdtype) {
brdp3492drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3493drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3494drivers/char/istallion.cbrdp->memsize = ONB_MEMSIZE;
brdp3495drivers/char/istallion.cbrdp->pagesize = ONB_ATPAGESIZE;
brdp3496drivers/char/istallion.cbrdp->init = stli_onbinit;
brdp3497drivers/char/istallion.cbrdp->enable = stli_onbenable;
brdp3498drivers/char/istallion.cbrdp->reenable = stli_onbenable;
brdp3499drivers/char/istallion.cbrdp->disable = stli_onbdisable;
brdp3500drivers/char/istallion.cbrdp->getmemptr = stli_onbgetmemptr;
brdp3501drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3502drivers/char/istallion.cbrdp->reset = stli_onbreset;
brdp3506drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3507drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3508drivers/char/istallion.cbrdp->memsize = ONB_EIMEMSIZE;
brdp3509drivers/char/istallion.cbrdp->pagesize = ONB_EIPAGESIZE;
brdp3510drivers/char/istallion.cbrdp->init = stli_onbeinit;
brdp3511drivers/char/istallion.cbrdp->enable = stli_onbeenable;
brdp3512drivers/char/istallion.cbrdp->reenable = stli_onbeenable;
brdp3513drivers/char/istallion.cbrdp->disable = stli_onbedisable;
brdp3514drivers/char/istallion.cbrdp->getmemptr = stli_onbegetmemptr;
brdp3515drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3516drivers/char/istallion.cbrdp->reset = stli_onbereset;
brdp3522drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3523drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3524drivers/char/istallion.cbrdp->memsize = BBY_MEMSIZE;
brdp3525drivers/char/istallion.cbrdp->pagesize = BBY_PAGESIZE;
brdp3526drivers/char/istallion.cbrdp->init = stli_bbyinit;
brdp3527drivers/char/istallion.cbrdp->enable = NULL;
brdp3528drivers/char/istallion.cbrdp->reenable = NULL;
brdp3529drivers/char/istallion.cbrdp->disable = NULL;
brdp3530drivers/char/istallion.cbrdp->getmemptr = stli_bbygetmemptr;
brdp3531drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3532drivers/char/istallion.cbrdp->reset = stli_bbyreset;
brdp3536drivers/char/istallion.cbrdp->iobase = confp->ioaddr1;
brdp3537drivers/char/istallion.cbrdp->membase = (void *) confp->memaddr;
brdp3538drivers/char/istallion.cbrdp->memsize = STAL_MEMSIZE;
brdp3539drivers/char/istallion.cbrdp->pagesize = STAL_PAGESIZE;
brdp3540drivers/char/istallion.cbrdp->init = stli_stalinit;
brdp3541drivers/char/istallion.cbrdp->enable = NULL;
brdp3542drivers/char/istallion.cbrdp->reenable = NULL;
brdp3543drivers/char/istallion.cbrdp->disable = NULL;
brdp3544drivers/char/istallion.cbrdp->getmemptr = stli_stalgetmemptr;
brdp3545drivers/char/istallion.cbrdp->intr = stli_ecpintr;
brdp3546drivers/char/istallion.cbrdp->reset = stli_stalreset;
brdp3559drivers/char/istallion.cEBRDINIT(brdp);
brdp3563drivers/char/istallion.cbrdp->membase = stli_mapbrdmem(confp->memaddr, brdp->memsize);
brdp3564drivers/char/istallion.cif (brdp->membase == (void *) NULL)
brdp3574drivers/char/istallion.cEBRDENABLE(brdp);
brdp3575drivers/char/istallion.csigsp = (cdkonbsig_t *) EBRDGETMEMPTR(brdp, CDK_SIGADDR);
brdp3577drivers/char/istallion.cEBRDDISABLE(brdp);
brdp3593drivers/char/istallion.cbrdp->nrpanels = 1;
brdp3595drivers/char/istallion.cbrdp->nrports = 32;
brdp3601drivers/char/istallion.cbrdp->nrports = i;
brdp3604drivers/char/istallion.crequest_region(brdp->iobase, ONB_IOSIZE, "serial(ONB/BBY)");
brdp3605drivers/char/istallion.cbrdp->state |= BST_FOUND;
brdp3617drivers/char/istallion.cstatic int stli_startbrd(stlibrd_t *brdp)
brdp3627drivers/char/istallion.cprintk("stli_startbrd(brdp=%x)\n", (int) brdp);
brdp3634drivers/char/istallion.cEBRDENABLE(brdp);
brdp3635drivers/char/istallion.chdrp = (volatile cdkhdr_t *) EBRDGETMEMPTR(brdp, CDK_CDKADDR);
brdp3645drivers/char/istallion.cif (nrdevs < (brdp->nrports + 1)) {
brdp3647drivers/char/istallion.cbrdp->nrports = nrdevs - 1;
brdp3649drivers/char/istallion.cbrdp->nrdevs = nrdevs;
brdp3650drivers/char/istallion.cbrdp->hostoffset = hdrp->hostp - CDK_CDKADDR;
brdp3651drivers/char/istallion.cbrdp->slaveoffset = hdrp->slavep - CDK_CDKADDR;
brdp3652drivers/char/istallion.cbrdp->bitsize = (nrdevs + 7) / 8;
brdp3654drivers/char/istallion.cif (((unsigned long) memp) > brdp->memsize) {
brdp3659drivers/char/istallion.cmemp = (volatile cdkmem_t *) EBRDGETMEMPTR(brdp, (unsigned long) memp);
brdp3674drivers/char/istallion.cportp = brdp->ports[portnr];
brdp3690drivers/char/istallion.cportp = brdp->ports[portnr];
brdp3695drivers/char/istallion.cap = (volatile cdkasy_t *) EBRDGETMEMPTR(brdp, portp->addr);
brdp3705drivers/char/istallion.cEBRDDISABLE(brdp);
brdp3709drivers/char/istallion.cbrdp->state |= BST_STARTED;
brdp3729drivers/char/istallion.cstlibrd_t  *brdp;
brdp3748drivers/char/istallion.cbrdp = &stli_brds[i];
brdp3750drivers/char/istallion.cbrdp->brdnr = i;
brdp3751drivers/char/istallion.cbrdp->brdtype = confp->brdtype;
brdp3757drivers/char/istallion.cstli_initecp(brdp, confp);
brdp3769drivers/char/istallion.cstli_initonb(brdp, confp);
brdp3775drivers/char/istallion.cprintk("STALLION: %s board type not supported in this driver\n", stli_brdnames[brdp->brdtype]);
brdp3782drivers/char/istallion.cif ((brdp->state & BST_FOUND) == 0) {
brdp3783drivers/char/istallion.cprintk("STALLION: %s board not found, unit=%d io=%x mem=%x\n", stli_brdnames[brdp->brdtype], i, confp->ioaddr1, (int) confp->memaddr);
brdp3787drivers/char/istallion.cstli_initports(brdp);
brdp3788drivers/char/istallion.cprintk("STALLION: %s found, unit=%d io=%x mem=%x nrpanels=%d nrports=%d\n", stli_brdnames[brdp->brdtype], i, confp->ioaddr1, (int) confp->memaddr, brdp->nrpanels, brdp->nrports);
brdp3800drivers/char/istallion.cbrdp = &stli_brds[i];
brdp3801drivers/char/istallion.cif ((brdp->membase >= stli_brds[j].membase) &&
brdp3802drivers/char/istallion.c(brdp->membase <= (stli_brds[j].membase + stli_brds[j].memsize - 1))) {
brdp3812drivers/char/istallion.cbrdp = &stli_brds[i];
brdp3813drivers/char/istallion.cif (brdp->state & BST_FOUND) {
brdp3814drivers/char/istallion.cEBRDENABLE(brdp);
brdp3815drivers/char/istallion.cbrdp->enable = NULL;
brdp3816drivers/char/istallion.cbrdp->disable = NULL;
brdp3836drivers/char/istallion.cstlibrd_t  *brdp;
brdp3846drivers/char/istallion.cbrdp = &stli_brds[brdnr];
brdp3847drivers/char/istallion.cif (brdp->state == 0)
brdp3849drivers/char/istallion.cif (fp->f_pos >= brdp->memsize)
brdp3852drivers/char/istallion.csize = MIN(count, (brdp->memsize - fp->f_pos));
brdp3856drivers/char/istallion.cEBRDENABLE(brdp);
brdp3858drivers/char/istallion.cmemptr = (void *) EBRDGETMEMPTR(brdp, fp->f_pos);
brdp3859drivers/char/istallion.cn = MIN(size, (brdp->pagesize - (((unsigned long) fp->f_pos) % brdp->pagesize)));
brdp3865drivers/char/istallion.cEBRDDISABLE(brdp);
brdp3883drivers/char/istallion.cstlibrd_t  *brdp;
brdp3894drivers/char/istallion.cbrdp = &stli_brds[brdnr];
brdp3895drivers/char/istallion.cif (brdp->state == 0)
brdp3897drivers/char/istallion.cif (fp->f_pos >= brdp->memsize)
brdp3901drivers/char/istallion.csize = MIN(count, (brdp->memsize - fp->f_pos));
brdp3905drivers/char/istallion.cEBRDENABLE(brdp);
brdp3907drivers/char/istallion.cmemptr = (void *) EBRDGETMEMPTR(brdp, fp->f_pos);
brdp3908drivers/char/istallion.cn = MIN(size, (brdp->pagesize - (((unsigned long) fp->f_pos) % brdp->pagesize)));
brdp3914drivers/char/istallion.cEBRDDISABLE(brdp);
brdp3930drivers/char/istallion.cstlibrd_t  *brdp;
brdp3940drivers/char/istallion.cbrdp = &stli_brds[brdnr];
brdp3941drivers/char/istallion.cif (brdp->state == 0)
brdp3948drivers/char/istallion.cEBRDINTR(brdp);
brdp3951drivers/char/istallion.crc = stli_startbrd(brdp);
brdp3954drivers/char/istallion.cbrdp->state &= ~BST_STARTED;
brdp3957drivers/char/istallion.cbrdp->state &= ~BST_STARTED;
brdp3958drivers/char/istallion.cEBRDRESET(brdp);
brdp3960drivers/char/istallion.cif (brdp->reenable != NULL)
brdp3961drivers/char/istallion.c(* brdp->reenable)(brdp);
brdp475drivers/char/stallion.cstatic int  stl_brdinit(stlbrd_t *brdp);
brdp476drivers/char/stallion.cstatic int  stl_initeio(stlbrd_t *brdp);
brdp477drivers/char/stallion.cstatic int  stl_initech(stlbrd_t *brdp);
brdp478drivers/char/stallion.cstatic int  stl_initports(stlbrd_t *brdp, stlpanel_t *panelp);
brdp529drivers/char/stallion.cstlbrd_t  *brdp;
brdp562drivers/char/stallion.cbrdp = stl_brds[i];
brdp564drivers/char/stallion.cpanelp = brdp->panels[j];
brdp581drivers/char/stallion.cif (brdp->brdtype == BRD_ECH) {
brdp582drivers/char/stallion.crelease_region(brdp->ioaddr1, 2);
brdp583drivers/char/stallion.crelease_region(brdp->ioaddr2, 32);
brdp584drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECHPCI) {
brdp585drivers/char/stallion.crelease_region(brdp->ioaddr1, 4);
brdp586drivers/char/stallion.crelease_region(brdp->ioaddr2, 8);
brdp587drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECHMC) {
brdp588drivers/char/stallion.crelease_region(brdp->ioaddr1, 64);
brdp589drivers/char/stallion.c} else if (brdp->brdtype == BRD_EASYIO) {
brdp590drivers/char/stallion.crelease_region(brdp->ioaddr1, 8);
brdp593drivers/char/stallion.ckfree_s(brdp, sizeof(stlbrd_t));
brdp624drivers/char/stallion.cstlbrd_t  *brdp;
brdp636drivers/char/stallion.cbrdp = stl_brds[brdnr];
brdp637drivers/char/stallion.cif (brdp == (stlbrd_t *) NULL)
brdp641drivers/char/stallion.cif (brdp->panels[panelnr] == (stlpanel_t *) NULL)
brdp643drivers/char/stallion.cif (minordev < brdp->panels[panelnr]->nrports) {
brdp647drivers/char/stallion.cminordev -= brdp->panels[panelnr]->nrports;
brdp652drivers/char/stallion.cportp = brdp->panels[panelnr]->ports[portnr];
brdp1104drivers/char/stallion.cstlbrd_t    *brdp;
brdp1122drivers/char/stallion.cbrdp = stl_brds[portp->brdnr];
brdp1123drivers/char/stallion.cif (brdp != (stlbrd_t *) NULL)
brdp1124drivers/char/stallion.csio.irq = brdp->irq;
brdp1756drivers/char/stallion.cstlbrd_t  *brdp;
brdp1767drivers/char/stallion.cif ((brdp = stl_brds[i]) == (stlbrd_t *) NULL) {
brdp1771drivers/char/stallion.cif (brdp->state == 0) {
brdp1780drivers/char/stallion.cif (brdp->brdtype == BRD_EASYIO) {
brdp1781drivers/char/stallion.cif ((inb(brdp->iostatus) & EIO_INTRPEND) == 0) {
brdp1785drivers/char/stallion.cpanelp = brdp->panels[0];
brdp1789drivers/char/stallion.cif (brdp->nrports > 4) {
brdp1793drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECH) {
brdp1794drivers/char/stallion.cif ((inb(brdp->iostatus) & ECH_INTRPEND) == 0) {
brdp1798drivers/char/stallion.coutb((brdp->ioctrlval | ECH_BRDENABLE), brdp->ioctrl);
brdp1799drivers/char/stallion.cfor (panelnr = 0; (panelnr < brdp->nrpanels); panelnr++) {
brdp1800drivers/char/stallion.cpanelp = brdp->panels[panelnr];
brdp1810drivers/char/stallion.cif (panelnr >= brdp->nrpanels) {
brdp1818drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECHPCI) {
brdp1819drivers/char/stallion.ciobase = brdp->ioaddr2;
brdp1820drivers/char/stallion.cfor (panelnr = 0; (panelnr < brdp->nrpanels); panelnr++) {
brdp1821drivers/char/stallion.cpanelp = brdp->panels[panelnr];
brdp1822drivers/char/stallion.coutb(panelp->pagenr, brdp->ioctrl);
brdp1826drivers/char/stallion.coutb((panelp->pagenr + 1), brdp->ioctrl);
brdp1831drivers/char/stallion.cif (panelnr >= brdp->nrpanels) {
brdp1839drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECHMC) {
brdp1840drivers/char/stallion.cif ((inb(brdp->iostatus) & ECH_INTRPEND) == 0) {
brdp1844drivers/char/stallion.cfor (panelnr = 0; (panelnr < brdp->nrpanels); panelnr++) {
brdp1845drivers/char/stallion.cpanelp = brdp->panels[panelnr];
brdp1855drivers/char/stallion.cif (panelnr >= brdp->nrpanels) {
brdp1864drivers/char/stallion.cprintk("STALLION: unknown board type=%x\n", brdp->brdtype);
brdp1881drivers/char/stallion.cif (brdp->brdtype == BRD_ECH)
brdp1882drivers/char/stallion.coutb((brdp->ioctrlval | ECH_BRDDISABLE), brdp->ioctrl);
brdp1958drivers/char/stallion.cstlbrd_t  *brdp;
brdp1981drivers/char/stallion.cbrdp = stl_brds[portp->brdnr];
brdp1982drivers/char/stallion.cif (brdp == (stlbrd_t *) NULL)
brdp2389drivers/char/stallion.cstatic int stl_initports(stlbrd_t *brdp, stlpanel_t *panelp)
brdp2409drivers/char/stallion.cif (brdp->brdtype == BRD_ECHPCI) {
brdp2410drivers/char/stallion.coutb((panelp->pagenr + (i >> 1)), brdp->ioctrl);
brdp2442drivers/char/stallion.cif (brdp->brdtype == BRD_ECHPCI) {
brdp2443drivers/char/stallion.coutb((panelp->pagenr + (i >> 3)), brdp->ioctrl);
brdp2484drivers/char/stallion.cstatic int stl_initeio(stlbrd_t *brdp)
brdp2491drivers/char/stallion.cprintk("stl_initeio(brdp=%x)\n", (int) brdp);
brdp2494drivers/char/stallion.cbrdp->ioctrl = brdp->ioaddr1 + 1;
brdp2495drivers/char/stallion.cbrdp->iostatus = brdp->ioaddr1 + 2;
brdp2497drivers/char/stallion.cstatus = inb(brdp->iostatus);
brdp2502drivers/char/stallion.cbrdp->nrports = 8;
brdp2505drivers/char/stallion.cbrdp->nrports = 4;
brdp2511drivers/char/stallion.crequest_region(brdp->ioaddr1, 8, "serial(EIO)");
brdp2518drivers/char/stallion.cif ((brdp->irq < 0) || (brdp->irq > 15) ||
brdp2519drivers/char/stallion.c(stl_vecmap[brdp->irq] == (unsigned char) 0xff)) {
brdp2520drivers/char/stallion.cprintk("STALLION: invalid irq=%d for brd=%d\n", brdp->irq, brdp->brdnr);
brdp2523drivers/char/stallion.coutb((stl_vecmap[brdp->irq] | ((brdp->irqtype) ? EIO_INTLEVEL : EIO_INTEDGE)), brdp->ioctrl);
brdp2532drivers/char/stallion.cpanelp->brdnr = brdp->brdnr;
brdp2534drivers/char/stallion.cpanelp->nrports = brdp->nrports;
brdp2535drivers/char/stallion.cpanelp->iobase = brdp->ioaddr1;
brdp2536drivers/char/stallion.cbrdp->panels[0] = panelp;
brdp2537drivers/char/stallion.cbrdp->nrpanels = 1;
brdp2538drivers/char/stallion.cbrdp->state |= BRD_FOUND;
brdp2539drivers/char/stallion.crc = stl_mapirq(brdp->irq);
brdp2550drivers/char/stallion.cstatic int stl_initech(stlbrd_t *brdp)
brdp2557drivers/char/stallion.cprintk("stl_initech(brdp=%x)\n", (int) brdp);
brdp2565drivers/char/stallion.cif (brdp->brdtype == BRD_ECH) {
brdp2566drivers/char/stallion.cbrdp->ioctrl = brdp->ioaddr1 + 1;
brdp2567drivers/char/stallion.cbrdp->iostatus = brdp->ioaddr1 + 1;
brdp2568drivers/char/stallion.cstatus = inb(brdp->iostatus);
brdp2572drivers/char/stallion.cif ((brdp->irq < 0) || (brdp->irq > 15) ||
brdp2573drivers/char/stallion.c(stl_vecmap[brdp->irq] == (unsigned char) 0xff)) {
brdp2574drivers/char/stallion.cprintk("STALLION: invalid irq=%d for brd=%d\n", brdp->irq, brdp->brdnr);
brdp2577drivers/char/stallion.cstatus = ((brdp->ioaddr2 & ECH_ADDR2MASK) >> 1);
brdp2578drivers/char/stallion.cstatus |= (stl_vecmap[brdp->irq] << 1);
brdp2579drivers/char/stallion.coutb((status | ECH_BRDRESET), brdp->ioaddr1);
brdp2580drivers/char/stallion.cbrdp->ioctrlval = ECH_INTENABLE | ((brdp->irqtype) ? ECH_INTLEVEL : ECH_INTEDGE);
brdp2581drivers/char/stallion.coutb((brdp->ioctrlval | ECH_BRDENABLE), brdp->ioctrl);
brdp2582drivers/char/stallion.coutb(status, brdp->ioaddr1);
brdp2584drivers/char/stallion.crequest_region(brdp->ioaddr1, 2, "serial(EC8/32)");
brdp2585drivers/char/stallion.crequest_region(brdp->ioaddr2, 32, "serial(EC8/32-secondary)");
brdp2586drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECHMC) {
brdp2587drivers/char/stallion.cbrdp->ioctrl = brdp->ioaddr1 + 0x20;
brdp2588drivers/char/stallion.cbrdp->iostatus = brdp->ioctrl;
brdp2589drivers/char/stallion.cstatus = inb(brdp->iostatus);
brdp2593drivers/char/stallion.cif ((brdp->irq < 0) || (brdp->irq > 15) ||
brdp2594drivers/char/stallion.c(stl_vecmap[brdp->irq] == (unsigned char) 0xff)) {
brdp2595drivers/char/stallion.cprintk("STALLION: invalid irq=%d for brd=%d\n", brdp->irq, brdp->brdnr);
brdp2598drivers/char/stallion.coutb(ECHMC_BRDRESET, brdp->ioctrl);
brdp2599drivers/char/stallion.coutb(ECHMC_INTENABLE, brdp->ioctrl);
brdp2601drivers/char/stallion.crequest_region(brdp->ioaddr1, 64, "serial(EC8/32-MC)");
brdp2602drivers/char/stallion.c} else if (brdp->brdtype == BRD_ECHPCI) {
brdp2603drivers/char/stallion.cbrdp->ioctrl = brdp->ioaddr1 + 2;
brdp2604drivers/char/stallion.crequest_region(brdp->ioaddr1, 4, "serial(EC8/32-PCI)");
brdp2605drivers/char/stallion.crequest_region(brdp->ioaddr2, 8, "serial(EC8/32-PCI-secondary)");
brdp2612drivers/char/stallion.cioaddr = brdp->ioaddr2;
brdp2617drivers/char/stallion.cif (brdp->brdtype == BRD_ECHPCI) {
brdp2618drivers/char/stallion.coutb(nxtid, brdp->ioctrl);
brdp2619drivers/char/stallion.cioaddr = brdp->ioaddr2;
brdp2630drivers/char/stallion.cpanelp->brdnr = brdp->brdnr;
brdp2635drivers/char/stallion.cif ((brdp->nrports + 16) > 32)
brdp2639drivers/char/stallion.cbrdp->nrports += 16;
brdp2645drivers/char/stallion.cbrdp->nrports += 8;
brdp2649drivers/char/stallion.cbrdp->panels[panelnr++] = panelp;
brdp2650drivers/char/stallion.cbrdp->nrpanels++;
brdp2651drivers/char/stallion.cif (ioaddr >= (brdp->ioaddr2 + 0x20))
brdp2655drivers/char/stallion.cif (brdp->brdtype == BRD_ECH)
brdp2656drivers/char/stallion.coutb((brdp->ioctrlval | ECH_BRDDISABLE), brdp->ioctrl);
brdp2658drivers/char/stallion.cbrdp->state |= BRD_FOUND;
brdp2659drivers/char/stallion.ci = stl_mapirq(brdp->irq);
brdp2672drivers/char/stallion.cstatic int stl_brdinit(stlbrd_t *brdp)
brdp2677drivers/char/stallion.cprintk("stl_brdinit(brdp=%x)\n", (int) brdp);
brdp2680drivers/char/stallion.cswitch (brdp->brdtype) {
brdp2682drivers/char/stallion.cstl_initeio(brdp);
brdp2687drivers/char/stallion.cstl_initech(brdp);
brdp2690drivers/char/stallion.cprintk("STALLION: unit=%d is unknown board type=%d\n", brdp->brdnr, brdp->brdtype);
brdp2694drivers/char/stallion.cstl_brds[brdp->brdnr] = brdp;
brdp2695drivers/char/stallion.cif ((brdp->state & BRD_FOUND) == 0) {
brdp2696drivers/char/stallion.cprintk("STALLION: %s board not found, unit=%d io=%x irq=%d\n", stl_brdnames[brdp->brdtype], brdp->brdnr, brdp->ioaddr1, brdp->irq);
brdp2701drivers/char/stallion.cif (brdp->panels[i] != (stlpanel_t *) NULL)
brdp2702drivers/char/stallion.cstl_initports(brdp, brdp->panels[i]);
brdp2704drivers/char/stallion.cprintk("STALLION: %s found, unit=%d io=%x irq=%d nrpanels=%d nrports=%d\n", stl_brdnames[brdp->brdtype], brdp->brdnr, brdp->ioaddr1, brdp->irq, brdp->nrpanels, brdp->nrports);
brdp2719drivers/char/stallion.cstlbrd_t  *brdp;
brdp2755drivers/char/stallion.cbrdp = (stlbrd_t *) stl_memalloc(sizeof(stlbrd_t));
brdp2756drivers/char/stallion.cif (brdp == (stlbrd_t *) NULL) {
brdp2760drivers/char/stallion.cmemset(brdp, 0, sizeof(stlbrd_t));
brdp2761drivers/char/stallion.cbrdp->brdnr = stl_nrbrds++;
brdp2762drivers/char/stallion.cbrdp->brdtype = BRD_ECHPCI;
brdp2768drivers/char/stallion.cbrdp->ioaddr2 = (ioaddr & PCI_BASE_ADDRESS_IO_MASK);
brdp2774drivers/char/stallion.cbrdp->ioaddr1 = (ioaddr & PCI_BASE_ADDRESS_IO_MASK);
brdp2776drivers/char/stallion.cprintk("%s(%d): BAR0=%x BAR1=%x\n", __FILE__, __LINE__, brdp->ioaddr2, brdp->ioaddr1);
brdp2783drivers/char/stallion.cbrdp->irq = irq;
brdp2797drivers/char/stallion.cstl_brdinit(brdp);
brdp2816drivers/char/stallion.cstlbrd_t  *brdp;
brdp2835drivers/char/stallion.cbrdp = (stlbrd_t *) stl_memalloc(sizeof(stlbrd_t));
brdp2836drivers/char/stallion.cif (brdp == (stlbrd_t *) NULL) {
brdp2840drivers/char/stallion.cmemset(brdp, 0, sizeof(stlbrd_t));
brdp2842drivers/char/stallion.cbrdp->brdnr = i;
brdp2843drivers/char/stallion.cbrdp->brdtype = confp->brdtype;
brdp2844drivers/char/stallion.cbrdp->ioaddr1 = confp->ioaddr1;
brdp2845drivers/char/stallion.cbrdp->ioaddr2 = confp->ioaddr2;
brdp2846drivers/char/stallion.cbrdp->irq = confp->irq;
brdp2847drivers/char/stallion.cbrdp->irqtype = confp->irqtype;
brdp2848drivers/char/stallion.cstl_brdinit(brdp);