xref: /csrg-svn/share/man/man4/man4.tahoe/dr.4 (revision 47673)
1*47673Scael.\" Copyright (c) 1983, 1991 Regents of the University of California.
2*47673Scael.\" All rights reserved.
330225Ssam.\"
4*47673Scael.\" %sccs.include.redist.man%
530225Ssam.\"
6*47673Scael.\"     @(#)dr.4	6.3 (Berkeley) 03/27/91
7*47673Scael.\"
8*47673Scael.Dd
9*47673Scael.Dt DR 4 tahoe
10*47673Scael.Os BSD 4.2
11*47673Scael.Sh NAME
12*47673Scael.Nm dr
13*47673Scael.Nd Ikon
14*47673Scael.Tn DR-11W
15*47673Scaelinterface
16*47673Scael.Sh SYNOPSIS
17*47673Scael.Cd "device dr0 at vba? csr 0xffff8000 vector drintr"
18*47673Scael.Sh DESCRIPTION
1930225SsamThe
20*47673Scael.Nm dr
2130225Ssamdriver provides access
22*47673Scaelto an Ikon
23*47673Scael.Tn DR-11W
24*47673Scael.Tn DMA
25*47673Scaelcontroller.
2630225SsamEach minor device is a different controller.
27*47673Scael.Pp
2830225SsamIn addition to reading and writing, the following
29*47673Scael.Xr ioctl 2
3030225Ssamrequests are available:
31*47673Scael.Bl -tag -width DRSETNORSTALL
32*47673Scael.It Dv DRWAIT
3330225SsamWait for an attention interrupt from the associated device.
34*47673Scael.It Dv DRPIOW
35*47673ScaelWrite to the programmed
36*47673Scael.Tn I/O
37*47673Scaelregister.
38*47673Scael.It Dv DRPACL
3930225SsamWrite to the pulse register.
40*47673Scael.It Dv DRDACL
41*47673ScaelSet the ``ac-low'' bit in the next command sent to the
42*47673Scael.Tn DR-11W .
43*47673Scael.It Dv DRPCYL
44*47673ScaelSet the ``cycle'' bit in the next command sent to the
45*47673Scael.Tn DR-11W .
46*47673Scael.It Dv DRDFCN
4730225SsamHold the function bits until the next command is issused.
48*47673Scael.It Dv DRRATN
4930225SsamReset the attention flag.
50*47673Scael.It Dv DRRDMA
51*47673ScaelReset the
52*47673Scael.Tn DMA
53*47673Scaelcomplete flag.
54*47673Scael.It Dv DRSFCN
5530225SsamSet the function bits in the control status register and,
5630225Ssamas a side effect, clear the interrupt enable flag.
57*47673Scael.It Dv DRRPER
5830225SsamReset the parity error flag.
59*47673Scael.It Dv DRSETRSTALL
6030225SsamSet ``no stall'' mode for all subsequent reads.
6130225SsamIn no stall mode the driver will abort
6230225Ssamread requests that fail to complete before a user
6330225Ssamspecified timeout expires.
64*47673Scael.It Dv DRSETNORSTALL
6530225SsamDisable no stall mode for reads.
66*47673Scael.It Dv DRGETRSTALL
6730225SsamReturn true if in no stall mode for reads.
68*47673Scael.It Dv DRSETRTIMEOUT
6930225SsamSet the value of the timeout used in no stall mode  for
7030225Ssamreads.  The time is specified in tenths of seconds.
71*47673Scael.It Dv DRGETRTIMEOUT
7230225SsamReturn the time until (in tenths of seconds) before a read
7330225Ssamis timed out when in no stall mode.
74*47673Scael.It Dv DRSETWSTALL
7530225SsamSet ``no stall'' mode for all subsequent writes.
7630225SsamIn no stall mode the driver will abort
7730225Ssamwrite requests that fail to complete before a user
7830225Ssamspecified timeout expires.
79*47673Scael.It Dv DRSETNOWSTALL
8030225SsamDisable no stall mode for writes.
81*47673Scael.It Dv DRGETWSTALL
8230225SsamReturn true if in no stall mode for writes.
83*47673Scael.It Dv DRSETWTIMEOUT
8430225SsamSet the value of the timeout used in no stall mode  for
8530225Ssamwrites.  The time is specified in tenths of seconds.
86*47673Scael.It Dv DRGETRTIMEOUT
8730225SsamReturn the time until (in tenths of seconds) before a write
8830225Ssamis timed out when in no stall mode.
89*47673Scael.It Dv DRWRITEREADY
9030225SsamReturn 1 if the device can accept data, 0 otherwise
91*47673Scael(this is really the
92*47673Scael.Tn DR-11W A
93*47673Scaelstatus bit).
94*47673Scael.It Dv DRREADREADY
9530225SsamReturn 1 if the device has data for the host to read,
96*47673Scael0 otherwise (this is really the
97*47673Scael.Tn DR-11W B
98*47673Scaelstatus bit).
99*47673Scael.It Dv DRBUSY
10030225SsamReturn 1  if the device is busy, 0 otherwise.
101*47673Scael.It Dv DRRESET
10230225SsamReset the DR-11W.
103*47673Scael.It Dv DR11STAT
10430225SsamReturn the driver status and the contents of the
105*47673Scael.Tn DR-11W
106*47673Scael.Tn I/O registers.  The
10730225Ssameight words returned are, in order, the driver
10830225Ssamstatus flags, the contents of the control status
10930225Ssamregister, the contents of the status register
11030225Ssamat the time of the last interrupt from the device,
111*47673Scaelthe contents of the programmed
112*47673Scael.Tn I/O data register,
11330225Ssama combination of the address modifier used by the
114*47673Scaeldevice in performing
115*47673Scael.Tn VERSAbus
116*47673Scaeltransfers and the
11730225Ssaminterrupt vector used by the device, the contents
11830225Ssamof the range register, the contents of the rahi
11930225Ssamregister, and the contents of the ralo register.
120*47673Scael.It Dv DR11LOOP
12130225SsamPerform loopback testing (the loopback cable must
12230225Ssambe in place for this to work).
123*47673Scael.El
124*47673Scael.Sh FILES
125*47673Scael.Bl -tag -width /dev/dr[0-7]xx -compact
126*47673Scael.It Pa /dev/dr[0-7]
127*47673Scaelstandard devices
128*47673Scael.El
129*47673Scael.Sh DIAGNOSTICS
13030225SsamLots of them, none of them meaningful.
131*47673Scael.Sh HISTORY
132*47673ScaelThe
133*47673Scael.Nm
134*47673Scaeldriver appeared in
135*47673Scael.Bx 4.3 tahoe .
136*47673Scael.Sh BUGS
13730225SsamThis driver needs to be rewritten.
138