dma_alloc_coherent() on PPC32: physical addresses above 2G possible?

Arjan van de Ven arjan at infradead.org
Mon Jul 21 05:48:41 EST 2008


On Sun, 20 Jul 2008 21:25:51 +0200
Stefan Richter <stefanr at s5r6.in-berlin.de> wrote:

> Arjan van de Ven wrote:
> > On Sun, 20 Jul 2008 20:36:23 +0200
> > Stefan Richter <stefanr at 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;
> 	}

btw it might be nicer to make this

chip->something_special_mask = DMA_31BIT_MASK;

then you can just use the mask from this struct rather than another
check


-- 
If you want to reach me at my work email, use arjan at linux.intel.com
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org



More information about the Linuxppc-dev mailing list