Lines Matching refs:pi

218 	struct pi_adapter *pi;  member
251 static inline int status_reg(struct pi_adapter *pi) in status_reg() argument
253 return pi_read_regr(pi, 1, 6); in status_reg()
256 static inline int read_reg(struct pi_adapter *pi, int reg) in read_reg() argument
258 return pi_read_regr(pi, 0, reg); in read_reg()
261 static inline void write_reg(struct pi_adapter *pi, int reg, int val) in write_reg() argument
263 pi_write_regr(pi, 0, reg, val); in write_reg()
274 struct pi_adapter *pi = tape->pi; in pt_wait() local
277 while ((((r = status_reg(pi)) & go) || (stop && (!(r & stop)))) in pt_wait()
282 s = read_reg(pi, 7); in pt_wait()
283 e = read_reg(pi, 1); in pt_wait()
284 p = read_reg(pi, 2); in pt_wait()
298 struct pi_adapter *pi = tape->pi; in pt_command() local
299 pi_connect(pi); in pt_command()
301 write_reg(pi, 6, DRIVE(tape)); in pt_command()
304 pi_disconnect(pi); in pt_command()
308 write_reg(pi, 4, dlen % 256); in pt_command()
309 write_reg(pi, 5, dlen / 256); in pt_command()
310 write_reg(pi, 7, 0xa0); /* ATAPI packet command */ in pt_command()
313 pi_disconnect(pi); in pt_command()
317 if (read_reg(pi, 2) != 1) { in pt_command()
319 pi_disconnect(pi); in pt_command()
323 pi_write_block(pi, cmd, 12); in pt_command()
330 struct pi_adapter *pi = tape->pi; in pt_completion() local
336 if (read_reg(pi, 7) & STAT_DRQ) { in pt_completion()
337 n = (((read_reg(pi, 4) + 256 * read_reg(pi, 5)) + in pt_completion()
339 p = read_reg(pi, 2) & 3; in pt_completion()
341 pi_write_block(pi, buf, n); in pt_completion()
343 pi_read_block(pi, buf, n); in pt_completion()
348 pi_disconnect(pi); in pt_completion()
395 struct pi_adapter *pi = tape->pi; in pt_poll_dsc() local
404 pi_connect(pi); in pt_poll_dsc()
405 write_reg(pi, 6, DRIVE(tape)); in pt_poll_dsc()
406 s = read_reg(pi, 7); in pt_poll_dsc()
407 e = read_reg(pi, 1); in pt_poll_dsc()
408 pi_disconnect(pi); in pt_poll_dsc()
430 pi_disconnect(tape->pi); in pt_media_access_cmd()
452 struct pi_adapter *pi = tape->pi; in pt_reset() local
456 pi_connect(pi); in pt_reset()
457 write_reg(pi, 6, DRIVE(tape)); in pt_reset()
458 write_reg(pi, 7, 8); in pt_reset()
463 while ((k++ < PT_RESET_TMO) && (status_reg(pi) & STAT_BUSY)) in pt_reset()
468 flg &= (read_reg(pi, i + 1) == expect[i]); in pt_reset()
473 printk("%3x", read_reg(pi, i + 1)); in pt_reset()
479 pi_disconnect(pi); in pt_reset()
611 tape->pi = &tape->pia; in pt_detect()
622 if (pi_init(tape->pi, 0, DU[D_PRT], DU[D_MOD], DU[D_UNI], in pt_detect()
629 pi_release(tape->pi); in pt_detect()
634 if (pi_init(tape->pi, 1, -1, -1, -1, -1, -1, pt_scratch, in pt_detect()
640 pi_release(tape->pi); in pt_detect()
760 struct pi_adapter *pi = tape->pi; in pt_read() local
805 pi_disconnect(pi); in pt_read()
813 s = read_reg(pi, 7); in pt_read()
818 n = (read_reg(pi, 4) + 256 * read_reg(pi, 5)); in pt_read()
819 p = (read_reg(pi, 2) & 3); in pt_read()
821 pi_disconnect(pi); in pt_read()
831 pi_read_block(pi, tape->bufptr, k); in pt_read()
837 pi_disconnect(pi); in pt_read()
845 pi_disconnect(pi); in pt_read()
857 struct pi_adapter *pi = tape->pi; in pt_write() local
906 pi_disconnect(pi); in pt_write()
914 s = read_reg(pi, 7); in pt_write()
919 n = (read_reg(pi, 4) + 256 * read_reg(pi, 5)); in pt_write()
920 p = (read_reg(pi, 2) & 3); in pt_write()
922 pi_disconnect(pi); in pt_write()
936 pi_disconnect(pi); in pt_write()
939 pi_write_block(pi, tape->bufptr, k); in pt_write()
946 pi_disconnect(pi); in pt_write()
974 pi_release(pt[unit].pi); in pt_init()
1011 pi_release(pt[unit].pi); in pt_exit()