On Monday 19 January 2015 14:30:22 Rob Herring wrote: > On Mon, Jan 19, 2015 at 1:16 PM, David Daney <ddaney.cavm@xxxxxxxxx> wrote: > > On 01/19/2015 07:43 AM, Mark Rutland wrote: > >> > >> On Mon, Jan 19, 2015 at 03:23:58PM +0000, Aleksey Makarov wrote: > >>> > >>> The OCTEON SATA controller is currently found on cn71XX devices. > > [...] > > >>> + > >>> + /* Set a good dma_mask */ > >>> + pdev->dev.coherent_dma_mask = DMA_BIT_MASK(64); > >>> + pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; > >> > >> > >> I thought a dma-ranges property in the DT could be used to set up the > >> DMA mask appropriately? > > > > > > The DT contains no dma-ranges property, and we know a priori, that it should > > be 64-bits. > > Neither this code nor dma-ranges should be necessary. The AHCI core > code will set the mask to 32 or 64 bits based on the AHCI Capabilities > register. You should however have a dma-ranges property in the parent bus of the device that contains the allowed range for DMA. The current dma_set_mask function is broken and will accept whatever a device driver asks for, and we need to fix this so masks larger than what is specified in dma-ranges are rejected. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html