Diff for /src/sys/dev/disk/ata/ata-all.c between versions 1.9 and 1.10

version 1.9, 2003/11/30 20:14:18 version 1.10, 2003/12/29 03:42:43
Line 775  ata_reset(struct ata_channel *ch) Line 775  ata_reset(struct ata_channel *ch)
     ATA_INB(ch->r_io, ATA_ERROR);      ATA_INB(ch->r_io, ATA_ERROR);
   
     /* wait for BUSY to go inactive */      /* wait for BUSY to go inactive */
    for (timeout = 0; timeout < 310000; timeout++) {    for (timeout = 0; timeout < 3100; timeout++) {
         if (stat0 & ATA_S_BUSY) {          if (stat0 & ATA_S_BUSY) {
             ATA_OUTB(ch->r_io, ATA_DRIVE, ATA_D_IBM | ATA_MASTER);              ATA_OUTB(ch->r_io, ATA_DRIVE, ATA_D_IBM | ATA_MASTER);
             DELAY(10);              DELAY(10);
Line 815  ata_reset(struct ata_channel *ch) Line 815  ata_reset(struct ata_channel *ch)
         if (mask == 0x03)      /* wait for both master & slave */          if (mask == 0x03)      /* wait for both master & slave */
             if (!(stat0 & ATA_S_BUSY) && !(stat1 & ATA_S_BUSY))              if (!(stat0 & ATA_S_BUSY) && !(stat1 & ATA_S_BUSY))
                 break;                  break;
        DELAY(100);        DELAY(10000);
     }         }   
    DELAY(10);    /*
      * some devices release BUSY before they are ready to accept commands.
      * We must wait at least 50ms before attempting to issue a command after
      * BUSY is released.
      */
     DELAY(50000);
     ATA_OUTB(ch->r_altio, ATA_ALTSTAT, ATA_A_4BIT);      ATA_OUTB(ch->r_altio, ATA_ALTSTAT, ATA_A_4BIT);
   
     if (stat0 & ATA_S_BUSY)      if (stat0 & ATA_S_BUSY)

Removed from v.1.9  
changed lines
  Added in v.1.10