diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:24:06 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:24:06 -0500 |
commit | 4c10c937cc2eb197db565392db91d429eec71176 (patch) | |
tree | 02d7f15b314441e832f48f0f882882042361396c /drivers/ide/au1xxx-ide.c | |
parent | 9bb676966aa85e56af00b353387d3c274a26e480 (diff) | |
parent | 950f564b707ca1b1c5bb94cd1e7d2a0702bfcadc (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: (49 commits)
drivers/ide: Fix continuation line formats
ide: fixed section mismatch warning in cmd640.c
ide: ide_timing_compute() fixup
ide: make ide_get_best_pio_mode() static
via82cxxx: use ->pio_mode value to determine pair device speed
tx493xide: use ->pio_mode value to determine pair device speed
siimage: use ->pio_mode value to determine pair device speed
palm_bk3710: use ->pio_mode value to determine pair device speed
it821x: use ->pio_mode value to determine pair device speed
cs5536: use ->pio_mode value to determine pair device speed
cs5535: use ->pio_mode value to determine pair device speed
cmd64x: fix handling of address setup timings
amd74xx: use ->pio_mode value to determine pair device speed
alim15x3: fix handling of UDMA enable bit
alim15x3: fix handling of DMA timings
alim15x3: fix handling of command timings
alim15x3: fix handling of address setup timings
ide-timings: use ->pio_mode value to determine fastest PIO speed
ide: change ->set_dma_mode method parameters
ide: change ->set_pio_mode method parameters
...
Diffstat (limited to 'drivers/ide/au1xxx-ide.c')
-rw-r--r-- | drivers/ide/au1xxx-ide.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/ide/au1xxx-ide.c b/drivers/ide/au1xxx-ide.c index 349a67bf1a36..b26c23416fa7 100644 --- a/drivers/ide/au1xxx-ide.c +++ b/drivers/ide/au1xxx-ide.c | |||
@@ -99,12 +99,11 @@ static void au1xxx_output_data(ide_drive_t *drive, struct ide_cmd *cmd, | |||
99 | } | 99 | } |
100 | #endif | 100 | #endif |
101 | 101 | ||
102 | static void au1xxx_set_pio_mode(ide_drive_t *drive, const u8 pio) | 102 | static void au1xxx_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
103 | { | 103 | { |
104 | int mem_sttime = 0, mem_stcfg = au_readl(MEM_STCFG2); | 104 | int mem_sttime = 0, mem_stcfg = au_readl(MEM_STCFG2); |
105 | 105 | ||
106 | /* set pio mode! */ | 106 | switch (drive->pio_mode - XFER_PIO_0) { |
107 | switch(pio) { | ||
108 | case 0: | 107 | case 0: |
109 | mem_sttime = SBC_IDE_TIMING(PIO0); | 108 | mem_sttime = SBC_IDE_TIMING(PIO0); |
110 | 109 | ||
@@ -161,11 +160,11 @@ static void au1xxx_set_pio_mode(ide_drive_t *drive, const u8 pio) | |||
161 | au_writel(mem_stcfg,MEM_STCFG2); | 160 | au_writel(mem_stcfg,MEM_STCFG2); |
162 | } | 161 | } |
163 | 162 | ||
164 | static void auide_set_dma_mode(ide_drive_t *drive, const u8 speed) | 163 | static void auide_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
165 | { | 164 | { |
166 | int mem_sttime = 0, mem_stcfg = au_readl(MEM_STCFG2); | 165 | int mem_sttime = 0, mem_stcfg = au_readl(MEM_STCFG2); |
167 | 166 | ||
168 | switch(speed) { | 167 | switch (drive->dma_mode) { |
169 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA | 168 | #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA |
170 | case XFER_MW_DMA_2: | 169 | case XFER_MW_DMA_2: |
171 | mem_sttime = SBC_IDE_TIMING(MDMA2); | 170 | mem_sttime = SBC_IDE_TIMING(MDMA2); |
@@ -297,8 +296,8 @@ static int auide_dma_test_irq(ide_drive_t *drive) | |||
297 | */ | 296 | */ |
298 | drive->waiting_for_dma++; | 297 | drive->waiting_for_dma++; |
299 | if (drive->waiting_for_dma >= DMA_WAIT_TIMEOUT) { | 298 | if (drive->waiting_for_dma >= DMA_WAIT_TIMEOUT) { |
300 | printk(KERN_WARNING "%s: timeout waiting for ddma to \ | 299 | printk(KERN_WARNING "%s: timeout waiting for ddma to complete\n", |
301 | complete\n", drive->name); | 300 | drive->name); |
302 | return 1; | 301 | return 1; |
303 | } | 302 | } |
304 | udelay(10); | 303 | udelay(10); |