[PATCH] MIPS: PCI: xtalk-bridge: disable byte swapping for SGI RAD1
From: Imre Kaloz
Date: Mon Oct 26 2026 - 09:20:07 EST
The RAD1 audio DMA engine moves big-endian sample words. With the
Bridge byte swap left on for its slot, captured samples arrive
byte-reversed and playback feeds the DACs scrambled words.
Signed-off-by: Imre Kaloz <kaloz@xxxxxxxxxx>
---
arch/mips/pci/pci-xtalk-bridge.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/mips/pci/pci-xtalk-bridge.c b/arch/mips/pci/pci-xtalk-bridge.c
index cf115abb54e0..1072e70bcd42 100644
--- a/arch/mips/pci/pci-xtalk-bridge.c
+++ b/arch/mips/pci/pci-xtalk-bridge.c
@@ -105,6 +105,9 @@ static void bridge_disable_swapping(struct pci_dev *dev)
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SGI, PCI_DEVICE_ID_SGI_IOC3,
bridge_disable_swapping);
+/* The RAD1 audio DMA engine transfers its sample words big-endian. */
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SGI, 0x0005, bridge_disable_swapping);
+
/*
* The Bridge ASIC supports both type 0 and type 1 access. Type 1 is
--
2.47.3