| 847 | } |
| 848 | |
| 849 | int |
| 850 | nitrox_check_se_req(struct nitrox_softreq *sr, struct rte_crypto_op **op) |
| 851 | { |
| 852 | uint64_t cc; |
| 853 | uint64_t orh; |
| 854 | int err; |
| 855 | |
| 856 | cc = *(volatile uint64_t *)(&sr->resp.completion); |
| 857 | orh = *(volatile uint64_t *)(&sr->resp.orh); |
| 858 | if (cc != PENDING_SIG) |
| 859 | err = orh & 0xff; |
| 860 | else if ((orh != PENDING_SIG) && (orh & 0xff)) |
| 861 | err = orh & 0xff; |
| 862 | else if (rte_get_timer_cycles() >= sr->timeout) |
| 863 | err = 0xff; |
| 864 | else |
| 865 | return -EAGAIN; |
| 866 | |
| 867 | if (unlikely(err)) |
| 868 | NITROX_LOG(ERR, "Request err 0x%x, orh 0x%"PRIx64"\n", err, |
| 869 | sr->resp.orh); |
| 870 | |
| 871 | *op = sr->op; |
| 872 | return err; |
| 873 | } |
| 874 | |
| 875 | void * |
| 876 | nitrox_sym_instr_addr(struct nitrox_softreq *sr) |
no outgoing calls
no test coverage detected