[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