diff options
author | Rafał Miłecki | 2011-07-20 19:52:14 +0200 |
---|---|---|
committer | John W. Linville | 2011-07-22 09:51:12 -0400 |
commit | a9770a815d280d6aa2da406e159eff92b880670e (patch) | |
tree | 2337d004f5c95677c1e925dfb3b73e939ecf0d19 /drivers/ssb | |
parent | 78c1ee7e61af4eb3f6c8a553ca56036e3734121f (diff) |
ssb: return correct translation bit for 64-bit DMA
Remove b43's workarounds at the same time. Other users of
ssb_dma_translation do not support any 64-bit DMA devices, so they are
not affected.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/ssb')
-rw-r--r-- | drivers/ssb/main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c index 57b7b6460896..6ec6e099fe04 100644 --- a/drivers/ssb/main.c +++ b/drivers/ssb/main.c @@ -1266,7 +1266,10 @@ u32 ssb_dma_translation(struct ssb_device *dev) case SSB_BUSTYPE_SSB: return 0; case SSB_BUSTYPE_PCI: - return SSB_PCI_DMA; + if (ssb_read32(dev, SSB_TMSHIGH) & SSB_TMSHIGH_DMA64) + return SSB_PCIE_DMA_H32; + else + return SSB_PCI_DMA; default: __ssb_dma_not_implemented(dev); } |