summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorMartin Dalecki <dalecki@evision-ventures.com>2002-06-08 21:45:15 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-06-08 21:45:15 -0700
commit467b45ea6236af91d8119422b19e4b1f8c4a67d6 (patch)
treec64767a3da65f657daf6489948dadadcffbf1c6e /include/linux
parent71e3ff68a75ab9dc6276fe0e519938003007ad8e (diff)
[PATCH] 2.5.20 IDE 86
Most importantly this makes ide-scsi work again, which I broke IDE 85. And we are starting to be serious about locking issues. However the locking issues will take some patches until they stabilize. - Add spin locks in ata_special_intr. - Add Server Works CSB6 handling by Matt Domsch. - Atari updates by Geert Uytterhoeven: * irq_lock is used in more than one file, so make it global and rename it to ide_irq_lock * `hwgroup' is dead, use `channel' instead * ide_irq_lock depends on ATA_ARCH_LOCK, not on m68k or APUS - Small janitorial tidbits by Angus Sawyer. - PIIX driver updates by Vojtech Pavlik: * Removes the CONFIG_BLK_DEV_PIIX_TRY133 option. I've got an official statement from Intel saying that the controller definitely isn't intended to operate at this speed and doing so may cause severe trouble. * Fixes a bug in ata-timing.c, where EIDE timing data was discarded by accident. * Fixed a couple bugs in the Artop driver (UDMA clocks, active/recovery timing), 8-bit timing merging. * Removes an unused variable from piix.c - Move locking out from ide_set_handler(). There are places where it incurred too frequent lock grab and release or where we did miss to lock against concurrent hardware access. Generally the locking appears to be too fine grained and inconsistent at many places. This is the first cut. We will deal with it step by step. - Make sure message string is initialized even if FANCY_STATUS_DUMPS is disabled. - Don't lock directly inside udma_init and implementations of this method. - Guard against REQ_SPECIAL issued by the SCSI layer on us. Use REQ_PC in ide-scsi.c instead.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ide.h7
-rw-r--r--include/linux/pci_ids.h1
2 files changed, 3 insertions, 5 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 52a0d9b28915..9ef57489ae9c 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -213,6 +213,7 @@ void ide_setup_ports(hw_regs_t *hw,
/* Currently only m68k, apus and m8xx need it */
#ifdef ATA_ARCH_ACK_INTR
+extern int ide_irq_lock;
# define ide_ack_intr(hwif) (hwif->hw.ack_intr ? hwif->hw.ack_intr(hwif) : 1)
#else
# define ide_ack_intr(hwif) (1)
@@ -603,11 +604,7 @@ extern int noautodma;
extern int __ide_end_request(struct ata_device *, struct request *, int, unsigned int);
extern int ide_end_request(struct ata_device *drive, struct request *, int);
-/*
- * This is used on exit from the driver, to designate the next irq handler
- * and also to start the safety timer.
- */
-extern void ide_set_handler(struct ata_device *drive, ata_handler_t handler,
+extern void ata_set_handler(struct ata_device *drive, ata_handler_t handler,
unsigned long timeout, ata_expiry_t expiry);
extern u8 ata_dump(struct ata_device *, struct request *, const char *);
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 6a45e0eb97e5..ac3fc9409b2a 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1111,6 +1111,7 @@
#define PCI_DEVICE_ID_SERVERWORKS_CSB5 0x0201
#define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 0x0211
#define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 0x0212
+#define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE 0x0213
#define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 0x0220
#define PCI_DEVICE_ID_SERVERWORKS_CSB5USB PCI_DEVICE_ID_SERVERWORKS_OSB4USB
#define PCI_DEVICE_ID_SERVERWORKS_CSB5ISA 0x0230