Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote: > Modern platforms can install more than 4GB memory, so DMA address can > larger than 32 bits. If a platform doesn't enable IOMMU, kernel needs extra > works of swiotlb to help DMA that packets reside on memory over 4GB. > > The DMA addressing capability of Realtek WiFi chips is 36 bits, so set > LSB 4 bits of high 32-bit address to register and TX/RX descriptor, which > below figure shows 3-level pointers in TX direction, and RX direction is > similar but 2-level pointers only. > > +--------+ > | | register to head of TX BD > +---|----+ > | +---------+ > +-----> | TX BD | (in memory) > +----|----+ > | +---------+ > +------> | TX WD | (in memory) > +----|----+ > | +--------+ > +------> | skb | > +--------+ > > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> 2 patch(es) applied to rtw-next branch of rtw.git, thanks. 1fd4b3fe52ef wifi: rtw89: pci: support 36-bit PCI DMA address 94298477f81a wifi: rtw89: pci: fix RX tag race condition resulting in wrong RX length --- https://github.com/pkshih/rtw.git