• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7800-V1.0.2.28/target/linux/generic/files/crypto/ocf/hifn/

Lines Matching defs:dma

912 	/* Bring dma unit out of reset */
1280 struct hifn_dma *dma = sc->sc_dma;
1284 if (dma->cmdi == HIFN_D_CMD_RSIZE) {
1285 dma->cmdi = 0;
1286 dma->cmdr[HIFN_D_CMD_RSIZE].l = htole32(HIFN_D_JUMP|HIFN_D_MASKDONEIRQ);
1288 dma->cmdr[HIFN_D_CMD_RSIZE].l |= htole32(HIFN_D_VALID);
1292 *cmdp = dma->cmdi++;
1293 dma->cmdk = dma->cmdi;
1295 if (dma->srci == HIFN_D_SRC_RSIZE) {
1296 dma->srci = 0;
1297 dma->srcr[HIFN_D_SRC_RSIZE].l = htole32(HIFN_D_JUMP|HIFN_D_MASKDONEIRQ);
1299 dma->srcr[HIFN_D_SRC_RSIZE].l |= htole32(HIFN_D_VALID);
1303 *srcp = dma->srci++;
1304 dma->srck = dma->srci;
1306 if (dma->dsti == HIFN_D_DST_RSIZE) {
1307 dma->dsti = 0;
1308 dma->dstr[HIFN_D_DST_RSIZE].l = htole32(HIFN_D_JUMP|HIFN_D_MASKDONEIRQ);
1310 dma->dstr[HIFN_D_DST_RSIZE].l |= htole32(HIFN_D_VALID);
1314 *dstp = dma->dsti++;
1315 dma->dstk = dma->dsti;
1317 if (dma->resi == HIFN_D_RES_RSIZE) {
1318 dma->resi = 0;
1319 dma->resr[HIFN_D_RES_RSIZE].l = htole32(HIFN_D_JUMP|HIFN_D_MASKDONEIRQ);
1321 dma->resr[HIFN_D_RES_RSIZE].l |= htole32(HIFN_D_VALID);
1325 *resp = dma->resi++;
1326 dma->resk = dma->resi;
1332 struct hifn_dma *dma = sc->sc_dma;
1351 bzero(dma->command_bufs[cmdi], HIFN_MAX_COMMAND);
1352 *(hifn_base_command_t *)dma->command_bufs[cmdi] = wc;
1353 bcopy(data, &dma->test_src, sizeof(dma->test_src));
1355 dma->srcr[srci].p = htole32(sc->sc_dma_physaddr
1357 dma->dstr[dsti].p = htole32(sc->sc_dma_physaddr
1360 dma->cmdr[cmdi].l = htole32(16 | masks);
1361 dma->srcr[srci].l = htole32(8 | masks);
1362 dma->dstr[dsti].l = htole32(4 | masks);
1363 dma->resr[resi].l = htole32(4 | masks);
1367 if ((dma->resr[resi].l & htole32(HIFN_D_VALID)) == 0)
1388 struct hifn_dma *dma = sc->sc_dma;
1406 bzero(dma->command_bufs[cmdi], HIFN_MAX_COMMAND);
1407 *(hifn_base_command_t *)dma->command_bufs[cmdi] = rc;
1409 dma->srcr[srci].p = htole32(sc->sc_dma_physaddr +
1411 dma->test_src = 0;
1412 dma->dstr[dsti].p = htole32(sc->sc_dma_physaddr +
1414 dma->test_dst = 0;
1415 dma->cmdr[cmdi].l = htole32(8 | masks);
1416 dma->srcr[srci].l = htole32(8 | masks);
1417 dma->dstr[dsti].l = htole32(8 | masks);
1418 dma->resr[resi].l = htole32(HIFN_MAX_RESULT | masks);
1422 if ((dma->resr[resi].l & htole32(HIFN_D_VALID)) == 0)
1431 bcopy(&dma->test_dst, data, sizeof(dma->test_dst));
1447 struct hifn_dma *dma = sc->sc_dma;
1456 dma->cmdr[i].p = htole32(sc->sc_dma_physaddr +
1459 dma->resr[i].p = htole32(sc->sc_dma_physaddr +
1462 dma->cmdr[HIFN_D_CMD_RSIZE].p =
1464 dma->srcr[HIFN_D_SRC_RSIZE].p =
1466 dma->dstr[HIFN_D_DST_RSIZE].p =
1468 dma->resr[HIFN_D_RES_RSIZE].p =
1471 dma->cmdu = dma->srcu = dma->dstu = dma->resu = 0;
1472 dma->cmdi = dma->srci = dma->dsti = dma->resi = 0;
1473 dma->cmdk = dma->srck = dma->dstk = dma->resk = 0;
1617 struct hifn_dma *dma = sc->sc_dma;
1620 dma->dstr[idx].l = htole32(HIFN_D_VALID | HIFN_D_JUMP |
1632 struct hifn_dma *dma = sc->sc_dma;
1639 idx = dma->dsti;
1641 dma->dstr[idx].p = htole32(dst->segs[i].ds_addr);
1642 dma->dstr[idx].l = htole32(HIFN_D_MASKDONEIRQ | dst->segs[i].ds_len);
1644 dma->dstr[idx].l |= htole32(HIFN_D_VALID);
1663 dma->dstr[idx].p = htole32(dst->segs[i].ds_addr);
1664 dma->dstr[idx].l = htole32(HIFN_D_MASKDONEIRQ |
1667 dma->dstr[idx].l |= htole32(HIFN_D_VALID);
1675 dma->dstr[idx].p = htole32(p);
1676 dma->dstr[idx].l = htole32(l);
1678 dma->dstr[idx].l |= htole32(HIFN_D_VALID);
1684 dma->dsti = idx;
1685 dma->dstu += used;
1692 struct hifn_dma *dma = sc->sc_dma;
1695 dma->srcr[idx].l = htole32(HIFN_D_VALID |
1707 struct hifn_dma *dma = sc->sc_dma;
1714 idx = dma->srci;
1719 dma->srcr[idx].p = htole32(src->segs[i].ds_addr);
1720 dma->srcr[idx].l = htole32(src->segs[i].ds_len |
1723 dma->srcr[idx].l |= htole32(HIFN_D_VALID);
1729 dma->srci = idx;
1730 dma->srcu += src->nsegs;
1742 struct hifn_dma *dma = sc->sc_dma;
1755 if ((dma->cmdu + 1) > HIFN_D_CMD_RSIZE ||
1756 (dma->resu + 1) > HIFN_D_RES_RSIZE) {
1761 dma->cmdu, dma->resu);
1829 err = dma->cmdu ? ERESTART : ENOMEM;
1836 err = dma->cmdu ? ERESTART : ENOMEM;
1850 err = dma->cmdu ? ERESTART : ENOMEM;
1859 err = dma->cmdu ? ERESTART : ENOMEM;
1919 dma->cmdu, dma->srcu, dma->dstu, dma->resu,
1939 if ((dma->srcu + cmd->src_nsegs) > HIFN_D_SRC_RSIZE ||
1940 (dma->dstu + cmd->dst_nsegs + 1) > HIFN_D_DST_RSIZE) {
1945 dma->srcu, cmd->src_nsegs,
1946 dma->dstu, cmd->dst_nsegs);
1954 if (dma->cmdi == HIFN_D_CMD_RSIZE) {
1955 dma->cmdi = 0;
1956 dma->cmdr[HIFN_D_CMD_RSIZE].l = htole32(HIFN_D_JUMP|HIFN_D_MASKDONEIRQ);
1958 dma->cmdr[HIFN_D_CMD_RSIZE].l |= htole32(HIFN_D_VALID);
1962 cmdi = dma->cmdi++;
1963 cmdlen = hifn_write_command(cmd, dma->command_bufs[cmdi]);
1967 dma->cmdr[cmdi].l = htole32(cmdlen | HIFN_D_LAST |
1970 dma->cmdr[cmdi].l |= htole32(HIFN_D_VALID);
1973 dma->cmdu++;
1980 if (dma->cmdu > 1) {
1998 if (dma->resi == HIFN_D_RES_RSIZE) {
1999 dma->resi = 0;
2000 dma->resr[HIFN_D_RES_RSIZE].l = htole32(HIFN_D_JUMP|HIFN_D_MASKDONEIRQ);
2002 dma->resr[HIFN_D_RES_RSIZE].l |= htole32(HIFN_D_VALID);
2006 resi = dma->resi++;
2007 KASSERT(dma->hifn_commands[resi] == NULL,
2009 dma->hifn_commands[resi] = cmd;
2012 dma->resr[resi].l = htole32(HIFN_MAX_RESULT |
2015 dma->resr[resi].l |= htole32(HIFN_D_VALID);
2021 dma->resr[resi].l = htole32(HIFN_MAX_RESULT | HIFN_D_LAST);
2023 dma->resr[resi].l |= htole32(HIFN_D_VALID);
2028 dma->resu++;
2103 struct hifn_dma *dma = sc->sc_dma;
2106 if (dma->cmdu == 0 && sc->sc_c_busy) {
2110 if (dma->srcu == 0 && sc->sc_s_busy) {
2114 if (dma->dstu == 0 && sc->sc_d_busy) {
2118 if (dma->resu == 0 && sc->sc_r_busy) {
2138 struct hifn_dma *dma;
2151 dma = sc->sc_dma;
2158 dma->cmdi, dma->srci, dma->dsti, dma->resi,
2159 dma->cmdk, dma->srck, dma->dstk, dma->resk,
2160 dma->cmdu, dma->srcu, dma->dstu, dma->resu);
2192 if ((dmacsr & HIFN_DMACSR_C_WAIT) && (dma->cmdu == 0)) {
2203 i = dma->resk; u = dma->resu;
2207 if (dma->resr[i].l & htole32(HIFN_D_VALID)) {
2218 cmd = dma->hifn_commands[i];
2221 dma->hifn_commands[i] = NULL;
2224 macbuf = dma->result_bufs[i];
2236 dma->resk = i; dma->resu = u;
2238 i = dma->srck; u = dma->srcu;
2244 if (dma->srcr[i].l & htole32(HIFN_D_VALID)) {
2251 dma->srck = i; dma->srcu = u;
2253 i = dma->cmdk; u = dma->cmdu;
2257 if (dma->cmdr[i].l & htole32(HIFN_D_VALID)) {
2269 dma->cmdk = i; dma->cmdu = u;
2280 dma->cmdu, dma->srcu, dma->dstu, dma->resu);
2694 struct hifn_dma *dma = sc->sc_dma;
2701 i = dma->resk; u = dma->resu;
2703 cmd = dma->hifn_commands[i];
2705 dma->hifn_commands[i] = NULL;
2708 if ((dma->resr[i].l & htole32(HIFN_D_VALID)) == 0) {
2713 macbuf = dma->result_bufs[i];
2765 dma->resk = i; dma->resu = u;
2775 struct hifn_dma *dma = sc->sc_dma;
2819 (caddr_t)&dma->slop[cmd->slopidx]);
2822 i = dma->dstk; u = dma->dstu;
2830 if (dma->dstr[i].l & htole32(HIFN_D_VALID)) {
2839 dma->dstk = i; dma->dstu = u;