From: Gerhard P. <ger...@gm...> - 2008-03-02 22:30:36
|
-------- Original-Nachricht -------- > Datum: Mon, 03 Mar 2008 07:47:09 +1100 > Von: Benjamin Herrenschmidt <be...@ke...> > An: Gerhard Pircher <ger...@gm...> > CC: ai...@li..., lin...@vg..., dri...@li..., lin...@oz... > Betreff: Re: [BUG/RFC/PATCH] drm: Fix for non-coherent DMA PowerPC > That doesn't look possible, which is weird... looks like we are passing > 0 to clean_dcache_range(). > > Interestingly enough, I can -see- possible issues with the ppc32 DMA API > when trying to use HIGHMEM but that isn't the case here... > > Can you add printk's to ati_pcigart.c to print the arguments passed to > > + dma_sync_single_for_device(&dev->pdev->dev, > + bus_address, > + max_pages * sizeof(u32), > + PCI_DMA_TODEVICE); > + > > And also print the result of bus_to_virt(bus_address) ? > > Ben. 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. Gerhard -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger |