• Ping-Ke Shih's avatar
    wifi: rtw89: pci: support 36-bit PCI DMA address · 1fd4b3fe
    Ping-Ke Shih authored
    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: default avatarPing-Ke Shih <pkshih@realtek.com>
    Link: https://msgid.link/20240611021901.26394-1-pkshih@realtek.com
    1fd4b3fe
rtw8852be.c 2.88 KB