Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/cesa/cesa.c
Show First 20 Lines • Show All 1,037 Lines • ▼ Show 20 Lines | if (soc_power_ctrl_get(CPU_PM_CTRL_CRYPTO) != CPU_PM_CTRL_CRYPTO) { | ||||
return (ENXIO); | return (ENXIO); | ||||
} | } | ||||
#endif | #endif | ||||
soc_id(&d, &r); | soc_id(&d, &r); | ||||
switch (d) { | switch (d) { | ||||
case MV_DEV_88F6281: | case MV_DEV_88F6281: | ||||
case MV_DEV_88F6282: | case MV_DEV_88F6282: | ||||
case MV_DEV_88F6828: | |||||
sc->sc_tperr = 0; | sc->sc_tperr = 0; | ||||
break; | break; | ||||
case MV_DEV_MV78100: | case MV_DEV_MV78100: | ||||
case MV_DEV_MV78100_Z0: | case MV_DEV_MV78100_Z0: | ||||
sc->sc_tperr = CESA_ICR_TPERR; | sc->sc_tperr = CESA_ICR_TPERR; | ||||
break; | break; | ||||
default: | default: | ||||
return (ENXIO); | return (ENXIO); | ||||
▲ Show 20 Lines • Show All 155 Lines • ▼ Show 20 Lines | #endif | ||||
CESA_REG_WRITE(sc, CESA_ICM, CESA_ICM_ACCTDMA | sc->sc_tperr); | CESA_REG_WRITE(sc, CESA_ICM, CESA_ICM_ACCTDMA | sc->sc_tperr); | ||||
CESA_TDMA_WRITE(sc, CESA_TDMA_ECR, 0); | CESA_TDMA_WRITE(sc, CESA_TDMA_ECR, 0); | ||||
CESA_TDMA_WRITE(sc, CESA_TDMA_EMR, CESA_TDMA_EMR_MISS | | CESA_TDMA_WRITE(sc, CESA_TDMA_EMR, CESA_TDMA_EMR_MISS | | ||||
CESA_TDMA_EMR_DOUBLE_HIT | CESA_TDMA_EMR_BOTH_HIT | | CESA_TDMA_EMR_DOUBLE_HIT | CESA_TDMA_EMR_BOTH_HIT | | ||||
CESA_TDMA_EMR_DATA_ERROR); | CESA_TDMA_EMR_DATA_ERROR); | ||||
/* Register in OCF */ | /* Register in OCF */ | ||||
sc->sc_cid = crypto_get_driverid(dev, CRYPTOCAP_F_HARDWARE); | sc->sc_cid = crypto_get_driverid(dev, CRYPTOCAP_F_HARDWARE); | ||||
if (sc->sc_cid) { | if (sc->sc_cid < 0) { | ||||
device_printf(dev, "could not get crypto driver id\n"); | device_printf(dev, "could not get crypto driver id\n"); | ||||
goto err8; | goto err8; | ||||
} | } | ||||
crypto_register(sc->sc_cid, CRYPTO_AES_CBC, 0, 0); | crypto_register(sc->sc_cid, CRYPTO_AES_CBC, 0, 0); | ||||
crypto_register(sc->sc_cid, CRYPTO_DES_CBC, 0, 0); | crypto_register(sc->sc_cid, CRYPTO_DES_CBC, 0, 0); | ||||
crypto_register(sc->sc_cid, CRYPTO_3DES_CBC, 0, 0); | crypto_register(sc->sc_cid, CRYPTO_3DES_CBC, 0, 0); | ||||
crypto_register(sc->sc_cid, CRYPTO_MD5, 0, 0); | crypto_register(sc->sc_cid, CRYPTO_MD5, 0, 0); | ||||
▲ Show 20 Lines • Show All 508 Lines • Show Last 20 Lines |