diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-21 16:41:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-21 16:41:41 -0400 |
commit | cb7fabcf9d4340b61f012cc7e8e3d7ff5c4f441c (patch) | |
tree | f8ffc30b8d1210237051408f71ef2b1dcbb4c0c1 | |
parent | dcf234f3b0cbc4d2b73f5ee02405b117c5d77fbd (diff) | |
parent | 8eb166bf805cc1c1d38d57211e8737631376b9ba (diff) |
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PATCH] libata-sff: Allow for wacky systems
[PATCH] ahci: readability tweak
[PATCH] libata: typo fix
[PATCH] ATA must depend on BLOCK
[PATCH] libata: use correct map_db values for ICH8
-rw-r--r-- | drivers/ata/Kconfig | 1 | ||||
-rw-r--r-- | drivers/ata/ahci.c | 2 | ||||
-rw-r--r-- | drivers/ata/ata_piix.c | 4 | ||||
-rw-r--r-- | drivers/ata/libata-sff.c | 9 | ||||
-rw-r--r-- | include/linux/libata.h | 2 |
5 files changed, 14 insertions, 4 deletions
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 3f4aa0c99ee4..03f6338acc8f 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig | |||
@@ -6,6 +6,7 @@ menu "Serial ATA (prod) and Parallel ATA (experimental) drivers" | |||
6 | 6 | ||
7 | config ATA | 7 | config ATA |
8 | tristate "ATA device support" | 8 | tristate "ATA device support" |
9 | depends on BLOCK | ||
9 | depends on !(M32R || M68K) || BROKEN | 10 | depends on !(M32R || M68K) || BROKEN |
10 | depends on !SUN4 || BROKEN | 11 | depends on !SUN4 || BROKEN |
11 | select SCSI | 12 | select SCSI |
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 25929123ffff..cef2e70d64f8 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -1041,7 +1041,7 @@ static void ahci_host_intr(struct ata_port *ap) | |||
1041 | /* hmmm... a spurious interupt */ | 1041 | /* hmmm... a spurious interupt */ |
1042 | 1042 | ||
1043 | /* some devices send D2H reg with I bit set during NCQ command phase */ | 1043 | /* some devices send D2H reg with I bit set during NCQ command phase */ |
1044 | if (ap->sactive && status & PORT_IRQ_D2H_REG_FIS) | 1044 | if (ap->sactive && (status & PORT_IRQ_D2H_REG_FIS)) |
1045 | return; | 1045 | return; |
1046 | 1046 | ||
1047 | /* ignore interim PIO setup fis interrupts */ | 1047 | /* ignore interim PIO setup fis interrupts */ |
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 5719704eb0ee..5250187ffce2 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
@@ -432,9 +432,9 @@ static const struct piix_map_db ich8_map_db = { | |||
432 | .present_shift = 8, | 432 | .present_shift = 8, |
433 | .map = { | 433 | .map = { |
434 | /* PM PS SM SS MAP */ | 434 | /* PM PS SM SS MAP */ |
435 | { P0, NA, P1, NA }, /* 00b (hardwired) */ | 435 | { P0, P2, P1, P3 }, /* 00b (hardwired when in AHCI) */ |
436 | { RV, RV, RV, RV }, | 436 | { RV, RV, RV, RV }, |
437 | { RV, RV, RV, RV }, /* 10b (never) */ | 437 | { IDE, IDE, NA, NA }, /* 10b (IDE mode) */ |
438 | { RV, RV, RV, RV }, | 438 | { RV, RV, RV, RV }, |
439 | }, | 439 | }, |
440 | }; | 440 | }; |
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index 06daaa3736a2..7645f2b30ccf 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c | |||
@@ -981,6 +981,15 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, | |||
981 | mask = (1 << 2) | (1 << 0); | 981 | mask = (1 << 2) | (1 << 0); |
982 | if ((tmp8 & mask) != mask) | 982 | if ((tmp8 & mask) != mask) |
983 | legacy_mode = (1 << 3); | 983 | legacy_mode = (1 << 3); |
984 | #if defined(CONFIG_NO_ATA_LEGACY) | ||
985 | /* Some platforms with PCI limits cannot address compat | ||
986 | port space. In that case we punt if their firmware has | ||
987 | left a device in compatibility mode */ | ||
988 | if (legacy_mode) { | ||
989 | printk(KERN_ERR "ata: Compatibility mode ATA is not supported on this platform, skipping.\n"); | ||
990 | return -EOPNOTSUPP; | ||
991 | } | ||
992 | #endif | ||
984 | } | 993 | } |
985 | 994 | ||
986 | rc = pci_request_regions(pdev, DRV_NAME); | 995 | rc = pci_request_regions(pdev, DRV_NAME); |
diff --git a/include/linux/libata.h b/include/linux/libata.h index d0a7ad5ed518..b03d5a340dc8 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -143,7 +143,7 @@ enum { | |||
143 | ATA_DFLAG_CFG_MASK = (1 << 8) - 1, | 143 | ATA_DFLAG_CFG_MASK = (1 << 8) - 1, |
144 | 144 | ||
145 | ATA_DFLAG_PIO = (1 << 8), /* device limited to PIO mode */ | 145 | ATA_DFLAG_PIO = (1 << 8), /* device limited to PIO mode */ |
146 | ATA_DFLAG_NCQ_OFF = (1 << 9), /* devied limited to non-NCQ mode */ | 146 | ATA_DFLAG_NCQ_OFF = (1 << 9), /* device limited to non-NCQ mode */ |
147 | ATA_DFLAG_SUSPENDED = (1 << 10), /* device suspended */ | 147 | ATA_DFLAG_SUSPENDED = (1 << 10), /* device suspended */ |
148 | ATA_DFLAG_INIT_MASK = (1 << 16) - 1, | 148 | ATA_DFLAG_INIT_MASK = (1 << 16) - 1, |
149 | 149 | ||