Messages in this thread | | | Date | Sun, 20 Jul 2008 21:25:51 +0200 | From | Stefan Richter <> | Subject | Re: dma_alloc_coherent() on PPC32: physical addresses above 2G possible? |
| |
Arjan van de Ven wrote: > On Sun, 20 Jul 2008 20:36:23 +0200 > Stefan Richter <stefanr@s5r6.in-berlin.de> wrote: > >> PS: I don't want to set the DMA mask of this device to >> DMA_31BIT_MASK because that would be detrimental to other functions >> of the device. It's a TI TSB43AB22A FireWire controller. > > Hi, > > just want to mention that you can set the coherent mask separately from > the generic mask... is that sufficient for your load? > (you can even set it just for this allocation..)
Hmm. Would that be done this way? During probe:
if (chip_is_tsb43ab22a) { if (dma_supported(dev, DMA_31BIT_MASK)) chip->needs_dma_mask_workaround = 1; else chip->needs_some_other_workaround = 1; }
Later on:
if (dev->needs_dma_mask_workaround) pci_set_consistent_dma_mask(pdev, DMA_31BIT_MASK); allocate_something_special; if (dev->needs_dma_mask_workaround) pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
Or is there a variant of dma_alloc_coherent() which directly accepts a mask argument? -- Stefan Richter -=====-==--- -=== =-=-- http://arcgraph.de/sr/
| |