Re: [PATCH v4 2/2] ath11k: Use reserved host DDR addresses from DT for PCI devices
From: Anilkumar Kolli <hidden>
Date: 2021-11-22 06:12:30
Also in:
ath11k, linux-wireless
On 2021-11-21 20:15, Sven Eckelmann wrote:
On Sunday, 21 November 2021 15:22:01 CET Anilkumar Kolli wrote: [...]quoted
+static int ath11k_mhi_read_addr_from_dt(struct mhi_controller *mhi_ctrl) +{ + struct device_node *np; + dma_addr_t start; + u32 reg[4]; + int ret; + + np = of_find_node_by_type(NULL, "memory"); + if (!np) + return -ENOENT; + + ret = of_property_read_u32_array(np, "reg", reg, 4); + if (ret) + return ret; + + start = reg[0] + reg[1]; + mhi_ctrl->iova_start = start + 0x1000000; + mhi_ctrl->iova_stop = start + reg[2] + reg[3]; + + return 0; +} +[...]quoted
+ ret = of_property_read_u32(dev->of_node, "memory-region", + &hremote_phandle); + if (ret) { + ath11k_dbg(ab, ATH11K_DBG_QMI, + "qmi fail to get hremote phandle\n"); + return ret; + } + + hremote_node = of_find_node_by_phandle(hremote_phandle); + if (!hremote_node) { + ath11k_dbg(ab, ATH11K_DBG_QMI, + "qmi fail to get hremote_node\n"); + return ret; + } + + ret = of_property_read_u32_array(hremote_node, "reg", reg, 4); + if (ret) { + ath11k_dbg(ab, ATH11K_DBG_QMI, + "qmi fail to get reg from hremote\n"); + return ret; + } + + start = reg[0] + reg[1]; + size = reg[2] + reg[3];See my messages for v2 [1] and v3 [2]
Thanks for the review, Here addresses are always within 32-bit. so I will change the API to read only 2 integers and update start addresss and size.
[1] https://patchwork.kernel.org/project/linux-wireless/patch/1637082058-6398-2-git-send-email-akolli@codeaurora.org/#24605391 [2] https://patchwork.kernel.org/project/linux-wireless/patch/1637244892-27267-2-git-send-email-akolli@codeaurora.org/#24605417
- Anil.