firewire: fw-ohci: TSB43AB22/A dualbuffer workaround
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 22 Jul 2008 16:41:10 +0000 (18:41 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Fri, 25 Jul 2008 13:41:23 +0000 (15:41 +0200)
Isochronous reception in dualbuffer mode is reportedly broken with
TI TSB43AB22A on x86-64.  Descriptor addresses above 2G have been
determined as the trigger:
https://bugzilla.redhat.com/show_bug.cgi?id=435550

Two fixes are possible:
  - pci_set_consistent_dma_mask(pdev, DMA_31BIT_MASK);
    at least when IR descriptors are allocated, or
  - simply don't use dualbuffer.
This fix implements the latter workaround.

But we keep using dualbuffer on x86-32 which won't give us highmen (and
thus physical addresses outside the 31bit range) in coherent DMA memory
allocations.  Right now we could for example also whitelist PPC32, but
DMA mapping implementation details are expected to change there.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>

No differences found