summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1999-02-11 07:12:16 +0000
committergibbs <gibbs@FreeBSD.org>1999-02-11 07:12:16 +0000
commit0b7d53e958b478611f943b5d56de1094971aa62a (patch)
treebc415e91055fd8f40eb97831763181b7f802c3d2 /sys/pci
parent7967a0ac4155efa2d4027dc6b1befcce08e2ab1f (diff)
downloadFreeBSD-src-0b7d53e958b478611f943b5d56de1094971aa62a.zip
FreeBSD-src-0b7d53e958b478611f943b5d56de1094971aa62a.tar.gz
Set the ultra enable bits in the adaptor's scratch ram area only after
we finish modifying our in kernel version during seeprom configuration.
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/ahc_pci.c39
1 files changed, 19 insertions, 20 deletions
diff --git a/sys/pci/ahc_pci.c b/sys/pci/ahc_pci.c
index e7d54f9..596482e 100644
--- a/sys/pci/ahc_pci.c
+++ b/sys/pci/ahc_pci.c
@@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: ahc_pci.c,v 1.4 1998/12/14 05:47:25 dillon Exp $
+ * $Id: ahc_pci.c,v 1.5 1998/12/15 08:23:10 gibbs Exp $
*/
#include <pci.h>
@@ -226,22 +226,22 @@ ahc_pci_probe (pcici_t tag, pcidi_t type)
static void
ahc_pci_attach(pcici_t config_id, int unit)
{
- u_int16_t io_port;
- struct ahc_softc *ahc;
- u_int32_t id;
- u_int32_t command;
+ pci_port_t io_port;
+ struct ahc_softc *ahc;
+ u_int32_t id;
+ u_int32_t command;
struct scb_data *shared_scb_data;
int opri;
- ahc_chip ahc_t = AHC_NONE;
- ahc_feature ahc_fe = AHC_FENONE;
- ahc_flag ahc_f = AHC_FNONE;
- vm_offset_t vaddr;
- vm_offset_t paddr;
- u_int8_t our_id = 0;
- u_int8_t sxfrctl1;
- u_int8_t scsiseq;
- int error;
- char channel;
+ ahc_chip ahc_t = AHC_NONE;
+ ahc_feature ahc_fe = AHC_FENONE;
+ ahc_flag ahc_f = AHC_FNONE;
+ vm_offset_t vaddr;
+ vm_offset_t paddr;
+ u_int our_id = 0;
+ u_int sxfrctl1;
+ u_int scsiseq;
+ int error;
+ char channel;
if (config_id->func == 1)
channel = 'B';
@@ -780,11 +780,6 @@ check_extport(struct ahc_softc *ahc, u_int8_t *sxfrctl1)
}
ahc_outb(ahc, TARG_SCSIRATE + i, scsirate);
}
- ahc_outb(ahc, DISC_DSB, ~(ahc->discenable & 0xff));
- ahc_outb(ahc, DISC_DSB + 1, ~((ahc->discenable >> 8) & 0xff));
- ahc_outb(ahc, ULTRA_ENB, ahc->ultraenb & 0xff);
- ahc_outb(ahc, ULTRA_ENB + 1, (ahc->ultraenb >> 8) & 0xff);
-
ahc->our_id = sc.brtime_id & CFSCSIID;
scsi_conf = (ahc->our_id & 0x7);
@@ -804,6 +799,10 @@ check_extport(struct ahc_softc *ahc, u_int8_t *sxfrctl1)
}
/* Set SCSICONF info */
ahc_outb(ahc, SCSICONF, scsi_conf);
+ ahc_outb(ahc, DISC_DSB, ~(ahc->discenable & 0xff));
+ ahc_outb(ahc, DISC_DSB + 1, ~((ahc->discenable >> 8) & 0xff));
+ ahc_outb(ahc, ULTRA_ENB, ahc->ultraenb & 0xff);
+ ahc_outb(ahc, ULTRA_ENB + 1, (ahc->ultraenb >> 8) & 0xff);
}
if ((ahc->features & AHC_SPIOCAP) != 0) {
OpenPOWER on IntegriCloud