On 03/21/2018 09:56 AM, paresh chaudhary wrote:
We also tried  4.15  but we are getting the same error.


After some more investigation, We have found that when the virtual address of 
data pointer (a member of sk_buff) is above ~3.7 GB RAM address range then 
return
address from dma_map_single API is failed to validate in dma_mapping_error 
function.

We also noticed that in a 64bit machine some time ping is working and because 
of the virtual address is under ~3.7GAM RAM address range.
*Case 1. 64bit with restrict memory with 'mem' command from uboot. Here virtual 
address will be within 2GB range so ping will never fail.*


ath10k_htt_tx:465, Address of msdu->data=c00000002d0d7e30
ath10k_htt_tx:468, Address of skb_cb->paddr=2d0d7e30
ath10k_htt_tx:465, Address of msdu->data=c00000002d0d7e30
ath10k_htt_tx:468, Address of skb_cb->paddr=2d0d7e30
ath10k_htt_tx:465, Address of msdu->data=c00000002d0d6e30
ath10k_htt_tx:468, Address of skb_cb->paddr=2d0d6e30
ath10k_htt_tx:465, Address of msdu->data=c000000073f20c30
ath10k_htt_tx:468, Address of skb_cb->paddr=73f20c30
ath10k_htt_tx:465, Address of msdu->data=c00000002d0d6e30
ath10k_htt_tx:468, Address of skb_cb->paddr=2d0d6e30
ath10k_htt_tx:465, Address of msdu->data=c000000073f20630
ath10k_htt_tx:468, Address of skb_cb->paddr=73f20630
ath10k_htt_tx:465, Address of msdu->data=c00000002d0d6e30
ath10k_htt_tx:468, Address of skb_cb->paddr=2d0d6e30
ath10k_htt_tx:465, Address of msdu->data=c000000073f20630
ath10k_htt_tx:468, Address of skb_cb->paddr=73f20630
ath10k_htt_tx:465, Address of msdu->data=c00000002d0d6e30





*Case 2. 64bit without any memory restriction. I also added a description in a 
dmesg log to understand virtual address range issue.*



ath10k_htt_tx:465, Address of msdu->data=c0000001eac22830        (Fail)
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5
ath10k_htt_tx:465, Address of msdu->data=c00000007bcc2830        *(PASS) (Here 
lower bit(7bcc2830) is under ~3.7 Ram address range)*
ath10k_htt_tx:468, Address of skb_cb->paddr=7bcc2830           *  (Here 
dma_map_single api return correct mapping address becuase of cpu virtual address 
range
under ~3.7 ramaddress) *
ath10k_htt_tx:465, Address of msdu->data=c0000001eac24030       * (FAIL) (Here 
lower bit(1eac24030) is above ~3.7 Ram address range)*
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000          *   (Here dma_map 
single api return address failed to validate  in dma_mapping_error)*
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5
ath10k_htt_tx:465, Address of msdu->data=c0000001eacee030             (Fail)
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5
ath10k_htt_tx:465, Address of msdu->data=c0000001eac26830         (Fail)
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5
ath10k_htt_tx:465, Address of msdu->data=c0000001eacee030               (Fail)
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5
ath10k_htt_tx:465, Address of msdu->data=c0000001eac26830        (Fail)
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5
ath10k_htt_tx:465, Address of msdu->data=c00000007bcc2a30       (Pass)
ath10k_htt_tx:468, Address of skb_cb->paddr=7bcc2a30
ath10k_htt_tx:465, Address of msdu->data=c0000001eacef630            (Fail)
ath10k_htt_tx:468, Address of skb_cb->paddr=fbff7000
ath10k_pci 0001:01:00.0: failed to transmit packet, dropping: -5



As per my understanding, In 32bit machine limit of a virtual address is 4GB so 
we are not facing this issue on a 32bit machine.

I have added all debug print in drivers/net/wireless/ath/ath10k/htt_tx.c file.

Maybe this is some specific issue with DMA and your platform.  I am afraid
that I do not understand this well enough to help.  But, at least testing
with a recent kernel might encourage others to post some suggestions.

ath10k driver works fine with x86-64 platform with 8+ GB RAM, we
use that all the time.

Thanks,
Ben











*Regards,
Chaudhary Paresh*



On Wed, Mar 21, 2018 at 11:51 AM, Ben Greear <[email protected] 
<mailto:[email protected]>> wrote:

    On 03/21/2018 09:38 AM, paresh chaudhary wrote:

        Hi Team,

        We need your help regarding ath10k module.

        We are using ath10k wifi module with T1040 processor. We have total 8GB 
DDR in a system.

        The ath10k is working fine on a 32bit system but it's not working on 64 
bit system. We are getting error ( ath10k_pci 0001:01:00.0: failed to transmit
        packet : drivers/net/wireless/ath/ath10k/mac.c).


        NOTE: One interesting point is that when we set DDR size is equal to 2GB 
from uboot console rather than to use full 8GB  (setenv bootargs "root=/dev/ram
        rw console=ttyS0,115200 quiet mem=2050M") then ath10k is working fine 
on a 64bit machine.


        Is it related to DMA? Do you have a patch to resolve this?


        We are using linux-fsl-sdk-v2.0 ( 4.1.35) from nxp.


    You are using an old kernel with unknown patches applied on a CPU 
architecture
    most of us do not use.

    Probably it is DMA related, if you google for ath10k and DMA you should 
find some
    patches that might help.

    Probably you will want to update to an ath10k driver from 4.7 kernel or 
higher,
    maybe using the backports project or something like that.

    Your vendor might can help you with that, and if not, then maybe find a 
better
    vendor with more up-to-date software and/or a platform that supports 
something modern
    like a recent OpenWRT release.

    Thanks,
    Ben

    --
    Ben Greear <[email protected] <mailto:[email protected]>>
    Candela Technologies Inc  http://www.candelatech.com




--
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to