Changeset 69 for trunk/src/os2ahci/ata.c


Ignore:
Timestamp:
Jan 7, 2011, 4:54:46 PM (15 years ago)
Author:
markus
Message:

fixed ATAPI packet commands; added cache flush in shutdown handler; allow write cache for NCQ commands

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/ata.c

    r66 r69  
    107107    case AP_FEATURES:
    108108      /* ATA features word */
    109       ata_cmd.features = va_arg(va, u16);
     109      ata_cmd.features |= va_arg(va, u16);
    110110      break;
    111111
     
    118118      /* 28-bit sector address */
    119119      ata_cmd.lba_l = va_arg(va, u32);
    120       dprintf("LBA28: 0x%08lx\n", ata_cmd.lba_l);
    121120      if (ata_cmd.lba_l & 0xf0000000UL) {
    122121        dprintf("error: LBA-28 address %ld has more than 28 bits\n", ata_cmd.lba_l);
     
    133132      ata_cmd.lba_l = va_arg(va, u32);
    134133      ata_cmd.lba_h = va_arg(va, u16);
    135       dprintf("LBA48: 0x%08lx\n", ata_cmd.lba_l);
    136134      break;
    137135
     
    703701                     AP_COUNT,     (u16) (slot << 3), /* tag = slot */
    704702                     AP_SGLIST,    io->pSGList + sg_indx, (u16) sg_cnt,
    705                      AP_DEVICE,    0xc000,   /* force unit access (FUA) */
     703                     AP_DEVICE,    0x4000,
     704                     AP_DEVICE,    (io->Flags & XIO_DISABLE_HW_WRITE_CACHE) ?
     705                                   0x8000 : 0, /* force unit access */
    706706                     AP_WRITE,     1,
    707707                     AP_END);
Note: See TracChangeset for help on using the changeset viewer.