diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 19:00:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 19:00:02 -0400 |
commit | a9e82d3a02247af6b729be0a963862d70cb25bf9 (patch) | |
tree | 8f1f02bf0f1371391f2077a270bc32c0beddcc6a /drivers/ide/ide-disk.c | |
parent | 58f9b52ee8712283f7ffedb661df678c61e88a91 (diff) | |
parent | 85ad93ad56f4baf52e7c40f2e01c4df8e14d4c9c (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (37 commits)
ide: set drive->autotune in ide_pci_setup_ports()
triflex: always tune PIO
opti621: always tune PIO
cy82c693: always tune PIO
cs5520: always tune PIO
alim15x3: always tune PIO
ide: add IDE_HFLAG_LEGACY_IRQS host flag
ide: add IDE_HFLAG_SERIALIZE host flag
ide: add IDE_HFLAG_ERROR_STOPS_FIFO host flag
piix: add DECLARE_ICH_DEV() macro
pdc202xx_old: add DECLARE_PDC2026X_DEV() macro
pdc202xx_new: add DECLARE_PDCNEW_DEV() macro
aec62xx: no need to disable UDMA in ->init_hwif method for ATP850UF
ide: remove .init_setup from ide_pci_device_t
serverworks: remove ->init_setup
scc_pata: remove ->init_setup
pdc202xx_old: remove ->init_setup
pdc202xx_new: remove ->init_setup
hpt366: remove ->init_setup
cmd64x: remove ->init_setup
...
Diffstat (limited to 'drivers/ide/ide-disk.c')
-rw-r--r-- | drivers/ide/ide-disk.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index 92177ca48b4d..2722d9165b6b 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
@@ -169,7 +169,7 @@ static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq, | |||
169 | 169 | ||
170 | nsectors.all = (u16) rq->nr_sectors; | 170 | nsectors.all = (u16) rq->nr_sectors; |
171 | 171 | ||
172 | if (hwif->no_lba48_dma && lba48 && dma) { | 172 | if ((hwif->host_flags & IDE_HFLAG_NO_LBA48_DMA) && lba48 && dma) { |
173 | if (block + rq->nr_sectors > 1ULL << 28) | 173 | if (block + rq->nr_sectors > 1ULL << 28) |
174 | dma = 0; | 174 | dma = 0; |
175 | else | 175 | else |
@@ -856,7 +856,7 @@ static int set_lba_addressing(ide_drive_t *drive, int arg) | |||
856 | 856 | ||
857 | drive->addressing = 0; | 857 | drive->addressing = 0; |
858 | 858 | ||
859 | if (HWIF(drive)->no_lba48) | 859 | if (drive->hwif->host_flags & IDE_HFLAG_NO_LBA48) |
860 | return 0; | 860 | return 0; |
861 | 861 | ||
862 | if (!idedisk_supports_lba48(drive->id)) | 862 | if (!idedisk_supports_lba48(drive->id)) |
@@ -889,6 +889,7 @@ static inline void idedisk_add_settings(ide_drive_t *drive) { ; } | |||
889 | 889 | ||
890 | static void idedisk_setup (ide_drive_t *drive) | 890 | static void idedisk_setup (ide_drive_t *drive) |
891 | { | 891 | { |
892 | ide_hwif_t *hwif = drive->hwif; | ||
892 | struct hd_driveid *id = drive->id; | 893 | struct hd_driveid *id = drive->id; |
893 | unsigned long long capacity; | 894 | unsigned long long capacity; |
894 | 895 | ||
@@ -909,7 +910,6 @@ static void idedisk_setup (ide_drive_t *drive) | |||
909 | (void)set_lba_addressing(drive, 1); | 910 | (void)set_lba_addressing(drive, 1); |
910 | 911 | ||
911 | if (drive->addressing == 1) { | 912 | if (drive->addressing == 1) { |
912 | ide_hwif_t *hwif = HWIF(drive); | ||
913 | int max_s = 2048; | 913 | int max_s = 2048; |
914 | 914 | ||
915 | if (max_s > hwif->rqsize) | 915 | if (max_s > hwif->rqsize) |
@@ -932,7 +932,7 @@ static void idedisk_setup (ide_drive_t *drive) | |||
932 | drive->capacity64 = 1ULL << 28; | 932 | drive->capacity64 = 1ULL << 28; |
933 | } | 933 | } |
934 | 934 | ||
935 | if (drive->hwif->no_lba48_dma && drive->addressing) { | 935 | if ((hwif->host_flags & IDE_HFLAG_NO_LBA48_DMA) && drive->addressing) { |
936 | if (drive->capacity64 > 1ULL << 28) { | 936 | if (drive->capacity64 > 1ULL << 28) { |
937 | printk(KERN_INFO "%s: cannot use LBA48 DMA - PIO mode will" | 937 | printk(KERN_INFO "%s: cannot use LBA48 DMA - PIO mode will" |
938 | " be used for accessing sectors > %u\n", | 938 | " be used for accessing sectors > %u\n", |