[parisc-linux] Status SPIFI SCSI
Christoph Plattner
christoph.plattner@gmx.at
Mon, 16 Sep 2002 01:25:35 +0200
Hallo Ryan,
here some comments on my non-successful work so far.
I did code reading and used debug instrumented code
to understand the structure behind the linux SCSI
handling.
Further I studied the NetBSD code.
One major point: We do not get any interrupts.
For my analysis I only had a look on the first
steps of SCSI initialization, so this was the
INQUERY command.
The spifi command routine is called correctly,
but it has a wrong logical implementation. As I
have seen on other (older) linux driver, the
xxx_command() has to block, after the command was
successful completed by interrupt. But the interrupt
never comes !! Even a "long" delay for simulating
blocking does not solve this problem.
>From base of the NetBSD code, I cannot follow your
code resetting the spifi subsystem. I think you have
this from HP-UX code. Especially the
__raw_writel(CMD_RESET, dev->hpa + IO_MODULE_COMMAND);
Is this a reset method via the IO PDC address space
common for all HP devices ? In the NetBSD the full
reset is done only via the `auxctrl' register, which
you use for releasing the reset state.
So we have a principal problem here, not having correct
access to the spifi subsystem. Except: the SCSI-ID is
read out correctly, I think, as ...
SCSI subsystem driver Revision: 1.00
DEBUG: 0xfff74c00
Device: Sahp Baat Kiuh SCSI
scsi0 : SPIFI SCSI: scsi_id: 7 IRQ: 34 type: SPIFI-3 (SE) parity
checking: enabled
... is reported !
Is everything around the interrupt subsystem setup correctly ?
The `cat /proc/interrupts' tells ...
bash# cat /proc/interrupts
CPU396195552
32: 124925 PARISC-CPU timer
33: 19767 PARISC-CPU lasi
34: 0 PARISC-CPU spifi
87: 19767 Lasi i82596
... which is no surprise ... !
Till soon,
Christoph P.
--
-------------------------------------------------------
private: christoph.plattner@gmx.at
company: christoph.plattner@alcatel.at