[PATCH v4 2/2] ath11k: Use reserved host DDR addresses from DT for PCI devices
Anilkumar Kolli
akolli at codeaurora.org
Sun Nov 21 22:12:27 PST 2021
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@codeaurora.org/#24605391
> [2]
> https://patchwork.kernel.org/project/linux-wireless/patch/1637244892-27267-2-git-send-email-akolli@codeaurora.org/#24605417
- Anil.
More information about the ath11k
mailing list