Subject: Re: Snapshot 20030927 available
To: None <wileyc@rezrov.net>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-sgimips
Date: 09/30/2003 23:20:33
In article <20030930000525.GJ13738@rezrov.net>
wileyc@rezrov.net wrote:

> > Is there no way to detect whether the probed device is
> > (broken) O2 on-board ahc or normal one at run time?
> 
> None that I can see.  The chip is successfully reset, which foils the check in
> aic7xxx.c:4011 -- and probing the bogus SEEPROM fills scsiseq with a nonzero
> value, which keeps the check at ahc_pci.c:1046 from working in this situation.

It seems (ahc->flags & AHC_USEDEFAULTS) is true at ahc_pci.c:1035
with your O2 on-board aic7xxx, right?
Then, since AHC_USEDEFAULTS is set only if the ahc driver can't find
SEEPROM in sys/dev/ic/aic7xxx_seeprom.c:ahc_check_extport(),
ahc on O2 does not have SEEPROM.

On the other hand, there is the following comment:
> /* Remember how the card was setup in case there is no SEEPROM */
at line 914 in ahc_pci.c, but the next line is:
>	if ((ahc_inb(ahc, HCNTRL) & POWRDN) == 0) {
so it does not see ahc->flags to check SEEPROM. Is this really OK?
I.e. is this problem is only O2 specific, or all aic7xxx interfaces
without SEEPROM have the same problem?
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp