Fix for 1542C support, it turns out that the 0x8 extended bios flag is only
set when extended translation is turned on, thus we need to do the mailbox unlock command no matter what value is in the extended bios flag byte as the other extensions (ie, > 2 drive support) cause the same problems. The code has been changed to ALWAYS unlock the mailbox interface on ALL 1542C class boards.
This commit is contained in:
parent
256a080003
commit
ce0dbe6e66
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=675
@ -12,7 +12,7 @@
|
||||
* on the understanding that TFS is not responsible for the correct
|
||||
* functioning of this software in any circumstances.
|
||||
*
|
||||
* $Id: aha1542.c,v 1.11 1993/10/15 09:43:51 rgrimes Exp $
|
||||
* $Id: aha1542.c,v 1.12 1993/10/16 12:27:20 rgrimes Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -954,19 +954,19 @@ int unit;
|
||||
unit);
|
||||
}
|
||||
/*
|
||||
* If we are on a 1542C or 1542CF find out if the extended bios
|
||||
* is enabled, if it is disable it, or else it will screw us up later
|
||||
* If we are a 1542C or 1542CF disable the extended bios so that the
|
||||
* mailbox interface is unlocked.
|
||||
* No need to check the extended bios flags as some of the
|
||||
* extensions that cause us problems are not flagged in that byte.
|
||||
*/
|
||||
if ((inquire.boardid == 0x43) || (inquire.boardid == 0x44)) {
|
||||
aha_cmd(unit, 0, sizeof(extbios), 0, &extbios, AHA_EXT_BIOS);
|
||||
#ifdef AHADEBUG
|
||||
printf("aha%d: extended bios flags %x\n", unit, extbios.flags);
|
||||
#endif /* AHADEBUG */
|
||||
if (extbios.flags & 0x8) {
|
||||
printf("aha%d: disabling bios enhanced features\n");
|
||||
aha_cmd(unit, 2, 0, 0, 0, AHA_MBX_ENABLE,
|
||||
0, extbios.mailboxlock);
|
||||
}
|
||||
printf("aha%d: 1542C/CF detected, unlocking mailbox\n");
|
||||
aha_cmd(unit, 2, 0, 0, 0, AHA_MBX_ENABLE,
|
||||
0, extbios.mailboxlock);
|
||||
}
|
||||
/***********************************************\
|
||||
* Setup dma channel from jumpers and save int *
|
||||
|
Loading…
Reference in New Issue
Block a user