SCO OpenServer
intr(D2osdi)
intr --
handle interrupts for SCSI peripheral drivers
Synopsis
prefixintr(REQ_IO *req_p);
See
intr(D2oddi)
for syntax, arguments, context, and return values
for the host adapter's
intr( )
entry point routine.
Description
Interrupt handling entry point routine
for SCSI periphral drivers.
Arguments
req_p-
pointer to a
scsi_io_req(D4osdi)
request block
Usage
SCSI peripheral drivers use the
intr( )
routine as the driver's callback function.
It is called by the host adapter driver's
intr( )
routine at interrupt time
to either inform the user-level process
that the I/O has completed
or to inform a sleeping process
that a free request block is available.
If the SCSI host adapter queues requests,
the
intr( )
routine attempts to dispatch another request block to the device
using the driver's
start( )
routine.
The logic of a SCSI peripheral driver's
intr( )
routine is:
-
Determine which SCSI peripheral device
caused the interrupt.
If the interrupt is spurious,
display a message on the console and return.
-
Check and update the status flags
the host adapter and device:
put either error information
or I/O completion and status information
in the xxtab structure.
( )
Call
iodone(D3oddi)
and then clear the request block.
-
Call the
start( )
routine to handle any outstanding requests.
The driver's
init(D2oddi)
routine should configure interrupts dynamically
using the
Sharegister(D3osdi)
function although manual configuration is also supported.
Context and synchronization
Interrupt
context
Hardware applicability
All
Version applicability
osdi:
SCSI peripheral drivers.
Differences between versions
External dependencies
References
intr(D2oddi)
``OSDI SCSI driver interface version for SCO OpenServer 5'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 5 HDK - June 2005