Lines Matching defs:csb

174 #define CSB_ERR(csb, msg, ...)					\
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, ...) \
181 CSB_ERR(csb, msg " at %lx", ##__VA_ARGS__, \
182 (unsigned long)be64_to_cpu((csb)->address))
185 struct coprocessor_status_block *csb)
190 while (!(READ_ONCE(csb->flags) & CSB_V)) {
197 /* hw has updated csb and output buffer */
201 if (!(csb->flags & CSB_V)) {
202 CSB_ERR(csb, "CSB still not valid after %ld us, giving up",
206 if (csb->flags & CSB_F) {
207 CSB_ERR(csb, "Invalid CSB format");
210 if (csb->flags & CSB_CH) {
211 CSB_ERR(csb, "Invalid CSB chaining state");
216 if (csb->cs) {
217 CSB_ERR(csb, "Invalid CSB completion sequence");
222 switch (csb->cc) {
235 CSB_ERR(csb, "Operand Overlap error");
238 CSB_ERR(csb, "Invalid operand");
244 CSB_ERR(csb, "Function aborted");
247 CSB_ERR(csb, "CRC mismatch");
250 CSB_ERR(csb, "Compressed data template invalid");
253 CSB_ERR(csb, "Compressed data template shows data past end");
260 CSB_ERR(csb, "DDE byte count exceeds the limit");
266 CSB_ERR_ADDR(csb, "Invalid alignment");
270 CSB_ERR(csb, "Invalid data length");
281 CSB_ERR_ADDR(csb, "Translation error");
292 CSB_ERR_ADDR(csb, "Protection error");
296 CSB_ERR(csb, "Insufficient Privilege error");
300 CSB_ERR(csb, "Too many DDEs in DDL");
305 CSB_ERR(csb, "Invalid CRB");
312 CSB_ERR(csb, "Invalid DDE");
316 CSB_ERR(csb, "Segmented DDL error");
320 CSB_ERR(csb, "DDE overflow error");
324 CSB_ERR(csb, "Session violation error");
328 CSB_ERR(csb, "Chained CRB error");
332 CSB_ERR(csb, "CRB sequence number error");
335 CSB_ERR(csb, "Unknown subfunction code");
343 CSB_ERR_ADDR(csb, "Read error outside coprocessor");
346 CSB_ERR_ADDR(csb, "Write error outside coprocessor");
349 CSB_ERR(csb, "Internal error in coprocessor");
352 CSB_ERR(csb, "Storage provision error");
355 CSB_ERR(csb, "Correctable hardware error");
358 CSB_ERR(csb, "Job did not finish within allowed time");
362 CSB_ERR(csb, "Invalid CC %d", csb->cc);
367 if (csb->ce & CSB_CE_TERMINATION) {
368 CSB_ERR(csb, "CSB request was terminated");
371 if (csb->ce & CSB_CE_INCOMPLETE) {
372 CSB_ERR(csb, "CSB request not complete");
375 if (!(csb->ce & CSB_CE_TPBC)) {
376 CSB_ERR(csb, "TPBC not provided, unknown target length");
382 be32_to_cpu(csb->count),
393 struct coprocessor_status_block *csb;
398 csb = &crb->csb;
415 csb_addr = nx842_get_pa(csb) & CRB_CSB_ADDRESS;
458 struct coprocessor_status_block *csb;
479 csb = &crb->csb;
506 ret = wait_for_csb(wmem, csb);
519 *outlenp = be32_to_cpu(csb->count);
561 struct coprocessor_status_block *csb;
573 csb = &crb->csb;
610 ret = wait_for_csb(wmem, csb);
612 *outlenp = be32_to_cpu(csb->count);