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

48bit DMA commands.
This commit is contained in:
Alexander Motin 2010-04-14 15:29:32 +00:00
parent 0a6b4947d8
commit b9f59cca0d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=206604

View File

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