Search Linux Wireless

ath12k: hal_reo_dest_ring on PowerPC?

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

 



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




[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