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