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