Search Linux Wireless

Re: [PATCH v4 2/2] ath11k: Use reserved host DDR addresses from DT for PCI devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux