Bug #1754

Do not announce I/O sizes that require 48-bit DMA on early ALI chipsets (via FreeBSD 206604)

Added by vsrinivas about 4 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

FreeBSD commit 206604: "For early ALI chips do not announce I/O sizes that
require unsupported 48bit DMA commands."

--- /usr/src/sys/dev/disk/nata/ata-chipset.c 2010-02-23 09:32:42 -0800
+++ ata-chipset.c 2010-04-29 23:32:42 -0700
@@ -1167,8 +1167,11 @@
return ENXIO;

/* 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;
}

Also available in: Atom PDF