X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=drivers%2Fof%2Faddress.c;h=b3bf8762f4e8ce48a34cfe545f60036ee7ddb973;hb=809f1863e83e31e3c3cc259fd2cc1470fc772aa5;hp=9582c5703b3c905486da173d08a2f986883bda26;hpb=732c4a9e1404dfcce454122ae695dd9fb7939358;p=sagit-ice-cold%2Fkernel_xiaomi_msm8998.git diff --git a/drivers/of/address.c b/drivers/of/address.c index 9582c5703b3c..b3bf8762f4e8 100644 --- a/drivers/of/address.c +++ b/drivers/of/address.c @@ -260,7 +260,7 @@ struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser, if (!parser->range || parser->range + parser->np > parser->end) return NULL; - range->pci_space = parser->range[0]; + range->pci_space = be32_to_cpup(parser->range); range->flags = of_bus_pci_get_flags(parser->range); range->pci_addr = of_read_number(parser->range + 1, ns); range->cpu_addr = of_translate_address(parser->node, @@ -1009,12 +1009,16 @@ EXPORT_SYMBOL_GPL(of_dma_get_range); * @np: device node * * It returns true if "dma-coherent" property was found - * for this device in DT. + * for this device in the DT, or if DMA is coherent by + * default for OF devices on the current platform. */ bool of_dma_is_coherent(struct device_node *np) { struct device_node *node = of_node_get(np); + if (IS_ENABLED(CONFIG_OF_DMA_DEFAULT_COHERENT)) + return true; + while (node) { if (of_property_read_bool(node, "dma-coherent")) { of_node_put(node);