aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pasemi
diff options
context:
space:
mode:
authorNathan Lynch <ntl@pobox.com>2007-08-09 17:37:27 -0400
committerPaul Mackerras <paulus@samba.org>2007-08-16 21:01:54 -0400
commitb139f1fb0f1e4bfe06f2c88ba8c9a55d9513d871 (patch)
treef0483fecba0a1f756357457e19692830cdc5bc36 /arch/powerpc/platforms/pasemi
parent8935fa0fe6f87c4df806f605de04aed4353c7600 (diff)
[POWERPC] Remove gratuitous reads from pasemi pci config space methods
The pasemi pci configuration space write method reads the written location immediately after the write is performed, presumably in order to flush the write. However, configuration space writes are not allowed to be posted, making these reads gratuitous. Furthermore, this behavior potentially causes us to violate the PCI PM spec when changing between e.g. D0 and D3 states, because a delay of up to 10ms may be required before the OS accesses configuration space after the write which initiates the transition. Remove the unnecessary reads from pa_pxp_write_config. Signed-off-by: Nathan Lynch <ntl@pobox.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pasemi')
-rw-r--r--arch/powerpc/platforms/pasemi/pci.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/pasemi/pci.c b/arch/powerpc/platforms/pasemi/pci.c
index 882b571ba92c..03d1d07aa2ac 100644
--- a/arch/powerpc/platforms/pasemi/pci.c
+++ b/arch/powerpc/platforms/pasemi/pci.c
@@ -107,15 +107,12 @@ static int pa_pxp_write_config(struct pci_bus *bus, unsigned int devfn,
107 switch (len) { 107 switch (len) {
108 case 1: 108 case 1:
109 out_8(addr, val); 109 out_8(addr, val);
110 (void) in_8(addr);
111 break; 110 break;
112 case 2: 111 case 2:
113 out_le16(addr, val); 112 out_le16(addr, val);
114 (void) in_le16(addr);
115 break; 113 break;
116 default: 114 default:
117 out_le32(addr, val); 115 out_le32(addr, val);
118 (void) in_le32(addr);
119 break; 116 break;
120 } 117 }
121 return PCIBIOS_SUCCESSFUL; 118 return PCIBIOS_SUCCESSFUL;