diff options
author | Gavin Shan <gwshan@linux.vnet.ibm.com> | 2014-04-24 04:00:10 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-04-28 03:33:52 -0400 |
commit | b34497d1844ac89269eb2c6faea0ceec7757a9c3 (patch) | |
tree | 45b6d087152cd12912b7a9bff4622847f60a5588 /arch/powerpc/platforms/powernv | |
parent | f5bc6b70d2f1e4d7c6d2956e9e66a6a55821460d (diff) |
powerpc/powernv: Remove fields in PHB diag-data dump
For some fields (e.g. LEM, MMIO, DMA) in PHB diag-data dump, it's
meaningless to print them if they have non-zero value in the
corresponding mask registers because we always have non-zero values
in the mask registers. The patch only prints those fieds if we
have non-zero values in the primary registers (e.g. LEM, MMIO, DMA
status) so that we can save couple of lines. The patch also removes
unnecessary spare line before "brdgCtl:" and two leading spaces as
prefix in each line as Ben suggested.
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/powernv')
-rw-r--r-- | arch/powerpc/platforms/powernv/pci.c | 91 |
1 files changed, 40 insertions, 51 deletions
diff --git a/arch/powerpc/platforms/powernv/pci.c b/arch/powerpc/platforms/powernv/pci.c index 114e1a700446..2de283d2076c 100644 --- a/arch/powerpc/platforms/powernv/pci.c +++ b/arch/powerpc/platforms/powernv/pci.c | |||
@@ -131,65 +131,60 @@ static void pnv_pci_dump_p7ioc_diag_data(struct pci_controller *hose, | |||
131 | int i; | 131 | int i; |
132 | 132 | ||
133 | data = (struct OpalIoP7IOCPhbErrorData *)common; | 133 | data = (struct OpalIoP7IOCPhbErrorData *)common; |
134 | pr_info("P7IOC PHB#%d Diag-data (Version: %d)\n\n", | 134 | pr_info("P7IOC PHB#%d Diag-data (Version: %d)\n", |
135 | hose->global_number, common->version); | 135 | hose->global_number, common->version); |
136 | 136 | ||
137 | if (data->brdgCtl) | 137 | if (data->brdgCtl) |
138 | pr_info(" brdgCtl: %08x\n", | 138 | pr_info("brdgCtl: %08x\n", |
139 | data->brdgCtl); | 139 | data->brdgCtl); |
140 | if (data->portStatusReg || data->rootCmplxStatus || | 140 | if (data->portStatusReg || data->rootCmplxStatus || |
141 | data->busAgentStatus) | 141 | data->busAgentStatus) |
142 | pr_info(" UtlSts: %08x %08x %08x\n", | 142 | pr_info("UtlSts: %08x %08x %08x\n", |
143 | data->portStatusReg, data->rootCmplxStatus, | 143 | data->portStatusReg, data->rootCmplxStatus, |
144 | data->busAgentStatus); | 144 | data->busAgentStatus); |
145 | if (data->deviceStatus || data->slotStatus || | 145 | if (data->deviceStatus || data->slotStatus || |
146 | data->linkStatus || data->devCmdStatus || | 146 | data->linkStatus || data->devCmdStatus || |
147 | data->devSecStatus) | 147 | data->devSecStatus) |
148 | pr_info(" RootSts: %08x %08x %08x %08x %08x\n", | 148 | pr_info("RootSts: %08x %08x %08x %08x %08x\n", |
149 | data->deviceStatus, data->slotStatus, | 149 | data->deviceStatus, data->slotStatus, |
150 | data->linkStatus, data->devCmdStatus, | 150 | data->linkStatus, data->devCmdStatus, |
151 | data->devSecStatus); | 151 | data->devSecStatus); |
152 | if (data->rootErrorStatus || data->uncorrErrorStatus || | 152 | if (data->rootErrorStatus || data->uncorrErrorStatus || |
153 | data->corrErrorStatus) | 153 | data->corrErrorStatus) |
154 | pr_info(" RootErrSts: %08x %08x %08x\n", | 154 | pr_info("RootErrSts: %08x %08x %08x\n", |
155 | data->rootErrorStatus, data->uncorrErrorStatus, | 155 | data->rootErrorStatus, data->uncorrErrorStatus, |
156 | data->corrErrorStatus); | 156 | data->corrErrorStatus); |
157 | if (data->tlpHdr1 || data->tlpHdr2 || | 157 | if (data->tlpHdr1 || data->tlpHdr2 || |
158 | data->tlpHdr3 || data->tlpHdr4) | 158 | data->tlpHdr3 || data->tlpHdr4) |
159 | pr_info(" RootErrLog: %08x %08x %08x %08x\n", | 159 | pr_info("RootErrLog: %08x %08x %08x %08x\n", |
160 | data->tlpHdr1, data->tlpHdr2, | 160 | data->tlpHdr1, data->tlpHdr2, |
161 | data->tlpHdr3, data->tlpHdr4); | 161 | data->tlpHdr3, data->tlpHdr4); |
162 | if (data->sourceId || data->errorClass || | 162 | if (data->sourceId || data->errorClass || |
163 | data->correlator) | 163 | data->correlator) |
164 | pr_info(" RootErrLog1: %08x %016llx %016llx\n", | 164 | pr_info("RootErrLog1: %08x %016llx %016llx\n", |
165 | data->sourceId, data->errorClass, | 165 | data->sourceId, data->errorClass, |
166 | data->correlator); | 166 | data->correlator); |
167 | if (data->p7iocPlssr || data->p7iocCsr) | 167 | if (data->p7iocPlssr || data->p7iocCsr) |
168 | pr_info(" PhbSts: %016llx %016llx\n", | 168 | pr_info("PhbSts: %016llx %016llx\n", |
169 | data->p7iocPlssr, data->p7iocCsr); | 169 | data->p7iocPlssr, data->p7iocCsr); |
170 | if (data->lemFir || data->lemErrorMask || | 170 | if (data->lemFir) |
171 | data->lemWOF) | 171 | pr_info("Lem: %016llx %016llx %016llx\n", |
172 | pr_info(" Lem: %016llx %016llx %016llx\n", | ||
173 | data->lemFir, data->lemErrorMask, | 172 | data->lemFir, data->lemErrorMask, |
174 | data->lemWOF); | 173 | data->lemWOF); |
175 | if (data->phbErrorStatus || data->phbFirstErrorStatus || | 174 | if (data->phbErrorStatus) |
176 | data->phbErrorLog0 || data->phbErrorLog1) | 175 | pr_info("PhbErr: %016llx %016llx %016llx %016llx\n", |
177 | pr_info(" PhbErr: %016llx %016llx %016llx %016llx\n", | ||
178 | data->phbErrorStatus, data->phbFirstErrorStatus, | 176 | data->phbErrorStatus, data->phbFirstErrorStatus, |
179 | data->phbErrorLog0, data->phbErrorLog1); | 177 | data->phbErrorLog0, data->phbErrorLog1); |
180 | if (data->mmioErrorStatus || data->mmioFirstErrorStatus || | 178 | if (data->mmioErrorStatus) |
181 | data->mmioErrorLog0 || data->mmioErrorLog1) | 179 | pr_info("OutErr: %016llx %016llx %016llx %016llx\n", |
182 | pr_info(" OutErr: %016llx %016llx %016llx %016llx\n", | ||
183 | data->mmioErrorStatus, data->mmioFirstErrorStatus, | 180 | data->mmioErrorStatus, data->mmioFirstErrorStatus, |
184 | data->mmioErrorLog0, data->mmioErrorLog1); | 181 | data->mmioErrorLog0, data->mmioErrorLog1); |
185 | if (data->dma0ErrorStatus || data->dma0FirstErrorStatus || | 182 | if (data->dma0ErrorStatus) |
186 | data->dma0ErrorLog0 || data->dma0ErrorLog1) | 183 | pr_info("InAErr: %016llx %016llx %016llx %016llx\n", |
187 | pr_info(" InAErr: %016llx %016llx %016llx %016llx\n", | ||
188 | data->dma0ErrorStatus, data->dma0FirstErrorStatus, | 184 | data->dma0ErrorStatus, data->dma0FirstErrorStatus, |
189 | data->dma0ErrorLog0, data->dma0ErrorLog1); | 185 | data->dma0ErrorLog0, data->dma0ErrorLog1); |
190 | if (data->dma1ErrorStatus || data->dma1FirstErrorStatus || | 186 | if (data->dma1ErrorStatus) |
191 | data->dma1ErrorLog0 || data->dma1ErrorLog1) | 187 | pr_info("InBErr: %016llx %016llx %016llx %016llx\n", |
192 | pr_info(" InBErr: %016llx %016llx %016llx %016llx\n", | ||
193 | data->dma1ErrorStatus, data->dma1FirstErrorStatus, | 188 | data->dma1ErrorStatus, data->dma1FirstErrorStatus, |
194 | data->dma1ErrorLog0, data->dma1ErrorLog1); | 189 | data->dma1ErrorLog0, data->dma1ErrorLog1); |
195 | 190 | ||
@@ -198,7 +193,7 @@ static void pnv_pci_dump_p7ioc_diag_data(struct pci_controller *hose, | |||
198 | (data->pestB[i] >> 63) == 0) | 193 | (data->pestB[i] >> 63) == 0) |
199 | continue; | 194 | continue; |
200 | 195 | ||
201 | pr_info(" PE[%3d] A/B: %016llx %016llx\n", | 196 | pr_info("PE[%3d] A/B: %016llx %016llx\n", |
202 | i, data->pestA[i], data->pestB[i]); | 197 | i, data->pestA[i], data->pestB[i]); |
203 | } | 198 | } |
204 | } | 199 | } |
@@ -210,69 +205,63 @@ static void pnv_pci_dump_phb3_diag_data(struct pci_controller *hose, | |||
210 | int i; | 205 | int i; |
211 | 206 | ||
212 | data = (struct OpalIoPhb3ErrorData*)common; | 207 | data = (struct OpalIoPhb3ErrorData*)common; |
213 | pr_info("PHB3 PHB#%d Diag-data (Version: %d)\n\n", | 208 | pr_info("PHB3 PHB#%d Diag-data (Version: %d)\n", |
214 | hose->global_number, common->version); | 209 | hose->global_number, common->version); |
215 | if (data->brdgCtl) | 210 | if (data->brdgCtl) |
216 | pr_info(" brdgCtl: %08x\n", | 211 | pr_info("brdgCtl: %08x\n", |
217 | data->brdgCtl); | 212 | data->brdgCtl); |
218 | if (data->portStatusReg || data->rootCmplxStatus || | 213 | if (data->portStatusReg || data->rootCmplxStatus || |
219 | data->busAgentStatus) | 214 | data->busAgentStatus) |
220 | pr_info(" UtlSts: %08x %08x %08x\n", | 215 | pr_info("UtlSts: %08x %08x %08x\n", |
221 | data->portStatusReg, data->rootCmplxStatus, | 216 | data->portStatusReg, data->rootCmplxStatus, |
222 | data->busAgentStatus); | 217 | data->busAgentStatus); |
223 | if (data->deviceStatus || data->slotStatus || | 218 | if (data->deviceStatus || data->slotStatus || |
224 | data->linkStatus || data->devCmdStatus || | 219 | data->linkStatus || data->devCmdStatus || |
225 | data->devSecStatus) | 220 | data->devSecStatus) |
226 | pr_info(" RootSts: %08x %08x %08x %08x %08x\n", | 221 | pr_info("RootSts: %08x %08x %08x %08x %08x\n", |
227 | data->deviceStatus, data->slotStatus, | 222 | data->deviceStatus, data->slotStatus, |
228 | data->linkStatus, data->devCmdStatus, | 223 | data->linkStatus, data->devCmdStatus, |
229 | data->devSecStatus); | 224 | data->devSecStatus); |
230 | if (data->rootErrorStatus || data->uncorrErrorStatus || | 225 | if (data->rootErrorStatus || data->uncorrErrorStatus || |
231 | data->corrErrorStatus) | 226 | data->corrErrorStatus) |
232 | pr_info(" RootErrSts: %08x %08x %08x\n", | 227 | pr_info("RootErrSts: %08x %08x %08x\n", |
233 | data->rootErrorStatus, data->uncorrErrorStatus, | 228 | data->rootErrorStatus, data->uncorrErrorStatus, |
234 | data->corrErrorStatus); | 229 | data->corrErrorStatus); |
235 | if (data->tlpHdr1 || data->tlpHdr2 || | 230 | if (data->tlpHdr1 || data->tlpHdr2 || |
236 | data->tlpHdr3 || data->tlpHdr4) | 231 | data->tlpHdr3 || data->tlpHdr4) |
237 | pr_info(" RootErrLog: %08x %08x %08x %08x\n", | 232 | pr_info("RootErrLog: %08x %08x %08x %08x\n", |
238 | data->tlpHdr1, data->tlpHdr2, | 233 | data->tlpHdr1, data->tlpHdr2, |
239 | data->tlpHdr3, data->tlpHdr4); | 234 | data->tlpHdr3, data->tlpHdr4); |
240 | if (data->sourceId || data->errorClass || | 235 | if (data->sourceId || data->errorClass || |
241 | data->correlator) | 236 | data->correlator) |
242 | pr_info(" RootErrLog1: %08x %016llx %016llx\n", | 237 | pr_info("RootErrLog1: %08x %016llx %016llx\n", |
243 | data->sourceId, data->errorClass, | 238 | data->sourceId, data->errorClass, |
244 | data->correlator); | 239 | data->correlator); |
245 | if (data->nFir || data->nFirMask || | 240 | if (data->nFir) |
246 | data->nFirWOF) | 241 | pr_info("nFir: %016llx %016llx %016llx\n", |
247 | pr_info(" nFir: %016llx %016llx %016llx\n", | ||
248 | data->nFir, data->nFirMask, | 242 | data->nFir, data->nFirMask, |
249 | data->nFirWOF); | 243 | data->nFirWOF); |
250 | if (data->phbPlssr || data->phbCsr) | 244 | if (data->phbPlssr || data->phbCsr) |
251 | pr_info(" PhbSts: %016llx %016llx\n", | 245 | pr_info("PhbSts: %016llx %016llx\n", |
252 | data->phbPlssr, data->phbCsr); | 246 | data->phbPlssr, data->phbCsr); |
253 | if (data->lemFir || data->lemErrorMask || | 247 | if (data->lemFir) |
254 | data->lemWOF) | 248 | pr_info("Lem: %016llx %016llx %016llx\n", |
255 | pr_info(" Lem: %016llx %016llx %016llx\n", | ||
256 | data->lemFir, data->lemErrorMask, | 249 | data->lemFir, data->lemErrorMask, |
257 | data->lemWOF); | 250 | data->lemWOF); |
258 | if (data->phbErrorStatus || data->phbFirstErrorStatus || | 251 | if (data->phbErrorStatus) |
259 | data->phbErrorLog0 || data->phbErrorLog1) | 252 | pr_info("PhbErr: %016llx %016llx %016llx %016llx\n", |
260 | pr_info(" PhbErr: %016llx %016llx %016llx %016llx\n", | ||
261 | data->phbErrorStatus, data->phbFirstErrorStatus, | 253 | data->phbErrorStatus, data->phbFirstErrorStatus, |
262 | data->phbErrorLog0, data->phbErrorLog1); | 254 | data->phbErrorLog0, data->phbErrorLog1); |
263 | if (data->mmioErrorStatus || data->mmioFirstErrorStatus || | 255 | if (data->mmioErrorStatus) |
264 | data->mmioErrorLog0 || data->mmioErrorLog1) | 256 | pr_info("OutErr: %016llx %016llx %016llx %016llx\n", |
265 | pr_info(" OutErr: %016llx %016llx %016llx %016llx\n", | ||
266 | data->mmioErrorStatus, data->mmioFirstErrorStatus, | 257 | data->mmioErrorStatus, data->mmioFirstErrorStatus, |
267 | data->mmioErrorLog0, data->mmioErrorLog1); | 258 | data->mmioErrorLog0, data->mmioErrorLog1); |
268 | if (data->dma0ErrorStatus || data->dma0FirstErrorStatus || | 259 | if (data->dma0ErrorStatus) |
269 | data->dma0ErrorLog0 || data->dma0ErrorLog1) | 260 | pr_info("InAErr: %016llx %016llx %016llx %016llx\n", |
270 | pr_info(" InAErr: %016llx %016llx %016llx %016llx\n", | ||
271 | data->dma0ErrorStatus, data->dma0FirstErrorStatus, | 261 | data->dma0ErrorStatus, data->dma0FirstErrorStatus, |
272 | data->dma0ErrorLog0, data->dma0ErrorLog1); | 262 | data->dma0ErrorLog0, data->dma0ErrorLog1); |
273 | if (data->dma1ErrorStatus || data->dma1FirstErrorStatus || | 263 | if (data->dma1ErrorStatus) |
274 | data->dma1ErrorLog0 || data->dma1ErrorLog1) | 264 | pr_info("InBErr: %016llx %016llx %016llx %016llx\n", |
275 | pr_info(" InBErr: %016llx %016llx %016llx %016llx\n", | ||
276 | data->dma1ErrorStatus, data->dma1FirstErrorStatus, | 265 | data->dma1ErrorStatus, data->dma1FirstErrorStatus, |
277 | data->dma1ErrorLog0, data->dma1ErrorLog1); | 266 | data->dma1ErrorLog0, data->dma1ErrorLog1); |
278 | 267 | ||
@@ -281,7 +270,7 @@ static void pnv_pci_dump_phb3_diag_data(struct pci_controller *hose, | |||
281 | (data->pestB[i] >> 63) == 0) | 270 | (data->pestB[i] >> 63) == 0) |
282 | continue; | 271 | continue; |
283 | 272 | ||
284 | pr_info(" PE[%3d] A/B: %016llx %016llx\n", | 273 | pr_info("PE[%3d] A/B: %016llx %016llx\n", |
285 | i, data->pestA[i], data->pestB[i]); | 274 | i, data->pestA[i], data->pestB[i]); |
286 | } | 275 | } |
287 | } | 276 | } |