[BUG/RFC/PATCH] drm: Fix for non-coherent DMA PowerPC

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Mar 3 09:54:07 EST 2008


> Okay, I changed the code to this:
> 
> >DRM_DEBUG("dev = 0x%x, bus_address = 0x%x, bus_to_virt = 0x%lx, max_pages = 0x%x\n",
> >	(unsigned int)&dev->pdev->dev, bus_address,
> >	(unsigned long)virt_to_bus(bus_address), max_pages);
> >
> >if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) {
> >	DRM_DEBUG("calling dma_sync_single_for_device()\n");
> >	dma_sync_single_for_device(&dev->pdev->dev,
> >		bus_address,
> >		max_pages * sizeof(u32),
> >		PCI_DMA_TODEVICE);
> >}
> 
> It looks like dma_sync_single_for_device() is not called here (the debug
> messages don't show up in kernel log). I also included the Xorg.0.log
> file.

Ok, try adding more debug then, around the calls to pci_map_single() in
that same function and dump the arguments. I'm especially interested
in the result of the various page_address().

Ben.





More information about the Linuxppc-dev mailing list