.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "IDE_INTR" "" "06 October 2005" "" ""
.SH NAME
ide_intr \- default IDE interrupt handler
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
irqreturn_t ide_intr (int \fIirq\fB, void * \fIdev_id\fB, struct pt_regs * \fIregs\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIirq\fB\fR
interrupt number
.TP
\fB\fIdev_id\fB\fR
hwif group
.TP
\fB\fIregs\fB\fR
unused weirdness from the kernel irq layer
.SH "DESCRIPTION"
.PP
This is the default IRQ handler for the IDE layer. You should
not need to override it. If you do be aware it is subtle in
places
.PP
hwgroup->hwif is the interface in the group currently performing
a command. hwgroup->drive is the drive and hwgroup->handler is
the IRQ handler to call. As we issue a command the handlers
step through multiple states, reassigning the handler to the
next step in the process. Unlike a smart SCSI controller IDE
expects the main processor to sequence the various transfer
stages. We also manage a poll timer to catch up with most
timeout situations. There are still a few where the handlers
don't ever decide to give up.
.PP
The handler eventually returns ide_stopped to indicate the
request completed. At this point we issue the next request
on the hwgroup and the process begins again.