Re: [PATCH 0/3] SM8450 IPA support
From: Alex Elder
Date: Wed Jul 08 2026 - 15:52:03 EST
On 6/23/26 8:57 PM, Esteban Urrutia wrote:
On 6/23/26 11:56 AM, Alex Elder wrote:
I assume you have implemented this based on what you found in
some downstream code. And if so, could you please indicate
where to find that (so I can do some cross-referencing myself).
I no longer have access to any Qualcomm internal documentation.
Hello. Yes, that would be the case. What I used goes as follows.
Thank you very much for sharing this information.
1. My personal findings regarding IPA:
https://gist.github.com/esteuwu/bd49ed67ed9290f41612bdae1cacb5bc
This was interesting to see. It's something I should probably
document better. Most everything maps to the downstream code,
but it's not always completely obvious how, because the upstream
driver has evolved substantially.
Note that these may be subject to errors since I mostly cross-checked
values to get here.
2. SM8450 downstream device tree:
https://github.com/LineageOS/android_kernel_qcom_sm8450-devicetrees/blob/lineage-20/qcom/waipio.dtsi#L3304
3. SM8475 downstream device tree:
https://github.com/LineageOS/android_kernel_qcom_sm8450-devicetrees/blob/lineage-20/qcom/cape.dtsi#L2624
It's worth mentioning that between SM8450 and SM8475, IPA SRAM size is
different, so I used the smaller SRAM size to support SM8475 as well. Hence
the reason why I included SM8475's downstream device tree as well.
This means that the SRAM size (ipa_mem_data->smem_size) should
possibly be defined in devicetree (as the IMEM address and size
now are).
The SMEM region is used for "IPA filter tables", and access to
it is shared between the AP and the modem. Unlike the other
(host) memory regions, the size used is *not* included in the
ipa_init_modem_driver_req message that communicates from the
AP to the modem where the regions are, and their sizes.
So it's possible that the size used must actually match what
is expected by both the AP and modem. If that is the case,
using the smaller size might have problems on whichever
platform (SM8450?) expects the larger one.
So I'm not sure whether using the smaller size for both
platforms is OK; someone from Qualcomm might be able to
answer that question.
4. SM8450/SM8475 downstream IPA driver:
https://github.com/LineageOS/android_kernel_qcom_sm8450-modules/tree/lineage-20/qcom/opensource/dataipa
Most of my cross-checking came from the source code in this folder.
Yes, "ipa_utils.c" contains a great deal of the information
needed.
Finally, for some values such as qmap, aggregation, tre_count and
event_count, I had to cross-check on the same folder that all
ipa_data-vX.Y.c files reside, since I couldn't find any reference to these
values in downstream code.
I'll try to explain those things separately.
-Alex
Regards,
Esteban