Deleted Added
full compact
ata-pci.c (100380) ata-pci.c (103255)
1/*-
2 * Copyright (c) 1998,1999,2000,2001,2002 S�ren Schmidt <sos@FreeBSD.org>
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,2000,2001,2002 S�ren Schmidt <sos@FreeBSD.org>
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 * $FreeBSD: head/sys/dev/ata/ata-pci.c 100380 2002-07-19 22:14:54Z jhb $
28 * $FreeBSD: head/sys/dev/ata/ata-pci.c 103255 2002-09-12 15:25:59Z sos $
29 */
30
31#include "opt_ata.h"
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/kernel.h>
35#include <sys/disk.h>
36#include <sys/module.h>

--- 163 unchanged lines hidden (view full) ---

200 else if (ata_find_dev(dev, 0x05301039, 0) ||
201 ata_find_dev(dev, 0x05401039, 0) ||
202 ata_find_dev(dev, 0x06201039, 0) ||
203 ata_find_dev(dev, 0x06301039, 0))
204 return "SiS 5591 ATA66 controller";
205 else
206 return "SiS 5591 ATA33 controller";
207
29 */
30
31#include "opt_ata.h"
32#include <sys/param.h>
33#include <sys/systm.h>
34#include <sys/kernel.h>
35#include <sys/disk.h>
36#include <sys/module.h>

--- 163 unchanged lines hidden (view full) ---

200 else if (ata_find_dev(dev, 0x05301039, 0) ||
201 ata_find_dev(dev, 0x05401039, 0) ||
202 ata_find_dev(dev, 0x06201039, 0) ||
203 ata_find_dev(dev, 0x06301039, 0))
204 return "SiS 5591 ATA66 controller";
205 else
206 return "SiS 5591 ATA33 controller";
207
208 case 0x06801095:
209 return "Sil 0680 ATA133 controller";
210
208 case 0x06491095:
209 return "CMD 649 ATA100 controller";
210
211 case 0x06481095:
212 return "CMD 648 ATA66 controller";
213
214 case 0x06461095:
215 return "CMD 646 ATA controller";

--- 284 unchanged lines hidden (view full) ---

500 break;
501
502 case 0x02121166: /* ServerWorks CSB5 enable UDMA66/100 depending on rev */
503 pci_write_config(dev, 0x5a,
504 (pci_read_config(dev, 0x5a, 1) & ~0x40) |
505 (pci_get_revid(dev) >= 0x92) ? 0x03 : 0x02, 1);
506 break;
507
211 case 0x06491095:
212 return "CMD 649 ATA100 controller";
213
214 case 0x06481095:
215 return "CMD 648 ATA66 controller";
216
217 case 0x06461095:
218 return "CMD 646 ATA controller";

--- 284 unchanged lines hidden (view full) ---

503 break;
504
505 case 0x02121166: /* ServerWorks CSB5 enable UDMA66/100 depending on rev */
506 pci_write_config(dev, 0x5a,
507 (pci_read_config(dev, 0x5a, 1) & ~0x40) |
508 (pci_get_revid(dev) >= 0x92) ? 0x03 : 0x02, 1);
509 break;
510
511 case 0x06801095: /* Sil 0680 set ATA reference clock speed */
512 if (pci_read_config(dev, 0x8a, 1) != 0x10)
513 pci_write_config(dev, 0x8a,
514 (pci_read_config(dev, 0x8a, 1) & 0x0F) | 0x10, 1);
515 if ((pci_read_config(dev, 0x8a, 1) & 0x30) != 0x10)
516 device_printf(dev, "Sil 0680 could not set clock\n");
517 break;
518
508 case 0x06461095: /* CMD 646 enable interrupts, set DMA read mode */
509 pci_write_config(dev, 0x71, 0x01, 1);
510 break;
511
512 case 0x10001042: /* RZ 100? known bad, no DMA */
513 case 0x10011042:
514 case 0x06401095: /* CMD 640 known bad, no DMA */
515 controller->bmio = NULL;

--- 354 unchanged lines hidden ---
519 case 0x06461095: /* CMD 646 enable interrupts, set DMA read mode */
520 pci_write_config(dev, 0x71, 0x01, 1);
521 break;
522
523 case 0x10001042: /* RZ 100? known bad, no DMA */
524 case 0x10011042:
525 case 0x06401095: /* CMD 640 known bad, no DMA */
526 controller->bmio = NULL;

--- 354 unchanged lines hidden ---