Lines Matching refs:csb
175 #define CSB_ERR(csb, msg, ...) \
177 ##__VA_ARGS__, (csb)->flags, \
178 (csb)->cs, (csb)->cc, (csb)->ce, \
179 be32_to_cpu((csb)->count))
181 #define CSB_ERR_ADDR(csb, msg, ...) \
182 CSB_ERR(csb, msg " at %lx", ##__VA_ARGS__, \
183 (unsigned long)be64_to_cpu((csb)->address))
186 struct coprocessor_status_block *csb)
191 while (!(READ_ONCE(csb->flags) & CSB_V)) {
198 /* hw has updated csb and output buffer */
202 if (!(csb->flags & CSB_V)) {
203 CSB_ERR(csb, "CSB still not valid after %ld us, giving up",
207 if (csb->flags & CSB_F) {
208 CSB_ERR(csb, "Invalid CSB format");
211 if (csb->flags & CSB_CH) {
212 CSB_ERR(csb, "Invalid CSB chaining state");
217 if (csb->cs) {
218 CSB_ERR(csb, "Invalid CSB completion sequence");
223 switch (csb->cc) {
236 CSB_ERR(csb, "Operand Overlap error");
239 CSB_ERR(csb, "Invalid operand");
245 CSB_ERR(csb, "Function aborted");
248 CSB_ERR(csb, "CRC mismatch");
251 CSB_ERR(csb, "Compressed data template invalid");
254 CSB_ERR(csb, "Compressed data template shows data past end");
261 CSB_ERR(csb, "DDE byte count exceeds the limit");
267 CSB_ERR_ADDR(csb, "Invalid alignment");
271 CSB_ERR(csb, "Invalid data length");
282 CSB_ERR_ADDR(csb, "Translation error");
293 CSB_ERR_ADDR(csb, "Protection error");
297 CSB_ERR(csb, "Insufficient Privilege error");
301 CSB_ERR(csb, "Too many DDEs in DDL");
306 CSB_ERR(csb, "Invalid CRB");
313 CSB_ERR(csb, "Invalid DDE");
317 CSB_ERR(csb, "Segmented DDL error");
321 CSB_ERR(csb, "DDE overflow error");
325 CSB_ERR(csb, "Session violation error");
329 CSB_ERR(csb, "Chained CRB error");
333 CSB_ERR(csb, "CRB sequence number error");
336 CSB_ERR(csb, "Unknown subfunction code");
344 CSB_ERR_ADDR(csb, "Read error outside coprocessor");
347 CSB_ERR_ADDR(csb, "Write error outside coprocessor");
350 CSB_ERR(csb, "Internal error in coprocessor");
353 CSB_ERR(csb, "Storage provision error");
356 CSB_ERR(csb, "Correctable hardware error");
359 CSB_ERR(csb, "Job did not finish within allowed time");
363 CSB_ERR(csb, "Invalid CC %d", csb->cc);
368 if (csb->ce & CSB_CE_TERMINATION) {
369 CSB_ERR(csb, "CSB request was terminated");
372 if (csb->ce & CSB_CE_INCOMPLETE) {
373 CSB_ERR(csb, "CSB request not complete");
376 if (!(csb->ce & CSB_CE_TPBC)) {
377 CSB_ERR(csb, "TPBC not provided, unknown target length");
383 be32_to_cpu(csb->count),
394 struct coprocessor_status_block *csb;
399 csb = &crb->csb;
416 csb_addr = nx842_get_pa(csb) & CRB_CSB_ADDRESS;
459 struct coprocessor_status_block *csb;
480 csb = &crb->csb;
507 ret = wait_for_csb(wmem, csb);
520 *outlenp = be32_to_cpu(csb->count);
562 struct coprocessor_status_block *csb;
574 csb = &crb->csb;
611 ret = wait_for_csb(wmem, csb);
613 *outlenp = be32_to_cpu(csb->count);