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/

Reply via email to