For early ALI chips do not announce I/O sizes that require unsupported

48bit DMA commands.
This commit is contained in:
mav 2010-04-14 15:29:32 +00:00
parent c1468b9b67
commit e076b6a0a5

View File

@ -184,8 +184,11 @@ ata_ali_ch_attach(device_t dev)
if (ctlr->chip->cfg2 & ALI_NEW && ctlr->chip->chiprev < 0xc7)
ch->flags |= ATA_CHECKS_CABLE;
/* older chips can't do 48bit DMA transfers */
if (ctlr->chip->chiprev <= 0xc4)
if (ctlr->chip->chiprev <= 0xc4) {
ch->flags |= ATA_NO_48BIT_DMA;
if (ch->dma.max_iosize > 256 * 512)
ch->dma.max_iosize = 256 * 512;
}
return 0;
}