On 2021-11-21 20:15, Sven Eckelmann wrote:
On Sunday, 21 November 2021 15:22:01 CET Anilkumar Kolli wrote:
[...]
+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;
+}
+
[...]
+ 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@xxxxxxxxxxxxxx/#24605391
[2]
https://patchwork.kernel.org/project/linux-wireless/patch/1637244892-27267-2-git-send-email-akolli@xxxxxxxxxxxxxx/#24605417
- Anil.