Lines Matching refs:pi
218 struct pi_adapter *pi; member
252 static inline int status_reg(struct pi_adapter *pi) in status_reg() argument
254 return pi_read_regr(pi, 1, 6); in status_reg()
257 static inline int read_reg(struct pi_adapter *pi, int reg) in read_reg() argument
259 return pi_read_regr(pi, 0, reg); in read_reg()
262 static inline void write_reg(struct pi_adapter *pi, int reg, int val) in write_reg() argument
264 pi_write_regr(pi, 0, reg, val); in write_reg()
275 struct pi_adapter *pi = tape->pi; in pt_wait() local
278 while ((((r = status_reg(pi)) & go) || (stop && (!(r & stop)))) in pt_wait()
283 s = read_reg(pi, 7); in pt_wait()
284 e = read_reg(pi, 1); in pt_wait()
285 p = read_reg(pi, 2); in pt_wait()
299 struct pi_adapter *pi = tape->pi; in pt_command() local
300 pi_connect(pi); in pt_command()
302 write_reg(pi, 6, DRIVE(tape)); in pt_command()
305 pi_disconnect(pi); in pt_command()
309 write_reg(pi, 4, dlen % 256); in pt_command()
310 write_reg(pi, 5, dlen / 256); in pt_command()
311 write_reg(pi, 7, 0xa0); /* ATAPI packet command */ in pt_command()
314 pi_disconnect(pi); in pt_command()
318 if (read_reg(pi, 2) != 1) { in pt_command()
320 pi_disconnect(pi); in pt_command()
324 pi_write_block(pi, cmd, 12); in pt_command()
331 struct pi_adapter *pi = tape->pi; in pt_completion() local
337 if (read_reg(pi, 7) & STAT_DRQ) { in pt_completion()
338 n = (((read_reg(pi, 4) + 256 * read_reg(pi, 5)) + in pt_completion()
340 p = read_reg(pi, 2) & 3; in pt_completion()
342 pi_write_block(pi, buf, n); in pt_completion()
344 pi_read_block(pi, buf, n); in pt_completion()
349 pi_disconnect(pi); in pt_completion()
396 struct pi_adapter *pi = tape->pi; in pt_poll_dsc() local
405 pi_connect(pi); in pt_poll_dsc()
406 write_reg(pi, 6, DRIVE(tape)); in pt_poll_dsc()
407 s = read_reg(pi, 7); in pt_poll_dsc()
408 e = read_reg(pi, 1); in pt_poll_dsc()
409 pi_disconnect(pi); in pt_poll_dsc()
431 pi_disconnect(tape->pi); in pt_media_access_cmd()
453 struct pi_adapter *pi = tape->pi; in pt_reset() local
457 pi_connect(pi); in pt_reset()
458 write_reg(pi, 6, DRIVE(tape)); in pt_reset()
459 write_reg(pi, 7, 8); in pt_reset()
464 while ((k++ < PT_RESET_TMO) && (status_reg(pi) & STAT_BUSY)) in pt_reset()
469 flg &= (read_reg(pi, i + 1) == expect[i]); in pt_reset()
474 printk("%3x", read_reg(pi, i + 1)); in pt_reset()
480 pi_disconnect(pi); in pt_reset()
618 tape->pi = &tape->pia; in pt_detect()
629 if (pi_init(tape->pi, 0, DU[D_PRT], DU[D_MOD], DU[D_UNI], in pt_detect()
636 pi_release(tape->pi); in pt_detect()
641 if (pi_init(tape->pi, 1, -1, -1, -1, -1, -1, pt_scratch, in pt_detect()
647 pi_release(tape->pi); in pt_detect()
768 struct pi_adapter *pi = tape->pi; in pt_read() local
813 pi_disconnect(pi); in pt_read()
821 s = read_reg(pi, 7); in pt_read()
826 n = (read_reg(pi, 4) + 256 * read_reg(pi, 5)); in pt_read()
827 p = (read_reg(pi, 2) & 3); in pt_read()
829 pi_disconnect(pi); in pt_read()
839 pi_read_block(pi, tape->bufptr, k); in pt_read()
845 pi_disconnect(pi); in pt_read()
853 pi_disconnect(pi); in pt_read()
865 struct pi_adapter *pi = tape->pi; in pt_write() local
914 pi_disconnect(pi); in pt_write()
922 s = read_reg(pi, 7); in pt_write()
927 n = (read_reg(pi, 4) + 256 * read_reg(pi, 5)); in pt_write()
928 p = (read_reg(pi, 2) & 3); in pt_write()
930 pi_disconnect(pi); in pt_write()
944 pi_disconnect(pi); in pt_write()
947 pi_write_block(pi, tape->bufptr, k); in pt_write()
954 pi_disconnect(pi); in pt_write()
982 pi_release(pt[unit].pi); in pt_init()
1019 pi_release(pt[unit].pi); in pt_exit()