• Home
  • Raw
  • Download

Lines Matching refs:qbase

81 	int qbase = priv->qbase;  in ql_zap()  local
84 x = inb(qbase + 0xd); in ql_zap()
86 outb(3, qbase + 3); /* reset SCSI */ in ql_zap()
87 outb(2, qbase + 3); /* reset chip */ in ql_zap()
99 int qbase = priv->qbase; in ql_pdma() local
105 if (reqlen >= 128 && (inb(qbase + 8) & 2)) { /* full */ in ql_pdma()
106 insl(qbase + 4, request, 32); in ql_pdma()
111 if ((j = inb(qbase + 8)) & 4) in ql_pdma()
113 insl(qbase + 4, request, 21); in ql_pdma()
117 if (reqlen >= 44 && (inb(qbase + 8) & 8)) { /* 1/3 */ in ql_pdma()
118 insl(qbase + 4, request, 11); in ql_pdma()
130 while (reqlen && !((j = inb(qbase + 8)) & 0x10)) in ql_pdma()
132 *request++ = inb(qbase + 4); in ql_pdma()
136 j = inb(qbase + 8); in ql_pdma()
142 if (reqlen >= 128 && inb(qbase + 8) & 0x10) { /* empty */ in ql_pdma()
143 outsl(qbase + 4, request, 32); in ql_pdma()
148 if (!((j = inb(qbase + 8)) & 8)) { in ql_pdma()
149 outsl(qbase + 4, request, 21); in ql_pdma()
153 if (reqlen >= 40 && !(inb(qbase + 8) & 4)) { /* 2/3 */ in ql_pdma()
154 outsl(qbase + 4, request, 10); in ql_pdma()
164 while (reqlen && !((j = inb(qbase + 8)) & 2)) in ql_pdma()
166 outb(*request++, qbase + 4); in ql_pdma()
170 j = inb(qbase + 8); in ql_pdma()
174 return inb(qbase + 8) & 0xc0; in ql_pdma()
184 int qbase = priv->qbase; in ql_wai() local
190 !((k = inb(qbase + 4)) & 0xe0)) { in ql_wai()
215 int qbase = priv->qbase; in ql_icmd() local
224 inb(qbase + 5); /* clear interrupts */ in ql_icmd()
225 if (inb(qbase + 5)) /* if still interrupting */ in ql_icmd()
226 outb(2, qbase + 3); /* reset chip */ in ql_icmd()
227 else if (inb(qbase + 7) & 0x1f) in ql_icmd()
228 outb(1, qbase + 3); /* clear fifo */ in ql_icmd()
229 while (inb(qbase + 5)); /* clear ints */ in ql_icmd()
231 outb(1, qbase + 8); /* set for PIO pseudo DMA */ in ql_icmd()
232 outb(0, qbase + 0xb); /* disable ints */ in ql_icmd()
233 inb(qbase + 8); /* clear int bits */ in ql_icmd()
235 outb(0x40, qbase + 0xb); /* enable features */ in ql_icmd()
238 outb(qlcfgc, qbase + 0xc); in ql_icmd()
240 outb(0x40 | qlcfg8 | priv->qinitid, qbase + 8); in ql_icmd()
241 outb(qlcfg7, qbase + 7); in ql_icmd()
242 outb(qlcfg6, qbase + 6); in ql_icmd()
243 outb(qlcfg5, qbase + 5); /* select timer */ in ql_icmd()
244 outb(qlcfg9 & 7, qbase + 9); /* prescaler */ in ql_icmd()
246 outb(scmd_id(cmd), qbase + 4); in ql_icmd()
249 outb(cmd->cmnd[i], qbase + 2); in ql_icmd()
252 outb(0x41, qbase + 3); /* select and send command */ in ql_icmd()
270 int qbase = priv->qbase; in ql_pcmd() local
274 j = inb(qbase + 6); in ql_pcmd()
275 i = inb(qbase + 5); in ql_pcmd()
279 i |= inb(qbase + 5); /* the 0x10 bit can be set after the 0x08 */ in ql_pcmd()
294 j, i, inb(qbase + 7) & 0x1f); in ql_pcmd()
299 if (inb(qbase + 7) & 0x1f) /* if some bytes in fifo */ in ql_pcmd()
300 outb(1, qbase + 3); /* clear fifo */ in ql_pcmd()
304 if (reqlen && !((phase = inb(qbase + 4)) & 6)) { /* data phase */ in ql_pcmd()
307 outb(reqlen, qbase); /* low-mid xfer cnt */ in ql_pcmd()
308 outb(reqlen >> 8, qbase + 1); /* low-mid xfer cnt */ in ql_pcmd()
309 outb(reqlen >> 16, qbase + 0xe); /* high xfer cnt */ in ql_pcmd()
310 outb(0x90, qbase + 3); /* command do xfer */ in ql_pcmd()
332 k = inb(qbase + 5); /* should be 0x10, bus service */ in ql_pcmd()
342 !(inb(qbase + 4) & 6)) in ql_pcmd()
351 while (inb(qbase + 5)) in ql_pcmd()
357 outb(0x11, qbase + 3); /* get status and message */ in ql_pcmd()
360 i = inb(qbase + 5); /* get chip irq stat */ in ql_pcmd()
361 j = inb(qbase + 7) & 0x1f; /* and bytes rec'd */ in ql_pcmd()
362 status = inb(qbase + 2); in ql_pcmd()
363 message = inb(qbase + 2); in ql_pcmd()
373 outb(0x12, qbase + 3); /* done, disconnect */ in ql_pcmd()
382 i = inb(qbase + 5); /* should be bus service */ in ql_pcmd()
386 i |= inb(qbase + 5); in ql_pcmd()
405 int qbase = priv->qbase; in ql_ihandl() local
408 if (!(inb(qbase + 4) & 0x80)) /* false alarm? */ in ql_ihandl()
414 while (i-- && inb(qbase + 5)); /* maybe also ql_zap() */ in ql_ihandl()
533 int qlogicfas408_get_chip_type(int qbase, int int_type) in qlogicfas408_get_chip_type() argument
536 return inb(qbase + 0xe) & 0xf8; in qlogicfas408_get_chip_type()
543 void qlogicfas408_setup(int qbase, int id, int int_type) in qlogicfas408_setup() argument
545 outb(1, qbase + 8); /* set for PIO pseudo DMA */ in qlogicfas408_setup()
547 outb(0x40 | qlcfg8 | id, qbase + 8); /* (ini) bus id, disable scsi rst */ in qlogicfas408_setup()
548 outb(qlcfg5, qbase + 5); /* select timer */ in qlogicfas408_setup()
549 outb(qlcfg9, qbase + 9); /* prescaler */ in qlogicfas408_setup()
552 outb(3, qbase + 3); in qlogicfas408_setup()
556 while (inb(qbase + 0xf) & 4) in qlogicfas408_setup()
567 int qlogicfas408_detect(int qbase, int int_type) in qlogicfas408_detect() argument
570 return (((inb(qbase + 0xe) ^ inb(qbase + 0xe)) == 7) && in qlogicfas408_detect()
571 ((inb(qbase + 0xe) ^ inb(qbase + 0xe)) == 7)); in qlogicfas408_detect()
580 int qbase = priv->qbase; in qlogicfas408_disable_ints() local
584 outb(0, qbase + 0xb); /* disable ints */ in qlogicfas408_disable_ints()