ath12k: hal_reo_dest_ring on PowerPC?
Alexander Wilhelm
alexander.wilhelm at westermo.com
Mon Jul 14 02:57:39 PDT 2025
Hello devs,
I'm trying to bring up the ath12k driver on big endian PPC platform. Currently
I'm stuck and need your help.
In the function _ath12k_dp_rx_process_ inside _dp_rx.c_ the _desc_va_ is
extraced as the following:
desc_va = ((u64)le32_to_cpu(desc->buf_va_hi) << 32 |
le32_to_cpu(desc->buf_va_lo));
desc_info = (struct ath12k_rx_desc_info *)((unsigned long)desc_va);
As you can see the _buf_va_hi_ and _buf_va_lo_ are swapped on big endian since
the data type is __le32. However that swap leads to kernel panic on my machine.
The entire _struct hal_reo_dest_ring_ consists only of little endian member
values and it seems to be correct. Therefore I assume the values are already set
wrong earlier, but I cannot find a place in a source code where they are set.
Can someone explain to me how and where those values are set, so I can fix the
problem?
Best regards
Alexander Wilhelm
More information about the ath12k
mailing list