Date: Tue, 18 Aug 1998 20:08:36 +0100 (BST) From: Karl Pielorz <kpielorz@tdx.co.uk> To: hackers@FreeBSD.ORG Subject: High? Latency device-driver with no IRQ's? Message-ID: <Pine.BSF.3.96.980818193217.2981A-100000@caladan.tdx.co.uk>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980818193217.2981A-100000>