Lines Matching refs:csb

174 #define CSB_ERR(csb, msg, ...)					\  argument
176 ##__VA_ARGS__, (csb)->flags, \
177 (csb)->cs, (csb)->cc, (csb)->ce, \
178 be32_to_cpu((csb)->count))
180 #define CSB_ERR_ADDR(csb, msg, ...) \ argument
181 CSB_ERR(csb, msg " at %lx", ##__VA_ARGS__, \
182 (unsigned long)be64_to_cpu((csb)->address))
188 struct coprocessor_status_block *csb) in wait_for_csb() argument
193 while (!(READ_ONCE(csb->flags) & CSB_V)) { in wait_for_csb()
204 if (!(csb->flags & CSB_V)) { in wait_for_csb()
205 CSB_ERR(csb, "CSB still not valid after %ld us, giving up", in wait_for_csb()
209 if (csb->flags & CSB_F) { in wait_for_csb()
210 CSB_ERR(csb, "Invalid CSB format"); in wait_for_csb()
213 if (csb->flags & CSB_CH) { in wait_for_csb()
214 CSB_ERR(csb, "Invalid CSB chaining state"); in wait_for_csb()
219 if (csb->cs) { in wait_for_csb()
220 CSB_ERR(csb, "Invalid CSB completion sequence"); in wait_for_csb()
225 switch (csb->cc) { in wait_for_csb()
238 CSB_ERR(csb, "Operand Overlap error"); in wait_for_csb()
241 CSB_ERR(csb, "Invalid operand"); in wait_for_csb()
247 CSB_ERR(csb, "Function aborted"); in wait_for_csb()
250 CSB_ERR(csb, "CRC mismatch"); in wait_for_csb()
253 CSB_ERR(csb, "Compressed data template invalid"); in wait_for_csb()
256 CSB_ERR(csb, "Compressed data template shows data past end"); in wait_for_csb()
263 CSB_ERR(csb, "DDE byte count exceeds the limit"); in wait_for_csb()
269 CSB_ERR_ADDR(csb, "Invalid alignment"); in wait_for_csb()
273 CSB_ERR(csb, "Invalid data length"); in wait_for_csb()
284 CSB_ERR_ADDR(csb, "Translation error"); in wait_for_csb()
295 CSB_ERR_ADDR(csb, "Protection error"); in wait_for_csb()
299 CSB_ERR(csb, "Insufficient Privilege error"); in wait_for_csb()
303 CSB_ERR(csb, "Too many DDEs in DDL"); in wait_for_csb()
308 CSB_ERR(csb, "Invalid CRB"); in wait_for_csb()
315 CSB_ERR(csb, "Invalid DDE"); in wait_for_csb()
319 CSB_ERR(csb, "Segmented DDL error"); in wait_for_csb()
323 CSB_ERR(csb, "DDE overflow error"); in wait_for_csb()
327 CSB_ERR(csb, "Session violation error"); in wait_for_csb()
331 CSB_ERR(csb, "Chained CRB error"); in wait_for_csb()
335 CSB_ERR(csb, "CRB sequence number error"); in wait_for_csb()
338 CSB_ERR(csb, "Unknown subfunction code"); in wait_for_csb()
346 CSB_ERR_ADDR(csb, "Read error outside coprocessor"); in wait_for_csb()
349 CSB_ERR_ADDR(csb, "Write error outside coprocessor"); in wait_for_csb()
352 CSB_ERR(csb, "Internal error in coprocessor"); in wait_for_csb()
355 CSB_ERR(csb, "Storage provision error"); in wait_for_csb()
358 CSB_ERR(csb, "Correctable hardware error"); in wait_for_csb()
361 CSB_ERR(csb, "Job did not finish within allowed time"); in wait_for_csb()
365 CSB_ERR(csb, "Invalid CC %d", csb->cc); in wait_for_csb()
370 if (csb->ce & CSB_CE_TERMINATION) { in wait_for_csb()
371 CSB_ERR(csb, "CSB request was terminated"); in wait_for_csb()
374 if (csb->ce & CSB_CE_INCOMPLETE) { in wait_for_csb()
375 CSB_ERR(csb, "CSB request not complete"); in wait_for_csb()
378 if (!(csb->ce & CSB_CE_TPBC)) { in wait_for_csb()
379 CSB_ERR(csb, "TPBC not provided, unknown target length"); in wait_for_csb()
385 be32_to_cpu(csb->count), in wait_for_csb()
396 struct coprocessor_status_block *csb; in nx842_config_crb() local
401 csb = &crb->csb; in nx842_config_crb()
418 csb_addr = nx842_get_pa(csb) & CRB_CSB_ADDRESS; in nx842_config_crb()
461 struct coprocessor_status_block *csb; in nx842_exec_icswx() local
482 csb = &crb->csb; in nx842_exec_icswx()
509 ret = wait_for_csb(wmem, csb); in nx842_exec_icswx()
522 *outlenp = be32_to_cpu(csb->count); in nx842_exec_icswx()
564 struct coprocessor_status_block *csb; in nx842_exec_vas() local
576 csb = &crb->csb; in nx842_exec_vas()
613 ret = wait_for_csb(wmem, csb); in nx842_exec_vas()
615 *outlenp = be32_to_cpu(csb->count); in nx842_exec_vas()