On Mon, Mar 21, 2011 at 02:11:07PM +0100, Michel Dänzer wrote:
On Fre, 2011-01-07 at 12:11 -0500, Konrad Rzeszutek Wilk wrote:
- The 'NULL' when doing dma_alloc_coherent is unsightly. I was toying
with modifying the TTM API to pass in 'struct device' or 'struct pci_device' but figured it would make first sense to get your guys input before heading that route.
It's worse than unsightly: It breaks TTM on PPC. See arch/powerpc/include/asm/dma-mapping.h: get_dma_ops() returns NULL if NULL is passed in for the device, and most of its callers BUG in that case. The exception being dma_supported(), so a possible solution might be to use that for checking if dma_alloc_coherent can be used.
Dave, please prevent this change from entering mainline before there's a solution for this.
We do have a fix for it:
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git devel/ttm.pci-api.v5
Can you tell me if that works for you?