Work around for t1042 DMA issues in 64 bit with ath10k WiFi

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Work around for t1042 DMA issues in 64 bit with ath10k WiFi

665 Views
jaredbents
Contributor I

Here is a link to the original mailing list that I posted this information to DMA issues on PowerPC64 

Some background information first. I transitioned a build from 32 bit
to 64 bit and discovered my wifi modules no longer work. I am using
fsl-v2.0-1703 on a qoriq t1042. I sourced the problem to DMA mapping
errors and found that it was trying to map addresses in regions not
allowed by the kernel.

ath10k_pci 0001:01:00.0: unable to get target info from device
ath10k_pci 0001:01:00.0: could not get target info (5)
ath10k_pci 0001:01:00.0: could not probe fw (5)


I discovered that if I limited my memory from the actual 8GB present
down to just 2GB with the bootarg mem=2048M, the ath10k modules
worked.

So I started poking around in ath10k/pci.c and noticed that if I ORed
the regions specified in the memory allocations with GFP_DMA, I could
get rid of the initial dma mapping errors. A couple of examples are
below.

skb = __dev_alloc_skb(pipe->buf_sz, GFP_DMA | GFP_ATOMIC);
treq = kmemdup(req, req_len, GFP_DMA | GFP_KERNEL);


But then came across these failures which I have yet to sort out.

ath10k_pci 0001:01:00.0: failed to connect htt (-5)
ath10k_pci 0001:01:00.0: could not init core (-5)
ath10k_pci 0001:01:00.0: could not probe fw (-5)

I've attached the patches that were created by myself and NXP to resolved the dma errors when using the ath10k wifi on a board with the t1042 processor and 64 bit OS. These patches apply to the fsl-v2.0-1703 SDK.

0 Kudos
1 Reply

548 Views
ufedor
NXP Employee
NXP Employee

> I transitioned a build from 32 bit to 64 bit

So there was no issue with 32-bit?

0 Kudos