Robert Hancock wrote: >@@ -1153,6 +1164,15 @@ > pp->notifier_clear_block = pp->gen_block + > NV_ADMA_NOTIFIER_CLEAR + (4 * ap->port_no); > >+ /* Now that the legacy PRD and padding buffer are allocated we can >+ safely raise the DMA mask to allocate the CPB/APRD table. >+ These are allowed to fail since we store the value that ends up >+ being used to set as the bounce limit in slave_config later if >+ needed. */ >+ pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); >+ pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); >+ pp->adma_dma_mask = *dev->dma_mask; >+ > mem = dmam_alloc_coherent(dev, NV_ADMA_PORT_PRIV_DMA_SZ, > &mem_dma, GFP_KERNEL);
This causes my DMA memory to always be above 4GB no matter how much I delay the setting of the 64bit DMA mask. I find that if I set the DMA mask as 32bit and not increase it to 64 bit at all then all my I/O to the DVD rom are fine. Jeff Garzik wrote: >I would consider setting the consistent DMA mask to 32-bit, and setting >the overall mask to 64-bit. >Seems like that would solve the problem? I agree and I have tested that it is working. -Shyam Iyer -- This message was sent on behalf of [EMAIL PROTECTED] at openSubscriber.com http://www.opensubscriber.com/message/linux-kernel@vger.kernel.org/8218887.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/