From owner-freebsd-hackers Tue Aug 18 12:09:41 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA08718 for freebsd-hackers-outgoing; Tue, 18 Aug 1998 12:09:41 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from caladan.tdx.co.uk (caladan.tdx.co.uk [195.188.177.4]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA08709 for ; Tue, 18 Aug 1998 12:09:28 -0700 (PDT) (envelope-from kpielorz@tdx.co.uk) Received: from localhost (kpielorz@localhost) by caladan.tdx.co.uk (8.9.1/8.9.1) with SMTP id UAA06289 for ; Tue, 18 Aug 1998 20:08:36 +0100 (BST) Date: Tue, 18 Aug 1998 20:08:36 +0100 (BST) From: Karl Pielorz To: hackers@FreeBSD.ORG Subject: High? Latency device-driver with no IRQ's? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi All, The device driver I've been designing / writing for FreeBSD is starting to shape nicely, except I've hit a problem... The driver needs a 10us delay for the card to carry out some operations, rising to up to 30us delay for others... What's the best way of getting this delay? - I can get the card to generate interrupts or I can wait 10us (for the 30us delay I just have to wait, i.e. there is no irq at the end of the operation). The interrupt fires after every word has been transfered (it uses a 16 bit i/o port)... I'd gather this isn't to hot a thing to do? (causing excessive irq's) - am I better off waiting around in the kernel rather than issuing a sleep() only to be woken up 10us later? If I am better waiting is there a better way to wait? (I can poll the card until it's ready, but it seems a little draconian) - I gather sleep(lbolt) / delay are all tied to the 100hz 'tick'? Thanks in advance for any advice (apart from: Dump the card ;-) Regards, Karl Pielorz To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message