On Thu 14 Apr 16:34 PDT 2016, Timur Tabi wrote:

[..]
> So I think the solution is to create a device tree (and ACPI) property that
> holds the mask.
> 
>       dma-mask = <0 0xffffffff>;
> 
> or
> 
>       dma-mask = <0xffffffff 0xffffffff>;
> 
> The driver will then do this:
> 
>       u64 dma_mask;
>       device_property_read_u64(&pdev->dev, "dma-mask", &dma_mask);
>       dma_coerce_mask_and_coherent(&pdev->dev, dma_mask);
> 
> What I'm not sure yet is whether I should call
> dma_coerce_mask_and_coherent() or dma_set_coherent_mask().
> 

For platform devices being populated via from DT you will pass:
of_platform_bus_create()
  of_platform_device_create_pdata()
    of_dma_configure()

Which calls of_dma_get_range() to acquire this information from the
dma-ranges property and set up the dma ops and properties.

Regards,
Bjorn

Reply via email to