[parisc-linux] EISA support

Richard Hirst rhirst@linuxcare.com
Thu, 11 Oct 2001 09:15:00 +0100


On Wed, Oct 10, 2001 at 03:28:07PM +0100, Matthew Wilcox wrote:
> Alternatively, we could hack the 53c710 script to generate CPU interrupts
> directly :-)  Let me just document how that would work (Grant, please
> correct me if I misunderstood):
> 
> Instead of generating a PCI/EISA interrupt, generate a write of an
> allocated value to the CPU's EIRR (External Interrupt register).
> This way, the CPU jumps straight to the scsi chip's interrupt handler
> rather than Asp's, which then has to decode which Asp IRQ it was;
> then jump to the EISA interrupt handler, decode which EISA IRQ it was,
> finally calling the scsi interrupt handler.

If we make the scsi script do that, the scsi chip wont realise it
has generated an interrupt, so wont stop processing scripts.  The
driver expects th chip to be halted when the int handler is called.
If we had a driver specific to the 53c710 where the scsi script managed
queues of requests itself, there might be scope for emulating an
INTFLY instruction (which is found on newer chips) that way.  The
53c700 doesn't have the capability of writing memory locations from
script.

Richard