From owner-cvs-sys Thu Apr 4 05:13:38 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id FAA26614 for cvs-sys-outgoing; Thu, 4 Apr 1996 05:13:38 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id FAA26592 Thu, 4 Apr 1996 05:13:14 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id XAA13179; Thu, 4 Apr 1996 23:00:58 +1000 Date: Thu, 4 Apr 1996 23:00:58 +1000 From: Bruce Evans Message-Id: <199604041300.XAA13179@godzilla.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 Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > 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