OSDN Git Service

arm64: dts: qcom: sdm845: Extend ranges and describe DMA space
authorBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 17 Jan 2019 04:29:40 +0000 (20:29 -0800)
committerAndy Gross <andy.gross@linaro.org>
Fri, 25 Jan 2019 04:20:34 +0000 (22:20 -0600)
For devices attached to an IOMMU, translation between IOVA and physical
addresses is no longer 1:1 and dma-ranges should be specified to
describe the available IOVA address space.

On SDM845 the busses are implemented with 36 address bits, so dma-ranges
must be defined to reduce the size of the IOVA address space from the 48
bits supported by the SMMU. Without this DMA allocations may end up with
IOVAs outside the valid range, that gets truncated by the bus between
the device and its translation unit.

Also extend ranges to describe the available address space.

Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
arch/arm64/boot/dts/qcom/sdm845.dtsi

index e8daa73..e4156ea 100644 (file)
        soc: soc {
                #address-cells = <2>;
                #size-cells = <2>;
-               ranges = <0 0 0 0 0 0xffffffff>;
+               ranges = <0 0 0 0 0x10 0>;
+               dma-ranges = <0 0 0 0 0x10 0>;
                compatible = "simple-bus";
 
                gcc: clock-controller@100000 {