diff options
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/au1xxx-ide.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/au1xxx-ide.c b/drivers/ide/au1xxx-ide.c index 377412e1d32b..349a67bf1a36 100644 --- a/drivers/ide/au1xxx-ide.c +++ b/drivers/ide/au1xxx-ide.c | |||
@@ -56,7 +56,7 @@ static inline void auide_insw(unsigned long port, void *addr, u32 count) | |||
56 | chan_tab_t *ctp; | 56 | chan_tab_t *ctp; |
57 | au1x_ddma_desc_t *dp; | 57 | au1x_ddma_desc_t *dp; |
58 | 58 | ||
59 | if (!au1xxx_dbdma_put_dest(ahwif->rx_chan, (void*)addr, | 59 | if (!au1xxx_dbdma_put_dest(ahwif->rx_chan, virt_to_phys(addr), |
60 | count << 1, DDMA_FLAGS_NOIE)) { | 60 | count << 1, DDMA_FLAGS_NOIE)) { |
61 | printk(KERN_ERR "%s failed %d\n", __func__, __LINE__); | 61 | printk(KERN_ERR "%s failed %d\n", __func__, __LINE__); |
62 | return; | 62 | return; |
@@ -74,7 +74,7 @@ static inline void auide_outsw(unsigned long port, void *addr, u32 count) | |||
74 | chan_tab_t *ctp; | 74 | chan_tab_t *ctp; |
75 | au1x_ddma_desc_t *dp; | 75 | au1x_ddma_desc_t *dp; |
76 | 76 | ||
77 | if (!au1xxx_dbdma_put_source(ahwif->tx_chan, (void*)addr, | 77 | if (!au1xxx_dbdma_put_source(ahwif->tx_chan, virt_to_phys(addr), |
78 | count << 1, DDMA_FLAGS_NOIE)) { | 78 | count << 1, DDMA_FLAGS_NOIE)) { |
79 | printk(KERN_ERR "%s failed %d\n", __func__, __LINE__); | 79 | printk(KERN_ERR "%s failed %d\n", __func__, __LINE__); |
80 | return; | 80 | return; |
@@ -247,13 +247,13 @@ static int auide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd) | |||
247 | 247 | ||
248 | if (iswrite) { | 248 | if (iswrite) { |
249 | if (!au1xxx_dbdma_put_source(ahwif->tx_chan, | 249 | if (!au1xxx_dbdma_put_source(ahwif->tx_chan, |
250 | (void *)sg_virt(sg), tc, flags)) { | 250 | sg_phys(sg), tc, flags)) { |
251 | printk(KERN_ERR "%s failed %d\n", | 251 | printk(KERN_ERR "%s failed %d\n", |
252 | __func__, __LINE__); | 252 | __func__, __LINE__); |
253 | } | 253 | } |
254 | } else { | 254 | } else { |
255 | if (!au1xxx_dbdma_put_dest(ahwif->rx_chan, | 255 | if (!au1xxx_dbdma_put_dest(ahwif->rx_chan, |
256 | (void *)sg_virt(sg), tc, flags)) { | 256 | sg_phys(sg), tc, flags)) { |
257 | printk(KERN_ERR "%s failed %d\n", | 257 | printk(KERN_ERR "%s failed %d\n", |
258 | __func__, __LINE__); | 258 | __func__, __LINE__); |
259 | } | 259 | } |