Lines Matching refs:re

331 		struct safe_ringentry *re = &sc->sc_ring[i];  in safe_attach()  local
333 re->re_desc.d_sa = raddr + in safe_attach()
335 re->re_sa.sa_staterec = raddr + in safe_attach()
551 struct safe_ringentry *re = sc->sc_back; in safe_intr() local
555 safe_dump_request(sc, __func__, re); in safe_intr()
565 if (re->re_desc.d_csr != 0) { in safe_intr()
566 if (!SAFE_PE_CSR_IS_DONE(re->re_desc.d_csr)) in safe_intr()
568 if (!SAFE_PE_LEN_IS_DONE(re->re_desc.d_len)) in safe_intr()
571 safe_callback(sc, re); in safe_intr()
605 safe_feed(struct safe_softc *sc, struct safe_ringentry *re) in safe_feed() argument
607 bus_dmamap_sync(sc->sc_srcdmat, re->re_src_map, BUS_DMASYNC_PREWRITE); in safe_feed()
608 if (re->re_dst_map != NULL) in safe_feed()
609 bus_dmamap_sync(sc->sc_dstdmat, re->re_dst_map, in safe_feed()
620 safe_dump_request(sc, __func__, re); in safe_feed()
800 struct safe_ringentry *re; in safe_process() local
817 re = sc->sc_front; in safe_process()
819 staterec = re->re_sa.sa_staterec; /* save */ in safe_process()
821 bzero(&re->re_sa, sizeof(struct safe_ringentry) - sizeof(re->re_desc)); in safe_process()
822 re->re_sa.sa_staterec = staterec; /* restore */ in safe_process()
824 re->re_crp = crp; in safe_process()
827 re->re_src_m = (struct mbuf *)crp->crp_buf; in safe_process()
828 re->re_dst_m = (struct mbuf *)crp->crp_buf; in safe_process()
830 re->re_src_io = (struct uio *)crp->crp_buf; in safe_process()
831 re->re_dst_io = (struct uio *)crp->crp_buf; in safe_process()
838 sa = &re->re_sa; in safe_process()
946 bcopy(iv, re->re_sastate.sa_saved_iv, ivsize); in safe_process()
948 re->re_flags |= SAFE_QFLAGS_COPYOUTIV; in safe_process()
954 re->re_sastate.sa_saved_iv, ivsize); in safe_process()
958 (caddr_t)re->re_sastate.sa_saved_iv); in safe_process()
1003 re->re_flags |= SAFE_QFLAGS_COPYOUTICV; in safe_process()
1090 if (bus_dmamap_create(sc->sc_srcdmat, BUS_DMA_NOWAIT, &re->re_src_map)) { in safe_process()
1096 if (bus_dmamap_load_mbuf(sc->sc_srcdmat, re->re_src_map, in safe_process()
1097 re->re_src_m, safe_op_cb, in safe_process()
1098 &re->re_src, BUS_DMA_NOWAIT) != 0) { in safe_process()
1099 bus_dmamap_destroy(sc->sc_srcdmat, re->re_src_map); in safe_process()
1100 re->re_src_map = NULL; in safe_process()
1106 if (bus_dmamap_load_uio(sc->sc_srcdmat, re->re_src_map, in safe_process()
1107 re->re_src_io, safe_op_cb, in safe_process()
1108 &re->re_src, BUS_DMA_NOWAIT) != 0) { in safe_process()
1109 bus_dmamap_destroy(sc->sc_srcdmat, re->re_src_map); in safe_process()
1110 re->re_src_map = NULL; in safe_process()
1116 nicealign = safe_dmamap_aligned(&re->re_src); in safe_process()
1117 uniform = safe_dmamap_uniform(&re->re_src); in safe_process()
1120 nicealign, uniform, re->re_src.nsegs)); in safe_process()
1121 if (re->re_src.nsegs > 1) { in safe_process()
1122 re->re_desc.d_src = sc->sc_spalloc.dma_paddr + in safe_process()
1124 for (i = 0; i < re->re_src_nsegs; i++) { in safe_process()
1134 pd->pd_addr = re->re_src_segs[i].ds_addr; in safe_process()
1135 pd->pd_size = re->re_src_segs[i].ds_len; in safe_process()
1143 re->re_desc.d_src = re->re_src_segs[0].ds_addr; in safe_process()
1165 BUS_DMA_NOWAIT, &re->re_dst_map)) { in safe_process()
1171 re->re_dst_map, re->re_dst_io, in safe_process()
1172 safe_op_cb, &re->re_dst, in safe_process()
1175 re->re_dst_map); in safe_process()
1176 re->re_dst_map = NULL; in safe_process()
1181 uniform = safe_dmamap_uniform(&re->re_dst); in safe_process()
1201 re->re_dst = re->re_src; in safe_process()
1208 re->re_dst = re->re_src; in safe_process()
1219 BUS_DMA_NOWAIT, &re->re_dst_map)) { in safe_process()
1225 re->re_dst_map, re->re_dst_m, in safe_process()
1226 safe_op_cb, &re->re_dst, in safe_process()
1229 re->re_dst_map); in safe_process()
1230 re->re_dst_map = NULL; in safe_process()
1251 totlen = re->re_src_mapsize; in safe_process()
1252 if (re->re_src_m->m_flags & M_PKTHDR) { in safe_process()
1255 if (m && !m_dup_pkthdr(m, re->re_src_m, in safe_process()
1311 re->re_dst_m = top; in safe_process()
1313 BUS_DMA_NOWAIT, &re->re_dst_map) != 0) { in safe_process()
1319 re->re_dst_map, re->re_dst_m, in safe_process()
1320 safe_op_cb, &re->re_dst, in safe_process()
1323 re->re_dst_map); in safe_process()
1324 re->re_dst_map = NULL; in safe_process()
1329 if (re->re_src.mapsize > oplen) { in safe_process()
1338 (re->re_src.mapsize-oplen) == 12 && in safe_process()
1340 safe_mcopy(re->re_src_m, in safe_process()
1341 re->re_dst_m, in safe_process()
1353 if (re->re_dst.nsegs > 1) { in safe_process()
1354 re->re_desc.d_dst = sc->sc_dpalloc.dma_paddr + in safe_process()
1356 for (i = 0; i < re->re_dst_nsegs; i++) { in safe_process()
1364 pd->pd_addr = re->re_dst_segs[i].ds_addr; in safe_process()
1372 re->re_desc.d_dst = re->re_dst_segs[0].ds_addr; in safe_process()
1395 re->re_desc.d_csr = SAFE_PE_CSR_READY | SAFE_PE_CSR_SAPCI; in safe_process()
1397 re->re_desc.d_csr |= SAFE_PE_CSR_LOADSA | SAFE_PE_CSR_HASHFINAL; in safe_process()
1398 re->re_desc.d_len = oplen in safe_process()
1410 safe_feed(sc, re); in safe_process()
1415 if ((re->re_dst_m != NULL) && (re->re_src_m != re->re_dst_m)) in safe_process()
1416 m_freem(re->re_dst_m); in safe_process()
1418 if (re->re_dst_map != NULL && re->re_dst_map != re->re_src_map) { in safe_process()
1419 bus_dmamap_unload(sc->sc_dstdmat, re->re_dst_map); in safe_process()
1420 bus_dmamap_destroy(sc->sc_dstdmat, re->re_dst_map); in safe_process()
1422 if (re->re_src_map != NULL) { in safe_process()
1423 bus_dmamap_unload(sc->sc_srcdmat, re->re_src_map); in safe_process()
1424 bus_dmamap_destroy(sc->sc_srcdmat, re->re_src_map); in safe_process()
1437 safe_callback(struct safe_softc *sc, struct safe_ringentry *re) in safe_callback() argument
1439 struct cryptop *crp = (struct cryptop *)re->re_crp; in safe_callback()
1446 safestats.st_obytes += re->re_dst.mapsize; in safe_callback()
1450 if (re->re_desc.d_csr & SAFE_PE_CSR_STATUS) { in safe_callback()
1452 re->re_desc.d_csr, in safe_callback()
1453 re->re_sa.sa_cmd0, re->re_sa.sa_cmd1); in safe_callback()
1457 if (re->re_dst_map != NULL && re->re_dst_map != re->re_src_map) { in safe_callback()
1458 bus_dmamap_sync(sc->sc_dstdmat, re->re_dst_map, in safe_callback()
1460 bus_dmamap_unload(sc->sc_dstdmat, re->re_dst_map); in safe_callback()
1461 bus_dmamap_destroy(sc->sc_dstdmat, re->re_dst_map); in safe_callback()
1463 bus_dmamap_sync(sc->sc_srcdmat, re->re_src_map, BUS_DMASYNC_POSTWRITE); in safe_callback()
1464 bus_dmamap_unload(sc->sc_srcdmat, re->re_src_map); in safe_callback()
1465 bus_dmamap_destroy(sc->sc_srcdmat, re->re_src_map); in safe_callback()
1471 if ((crp->crp_flags & CRYPTO_F_IMBUF) && re->re_src_m != re->re_dst_m) { in safe_callback()
1472 m_freem(re->re_src_m); in safe_callback()
1473 crp->crp_buf = (caddr_t)re->re_dst_m; in safe_callback()
1476 if (re->re_flags & SAFE_QFLAGS_COPYOUTIV) { in safe_callback()
1495 if (re->re_flags & SAFE_QFLAGS_COPYOUTICV) { in safe_callback()
1507 re->re_sastate.sa_saved_indigest[0] = in safe_callback()
1508 bswap32(re->re_sastate.sa_saved_indigest[0]); in safe_callback()
1509 re->re_sastate.sa_saved_indigest[1] = in safe_callback()
1510 bswap32(re->re_sastate.sa_saved_indigest[1]); in safe_callback()
1511 re->re_sastate.sa_saved_indigest[2] = in safe_callback()
1512 bswap32(re->re_sastate.sa_saved_indigest[2]); in safe_callback()
1516 (caddr_t)re->re_sastate.sa_saved_indigest); in safe_callback()
1899 struct safe_ringentry *re = sc->sc_back; in safe_cleanchip() local
1901 while (re != sc->sc_front) { in safe_cleanchip()
1902 if (re->re_desc.d_csr != 0) in safe_cleanchip()
1903 safe_free_entry(sc, re); in safe_cleanchip()
1904 if (++re == sc->sc_ringtop) in safe_cleanchip()
1905 re = sc->sc_ring; in safe_cleanchip()
1907 sc->sc_back = re; in safe_cleanchip()
1917 safe_free_entry(struct safe_softc *sc, struct safe_ringentry *re) in safe_free_entry() argument
1924 if ((re->re_dst_m != NULL) && (re->re_src_m != re->re_dst_m)) in safe_free_entry()
1925 m_freem(re->re_dst_m); in safe_free_entry()
1927 crp = (struct cryptop *)re->re_crp; in safe_free_entry()
1929 re->re_desc.d_csr = 0; in safe_free_entry()
2034 safe_dump_request(struct safe_softc *sc, const char* tag, struct safe_ringentry *re) in safe_dump_request() argument
2038 ix = re - sc->sc_ring; in safe_dump_request()
2041 , re, ix in safe_dump_request()
2042 , re->re_desc.d_csr in safe_dump_request()
2043 , re->re_desc.d_src in safe_dump_request()
2044 , re->re_desc.d_dst in safe_dump_request()
2045 , re->re_desc.d_sa in safe_dump_request()
2046 , re->re_desc.d_len in safe_dump_request()
2048 if (re->re_src.nsegs > 1) { in safe_dump_request()
2049 ix = (re->re_desc.d_src - sc->sc_spalloc.dma_paddr) / in safe_dump_request()
2051 for (nsegs = re->re_src.nsegs; nsegs; nsegs--) { in safe_dump_request()
2065 if (re->re_dst.nsegs > 1) { in safe_dump_request()
2066 ix = (re->re_desc.d_dst - sc->sc_dpalloc.dma_paddr) / in safe_dump_request()
2068 for (nsegs = re->re_dst.nsegs; nsegs; nsegs--) { in safe_dump_request()
2079 re->re_sa.sa_cmd0, re->re_sa.sa_cmd1, re->re_sa.sa_staterec); in safe_dump_request()
2081 , re->re_sa.sa_key[0] in safe_dump_request()
2082 , re->re_sa.sa_key[1] in safe_dump_request()
2083 , re->re_sa.sa_key[2] in safe_dump_request()
2084 , re->re_sa.sa_key[3] in safe_dump_request()
2085 , re->re_sa.sa_key[4] in safe_dump_request()
2086 , re->re_sa.sa_key[5] in safe_dump_request()
2087 , re->re_sa.sa_key[6] in safe_dump_request()
2088 , re->re_sa.sa_key[7] in safe_dump_request()
2091 , re->re_sa.sa_indigest[0] in safe_dump_request()
2092 , re->re_sa.sa_indigest[1] in safe_dump_request()
2093 , re->re_sa.sa_indigest[2] in safe_dump_request()
2094 , re->re_sa.sa_indigest[3] in safe_dump_request()
2095 , re->re_sa.sa_indigest[4] in safe_dump_request()
2098 , re->re_sa.sa_outdigest[0] in safe_dump_request()
2099 , re->re_sa.sa_outdigest[1] in safe_dump_request()
2100 , re->re_sa.sa_outdigest[2] in safe_dump_request()
2101 , re->re_sa.sa_outdigest[3] in safe_dump_request()
2102 , re->re_sa.sa_outdigest[4] in safe_dump_request()
2105 , re->re_sastate.sa_saved_iv[0] in safe_dump_request()
2106 , re->re_sastate.sa_saved_iv[1] in safe_dump_request()
2107 , re->re_sastate.sa_saved_iv[2] in safe_dump_request()
2108 , re->re_sastate.sa_saved_iv[3] in safe_dump_request()
2111 , re->re_sastate.sa_saved_hashbc in safe_dump_request()
2112 , re->re_sastate.sa_saved_indigest[0] in safe_dump_request()
2113 , re->re_sastate.sa_saved_indigest[1] in safe_dump_request()
2114 , re->re_sastate.sa_saved_indigest[2] in safe_dump_request()
2115 , re->re_sastate.sa_saved_indigest[3] in safe_dump_request()
2116 , re->re_sastate.sa_saved_indigest[4] in safe_dump_request()
2129 struct safe_ringentry *re = sc->sc_back; in safe_dump_ring() local
2131 safe_dump_request(sc, tag, re); in safe_dump_ring()
2132 if (++re == sc->sc_ringtop) in safe_dump_ring()
2133 re = sc->sc_ring; in safe_dump_ring()
2134 } while (re != sc->sc_front); in safe_dump_ring()