aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata/ata-isa.c
diff options
context:
space:
mode:
authorSøren Schmidt <sos@FreeBSD.org>2003-02-20 20:02:32 +0000
committerSøren Schmidt <sos@FreeBSD.org>2003-02-20 20:02:32 +0000
commitbb5bdd386ebd744a72fb2426f8bd1bc03fb38ebd (patch)
tree21f00885355e44a0cfacbbf172b07133dc03eb36 /sys/dev/ata/ata-isa.c
parent4b25d7a6e4ab0be9c7cb456372a80bcfc9fdcc17 (diff)
downloadsrc-bb5bdd386ebd744a72fb2426f8bd1bc03fb38ebd.tar.gz
src-bb5bdd386ebd744a72fb2426f8bd1bc03fb38ebd.zip
First round off updates/fixes to the ATA driver.
This moves all chipset specific code to a new file 'ata-chipset.c'. Extensive use of tables and pointers to avoid having the same switch on chipset type in several places, and to allow substituting various functions for different HW arch needs. Added PIO mode setup and all DMA modes. Support for all known SiS chipsets. Thanks to Christoph Kukulies for sponsoring a nice ASUS P4S8X SiS648 based board for this work! Tested on: i386, PC98, alpha and sparc64
Notes
Notes: svn path=/head/; revision=111188
Diffstat (limited to 'sys/dev/ata/ata-isa.c')
-rw-r--r--sys/dev/ata/ata-isa.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/sys/dev/ata/ata-isa.c b/sys/dev/ata/ata-isa.c
index 10348588cf07..a8a629678e73 100644
--- a/sys/dev/ata/ata-isa.c
+++ b/sys/dev/ata/ata-isa.c
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 1998,1999,2000,2001,2002 Søren Schmidt <sos@FreeBSD.org>
+ * Copyright (c) 1998 - 2003 Søren Schmidt <sos@FreeBSD.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -49,15 +49,11 @@ static struct isa_pnp_id ata_ids[] = {
{0x0106d041, "Plus Hardcard II"}, /* PNP0601 */
{0x0206d041, "Plus Hardcard IIXL/EZ"}, /* PNP0602 */
{0x0306d041, "Generic ATA"}, /* PNP0603 */
+ /* PNP0680 */
+ {0x8006d041, "Standard bus mastering IDE hard disk controller"},
{0}
};
-static int
-ata_isa_intrnoop(struct ata_channel *ch)
-{
- return 1;
-
-}
static void
ata_isa_lock(struct ata_channel *ch, int type)
{
@@ -91,8 +87,7 @@ ata_isa_probe(device_t dev)
bus_release_resource(dev, SYS_RES_IOPORT, rid, io);
ch->unit = 0;
ch->flags |= ATA_USE_16BIT;
- ch->intr_func = ata_isa_intrnoop;
- ch->lock_func = ata_isa_lock;
+ ch->locking = ata_isa_lock;
return ata_probe(dev);
}