Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Apr 1996 23:00:58 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-sys@freefall.freebsd.org, joerg@freefall.freebsd.org
Subject:   Re: cvs commit:  src/sys/i386/isa lpt.c
Message-ID:  <199604041300.XAA13179@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>  Modified:    sys/i386/isa  lpt.c
>  Log:
>  Work around a braindead signal handling in many newer HP printers.
>  They don't have BUSY de-asserted by the time they ACK (and thus cause
>  an interrupt).  The workaround is to try seeing if the BUSY will be

This is "intelligent" handling.  It gives the system time to respond to
the interrupt before BUSY is de-asserted, so that there can be no dead time
between the de-assertion of and the restart of output.  Of course, a
buffer in the printer with a few usec of time between the high and low
watermarks would work just as well, but this is unnecessary for DOS.
I'm surprised HP gets this wrong.

>  de-asserted soon, and if not, to use an incremental backoff and
>  semi-polled mode instead of the fixed timeout with 1/2 s we've been
>  using previously (that caused the printer to run really slooow).

There's nothing better than a timeout of 1 tick if busy-waiting would
take too long.  This gives a maximum speed of 100 cps which is only
very slow.  The timeout really needs to be as low as a few tens of
usec.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199604041300.XAA13179>