[PATCH v2 0/2] Enable WiFi on Spacemit K3 Pico ITX
Anirudh Srinivasan <[email protected]> Thu, 16 Jul 2026 18:05:09 -0500
| Newsgroups | dev.linux.lists.spacemit,org.infradead.lists.linux-riscv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
The Spacemit K3 Pico ITX has a RTL8852BE Wifi card attached via PCIe. The probe for the rtw89 driver currently fails because driver tries to allocate a kernel page with GFP_DMA32, and this board has memory only above the 32 bit range. The rtw89 driver has the ability to use 36 bit DMA addresses, but this is only enabled for certain PCIe bridge/rootport that have been validated to work on. Enable this ability for the PCIe root port. A similar patch seems to exist in the vendor kernel tree. To test this, you'll need the 3 patch series adding the K3 PCIe RC Driver[1], K3 PCIe Phy[2] and K3 PCIe DTS[3]. I've dropped the dependency on [1] from v1 and added the PCI IDs to pci_ids.h here directly. Inochi's PCIe RC series will now use the PCI IDs added by this series. One question I had was about whether the IOMMU on the K3 could be used to do DMA mappings and allow the wifi card to work with a 32 bit virtual address. The K3's IOMMU isn't supported currently in the kernel DT. It seems to not be enabled in the vendor kernel too. Even if the IOMMU was enabled, I'm not sure if it would help with this exact problem. The fix proposed in this patch works to solve this problem, so I've sent it to the list. [1] https://lore.kernel.org/spacemit/[email protected]/ [2] https://lore.kernel.org/spacemit/[email protected]/ [3] https://lore.kernel.org/spacemit/[email protected]/ Signed-off-by: Anirudh Srinivasan <[email protected]> --- Changes in v2: - Updated Patch 1's commit with reason for where the PCI IDs will be used - Dropped the hard dependency on Inochi's PCIe RC series and add the PCI ids in this patch directly - Added Acked by from Bjorn and Ping-Ke, Tested by from Aurelien - Link to v1: https://patch.msgid.link/[email protected] --- Anirudh Srinivasan (2): PCI: Move Spacemit vendor and device IDs to linux/pci_ids.h wifi: rtw89: pci: enable 36-bit DMA on spacemit K3 drivers/net/wireless/realtek/rtw89/pci.c | 4 ++++ drivers/pci/controller/dwc/pcie-spacemit-k1.c | 3 --- include/linux/pci_ids.h | 4 ++++ 3 files changed, 8 insertions(+), 3 deletions(-) --- base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482 change-id: 20260715-rtw89-spacemit-k3-a37c9771b3c3 Best regards, -- Anirudh Srinivasan <[email protected]>