RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)

From: shyam_iyer
Date: Thu Dec 20 2007 - 06:15:40 EST


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 shyam_iyer@xxxxxxxx at openSubscriber.com
http://www.opensubscriber.com/message/linux-kernel@xxxxxxxxxxxxxxx/8218887.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/