ata-dma.c (49471) | ata-dma.c (49614) |
---|---|
1/*- 2 * Copyright (c) 1998,1999 S�ren Schmidt 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * | 1/*- 2 * Copyright (c) 1998,1999 S�ren Schmidt 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * |
28 * $Id: ata-dma.c,v 1.8 1999/05/26 23:01:57 gallatin Exp $ | 28 * $Id: ata-dma.c,v 1.9 1999/08/06 17:39:38 sos Exp $ |
29 */ 30 31#include "ata.h" 32#include "pci.h" 33#if NATA > 0 34#include <sys/param.h> 35#include <sys/systm.h> 36#include <sys/kernel.h> --- 127 unchanged lines hidden (view full) --- 164 break; 165 166 case 0x12308086: /* Intel PIIX */ 167 /* probably not worth the trouble */ 168 break; 169 170 case 0x4d33105a: /* Promise Ultra/33 / FastTrack controllers */ 171 case 0x4d38105a: /* Promise Ultra/66 controllers */ | 29 */ 30 31#include "ata.h" 32#include "pci.h" 33#if NATA > 0 34#include <sys/param.h> 35#include <sys/systm.h> 36#include <sys/kernel.h> --- 127 unchanged lines hidden (view full) --- 164 break; 165 166 case 0x12308086: /* Intel PIIX */ 167 /* probably not worth the trouble */ 168 break; 169 170 case 0x4d33105a: /* Promise Ultra/33 / FastTrack controllers */ 171 case 0x4d38105a: /* Promise Ultra/66 controllers */ |
172 /* the promise seems to have trouble with DMA on ATAPI devices */ 173 if ((device == ATA_MASTER && scp->devices & ATA_ATAPI_MASTER) || 174 (device == ATA_SLAVE && scp->devices & ATA_ATAPI_SLAVE)) 175 break; 176 |
|
172 devno = (scp->unit << 1) + (device ? 1 : 0); 173 if (udmamode >=2) { 174 printf("ata%d: %s: setting up UDMA2 mode on Promise chip ", 175 scp->lun, (device) ? "slave" : "master"); 176 error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, 177 ATA_UDMA2, ATA_C_FEA_SETXFER, ATA_WAIT_INTR); 178 if (error) { 179 printf("failed\n"); --- 199 unchanged lines hidden --- | 177 devno = (scp->unit << 1) + (device ? 1 : 0); 178 if (udmamode >=2) { 179 printf("ata%d: %s: setting up UDMA2 mode on Promise chip ", 180 scp->lun, (device) ? "slave" : "master"); 181 error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, 182 ATA_UDMA2, ATA_C_FEA_SETXFER, ATA_WAIT_INTR); 183 if (error) { 184 printf("failed\n"); --- 199 unchanged lines hidden --- |