From c3093074c4e32dd6fe86f756d18ec1e2135ef003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Schmidt?= Date: Tue, 21 Oct 2003 08:53:29 +0000 Subject: [PATCH] Up the alignment requirement of the SC1100 to 16 bytes, it has all the bugs and then some of its Cyrix inheritance. Set the max_iosize for the Cyrix to 63K as the SC1100. --- sys/dev/ata/ata-chipset.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/ata/ata-chipset.c b/sys/dev/ata/ata-chipset.c index 00e97f9c235..bf27fcc0cc8 100644 --- a/sys/dev/ata/ata-chipset.c +++ b/sys/dev/ata/ata-chipset.c @@ -508,8 +508,10 @@ ata_cyrix_setmode(struct ata_device *atadev, int mode) u_int32_t udmatiming[] = { 0x00921250, 0x00911140, 0x00911030 }; int error; - mode = ata_limit_mode(atadev, mode, ATA_UDMA2); atadev->channel->dma->alignment = 16; + atadev->channel->dma->max_iosize = 63 * 1024; + + mode = ata_limit_mode(atadev, mode, ATA_UDMA2); error = ata_controlcmd(atadev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode); @@ -955,7 +957,7 @@ ata_national_setmode(struct ata_device *atadev, int mode) u_int32_t udmatiming[] = { 0x80921250, 0x80911140, 0x80911030 }; int error; - atadev->channel->dma->alignment = 4; + atadev->channel->dma->alignment = 16; atadev->channel->dma->max_iosize = 63 * 1024; mode = ata_limit_mode(atadev, mode, ATA_UDMA2);