Set the ultra enable bits in the adaptor's scratch ram area only after

we finish modifying our in kernel version during seeprom configuration.
This commit is contained in:
Justin T. Gibbs 1999-02-11 07:12:16 +00:00
parent ef3c268fde
commit 957fea92f0
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=43882
2 changed files with 38 additions and 40 deletions

View File

@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * 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> #include <pci.h>
@ -226,22 +226,22 @@ ahc_pci_probe (pcici_t tag, pcidi_t type)
static void static void
ahc_pci_attach(pcici_t config_id, int unit) ahc_pci_attach(pcici_t config_id, int unit)
{ {
u_int16_t io_port; pci_port_t io_port;
struct ahc_softc *ahc; struct ahc_softc *ahc;
u_int32_t id; u_int32_t id;
u_int32_t command; u_int32_t command;
struct scb_data *shared_scb_data; struct scb_data *shared_scb_data;
int opri; int opri;
ahc_chip ahc_t = AHC_NONE; ahc_chip ahc_t = AHC_NONE;
ahc_feature ahc_fe = AHC_FENONE; ahc_feature ahc_fe = AHC_FENONE;
ahc_flag ahc_f = AHC_FNONE; ahc_flag ahc_f = AHC_FNONE;
vm_offset_t vaddr; vm_offset_t vaddr;
vm_offset_t paddr; vm_offset_t paddr;
u_int8_t our_id = 0; u_int our_id = 0;
u_int8_t sxfrctl1; u_int sxfrctl1;
u_int8_t scsiseq; u_int scsiseq;
int error; int error;
char channel; char channel;
if (config_id->func == 1) if (config_id->func == 1)
channel = 'B'; 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, 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; ahc->our_id = sc.brtime_id & CFSCSIID;
scsi_conf = (ahc->our_id & 0x7); scsi_conf = (ahc->our_id & 0x7);
@ -804,6 +799,10 @@ check_extport(struct ahc_softc *ahc, u_int8_t *sxfrctl1)
} }
/* Set SCSICONF info */ /* Set SCSICONF info */
ahc_outb(ahc, SCSICONF, scsi_conf); 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) { if ((ahc->features & AHC_SPIOCAP) != 0) {

View File

@ -34,7 +34,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * 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> #include <pci.h>
@ -226,22 +226,22 @@ ahc_pci_probe (pcici_t tag, pcidi_t type)
static void static void
ahc_pci_attach(pcici_t config_id, int unit) ahc_pci_attach(pcici_t config_id, int unit)
{ {
u_int16_t io_port; pci_port_t io_port;
struct ahc_softc *ahc; struct ahc_softc *ahc;
u_int32_t id; u_int32_t id;
u_int32_t command; u_int32_t command;
struct scb_data *shared_scb_data; struct scb_data *shared_scb_data;
int opri; int opri;
ahc_chip ahc_t = AHC_NONE; ahc_chip ahc_t = AHC_NONE;
ahc_feature ahc_fe = AHC_FENONE; ahc_feature ahc_fe = AHC_FENONE;
ahc_flag ahc_f = AHC_FNONE; ahc_flag ahc_f = AHC_FNONE;
vm_offset_t vaddr; vm_offset_t vaddr;
vm_offset_t paddr; vm_offset_t paddr;
u_int8_t our_id = 0; u_int our_id = 0;
u_int8_t sxfrctl1; u_int sxfrctl1;
u_int8_t scsiseq; u_int scsiseq;
int error; int error;
char channel; char channel;
if (config_id->func == 1) if (config_id->func == 1)
channel = 'B'; 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, 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; ahc->our_id = sc.brtime_id & CFSCSIID;
scsi_conf = (ahc->our_id & 0x7); scsi_conf = (ahc->our_id & 0x7);
@ -804,6 +799,10 @@ check_extport(struct ahc_softc *ahc, u_int8_t *sxfrctl1)
} }
/* Set SCSICONF info */ /* Set SCSICONF info */
ahc_outb(ahc, SCSICONF, scsi_conf); 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) { if ((ahc->features & AHC_SPIOCAP) != 0) {