[ath10k] not working in 64 bit with >2GB Ram
Adrian Chadd
adrian at freebsd.org
Wed Mar 21 13:15:49 PDT 2018
hi,
Ok. I'd go ask your platform people whether fbff7000 is a correct
temporary mapped IOTLB buffer.
-adrian
On 21 March 2018 at 12:26, paresh chaudhary
<chaudharyparesh1986 at gmail.com> wrote:
> Hi Adrian,
>
> The answer regarding fbff7000 : This address is returned by dma_map_single api but it's failed to validate in dma_map_error api.
>
> skb_cb->paddr = dma_map_single(dev, msdu->data, msdu->len,
> DMA_TO_DEVICE);
> res = dma_mapping_error(dev, skb_cb->paddr);
> if (res) {
> res = -EIO;
> goto err_free_txdesc;
> }
>
> For bounce buffer, we have compiled kernel with SWIOTLB support.
>
>
> config SWIOTLB
> bool "SWIOTLB support"
> default n
> select IOMMU_HELPER
> ---help---
> Support for IO bounce buffering for systems without an IOMMU.
> This allows us to DMA to the full physical address space on
> platforms where the size of a physical address is larger
> than the bus address. Not all platforms support this.
>
>
>
>> On Mar 21, 2018, at 12:12 PM, Adrian Chadd <adrian at freebsd.org> wrote:
>>
>> Sorry, a quick follow-up:
>>
>> I bring it up because I know there's some oddness with the PPC IOMMU
>> and where they put their devices in the physical address map, so you
>> have to do a lot of gymnastics to be able to even access devices.
>> Anything above 32 bit boundary requires that they do a temporary IOMMU
>> mapping OR they have to use a bounce buffer in memory < 4G. So that
>> whole side of things needs to be setup correctly on the Linux BSP side
>> of things for the dma map/unmap calls to do the right thing.
>>
>>
>>
>> -adrian
More information about the ath10k
mailing list