* [PATCH] Fix FRV PCI config space write
@ 2004-11-22 16:14 David Howells
0 siblings, 0 replies; only message in thread
From: David Howells @ 2004-11-22 16:14 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel
The attached patch makes byte and word writes to PCI config space work. The
problem was that the pointer to the appropriate chunk of the config port needs
to be juggled to allow for the fact that FRV is big endian in this case.
Signed-Off-By: David Howells <dhowells@redhat.com>
---
warthog>diffstat pci-write-2610rc2mm3.diff
pci-vdk.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff -uNr /warthog/kernels/linux-2.6.10-rc2-mm3/arch/frv/mb93090-mb00/pci-vdk.c linux-2.6.10-rc2-mm3-frv/arch/frv/mb93090-mb00/pci-vdk.c
--- /warthog/kernels/linux-2.6.10-rc2-mm3/arch/frv/mb93090-mb00/pci-vdk.c 2004-11-22 10:53:41.000000000 +0000
+++ linux-2.6.10-rc2-mm3-frv/arch/frv/mb93090-mb00/pci-vdk.c 2004-11-22 11:45:09.905240995 +0000
@@ -44,9 +44,14 @@
#define __get_PciCfgDataW(A) readw((volatile void __iomem *) __region_CS1 + 0x88 + ((A) & 2))
#define __get_PciCfgDataL(A) readl((volatile void __iomem *) __region_CS1 + 0x88)
-#define __set_PciCfgDataB(A,V) writeb((V), (volatile void __iomem *) __region_CS1 + 0x88 + ((A) & 3))
-#define __set_PciCfgDataW(A,V) writew((V), (volatile void __iomem *) __region_CS1 + 0x88 + ((A) & 2))
-#define __set_PciCfgDataL(A,V) writel((V), (volatile void __iomem *) __region_CS1 + 0x88)
+#define __set_PciCfgDataB(A,V) \
+ writeb((V), (volatile void __iomem *) __region_CS1 + 0x88 + (3 - ((A) & 3)))
+
+#define __set_PciCfgDataW(A,V) \
+ writew((V), (volatile void __iomem *) __region_CS1 + 0x88 + (2 - ((A) & 2)))
+
+#define __set_PciCfgDataL(A,V) \
+ writel((V), (volatile void __iomem *) __region_CS1 + 0x88)
#define __get_PciBridgeDataB(A) readb((volatile void __iomem *) __region_CS1 + 0x800 + (A))
#define __get_PciBridgeDataW(A) readw((volatile void __iomem *) __region_CS1 + 0x800 + (A))
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-11-23 4:32 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-22 16:14 [PATCH] Fix FRV PCI config space write David Howells
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox