diff options
Diffstat (limited to 'drivers/ide/triflex.c')
-rw-r--r-- | drivers/ide/triflex.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ide/triflex.c b/drivers/ide/triflex.c index 8773c3ba7462..7953447eae0f 100644 --- a/drivers/ide/triflex.c +++ b/drivers/ide/triflex.c | |||
@@ -34,9 +34,8 @@ | |||
34 | 34 | ||
35 | #define DRV_NAME "triflex" | 35 | #define DRV_NAME "triflex" |
36 | 36 | ||
37 | static void triflex_set_mode(ide_drive_t *drive, const u8 speed) | 37 | static void triflex_set_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
38 | { | 38 | { |
39 | ide_hwif_t *hwif = drive->hwif; | ||
40 | struct pci_dev *dev = to_pci_dev(hwif->dev); | 39 | struct pci_dev *dev = to_pci_dev(hwif->dev); |
41 | u32 triflex_timings = 0; | 40 | u32 triflex_timings = 0; |
42 | u16 timing = 0; | 41 | u16 timing = 0; |
@@ -44,7 +43,7 @@ static void triflex_set_mode(ide_drive_t *drive, const u8 speed) | |||
44 | 43 | ||
45 | pci_read_config_dword(dev, channel_offset, &triflex_timings); | 44 | pci_read_config_dword(dev, channel_offset, &triflex_timings); |
46 | 45 | ||
47 | switch(speed) { | 46 | switch (drive->dma_mode) { |
48 | case XFER_MW_DMA_2: | 47 | case XFER_MW_DMA_2: |
49 | timing = 0x0103; | 48 | timing = 0x0103; |
50 | break; | 49 | break; |
@@ -82,9 +81,10 @@ static void triflex_set_mode(ide_drive_t *drive, const u8 speed) | |||
82 | pci_write_config_dword(dev, channel_offset, triflex_timings); | 81 | pci_write_config_dword(dev, channel_offset, triflex_timings); |
83 | } | 82 | } |
84 | 83 | ||
85 | static void triflex_set_pio_mode(ide_drive_t *drive, const u8 pio) | 84 | static void triflex_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) |
86 | { | 85 | { |
87 | triflex_set_mode(drive, XFER_PIO_0 + pio); | 86 | drive->dma_mode = drive->pio_mode; |
87 | triflex_set_mode(hwif, drive); | ||
88 | } | 88 | } |
89 | 89 | ||
90 | static const struct ide_port_ops triflex_port_ops = { | 90 | static const struct ide_port_ops triflex_port_ops = { |