istate
uint istate; /* internal state */
int digestsize, void *istate, void *ostate)
__be32 *istate32 = istate, *ostate32 = ostate;
__be64 *istate64 = istate, *ostate64 = ostate;
for (int i = 0; i < ARRAY_SIZE(k.sha1.istate.h); i++) {
istate32[i] = cpu_to_be32(k.sha1.istate.h[i]);
for (int i = 0; i < ARRAY_SIZE(k.sha224.key.istate.h); i++) {
istate32[i] = cpu_to_be32(k.sha224.key.istate.h[i]);
for (int i = 0; i < ARRAY_SIZE(k.sha256.key.istate.h); i++) {
istate32[i] = cpu_to_be32(k.sha256.key.istate.h[i]);
for (int i = 0; i < ARRAY_SIZE(k.sha384.key.istate.h); i++) {
istate64[i] = cpu_to_be64(k.sha384.key.istate.h[i]);
for (int i = 0; i < ARRAY_SIZE(k.sha512.key.istate.h); i++) {
istate64[i] = cpu_to_be64(k.sha512.key.istate.h[i]);
void *istate, void *ostate)
ret = safexcel_hmac_init_iv(areq, blocksize, ipad, istate);
struct safexcel_ahash_export_state istate, ostate;
ret = __safexcel_hmac_setkey(alg, key, keylen, &istate, &ostate);
(memcmp(&base->ipad, istate.state, state_sz) ||
memcpy(&base->ipad, &istate.state, state_sz);
for (int i = 0; i < ARRAY_SIZE(key.istate.h); i++) {
istate[i] = cpu_to_be32(key.istate.h[i]);
__be32 *istate = (__be32 *)hash->sha.state1;
sizeof(key.key.istate.h));
for (int i = 0; i < ARRAY_SIZE(key.key.istate.h); i++) {
istate[i] = cpu_to_be32(key.key.istate.h[i]);
__be64 *istate = (__be64 *)hash->sha.state1;
sizeof(key.key.istate.h));
for (int i = 0; i < ARRAY_SIZE(key.key.istate.h); i++) {
istate[i] = cpu_to_be64(key.key.istate.h[i]);
__be32 *istate = (__be32 *)hash->sha.state1;
round_up(sizeof(key.istate.h), 8));
void *istate, void *ostate)
ret = mv_cesa_ahmac_iv_state_init(req, ipad, istate, blocksize);
struct md5_state istate, ostate;
ret = mv_cesa_ahmac_setkey("mv-md5", key, keylen, &istate, &ostate);
for (i = 0; i < ARRAY_SIZE(istate.hash); i++)
ctx->iv[i] = cpu_to_be32(istate.hash[i]);
struct sha1_state istate, ostate;
ret = mv_cesa_ahmac_setkey("mv-sha1", key, keylen, &istate, &ostate);
for (i = 0; i < ARRAY_SIZE(istate.state); i++)
ctx->iv[i] = cpu_to_be32(istate.state[i]);
struct sha256_state istate, ostate;
ret = mv_cesa_ahmac_setkey("mv-sha256", key, keylen, &istate, &ostate);
for (i = 0; i < ARRAY_SIZE(istate.state); i++)
ctx->iv[i] = cpu_to_be32(istate.state[i]);
s32 istate = (s32)atomic_read(state_ptr);
if (istate > OCT_DEV_STATES || istate < 0)
return oct_dev_state_str[istate];
struct md5_block_state istate;
struct sha1_block_state istate;
struct sha256_block_state istate;
struct sha512_block_state istate;
if (desc->istate & IRQS_AUTODETECT) {
if (i < 16 && !(desc->istate & IRQS_WAITING))
desc->istate &= ~IRQS_AUTODETECT;
if (desc->istate & IRQS_AUTODETECT) {
if (!(desc->istate & IRQS_WAITING)) {
desc->istate &= ~IRQS_AUTODETECT;
desc->istate |= IRQS_AUTODETECT | IRQS_WAITING;
desc->istate |= IRQS_PENDING;
if (desc->istate & IRQS_AUTODETECT) {
if (!(desc->istate & IRQS_WAITING)) {
desc->istate &= ~IRQS_AUTODETECT;
if (desc->istate & IRQS_ONESHOT)
if (unlikely(desc->istate & IRQS_POLL_INPROGRESS)) {
desc->istate &= ~(IRQS_REPLAY | IRQS_WAITING);
desc->istate |= IRQS_PENDING;
desc->istate |= IRQS_PENDING;
desc->istate &= ~IRQS_PENDING;
if (!(desc->istate & IRQS_ONESHOT)) {
desc->istate |= IRQS_PENDING;
if (desc->istate & IRQS_ONESHOT)
if (unlikely(desc->istate & IRQS_PENDING))
desc->istate |= IRQS_PENDING;
if (unlikely(desc->istate & IRQS_PENDING)) {
} while ((desc->istate & IRQS_PENDING) && !irqd_irq_disabled(&desc->irq_data));
#define ___PS(f) if (desc->istate & f) printk("%14s set\n", #f)
seq_printf(m, "istate: 0x%08x\n", desc->istate);
irq_debug_show_bits(m, 0, desc->istate, irqdesc_istates,
desc->istate &= ~IRQS_PENDING;
return desc->istate & IRQS_NMI;
desc->istate |= IRQS_SYSFS;
if (desc->istate & IRQS_SYSFS)
if (!(desc->istate & IRQS_ONESHOT) ||
desc->istate &= ~(IRQS_AUTODETECT | IRQS_SPURIOUS_DISABLED | \
desc->istate |= IRQS_ONESHOT;
if (shared && (desc->istate & IRQS_SPURIOUS_DISABLED)) {
desc->istate &= ~IRQS_SPURIOUS_DISABLED;
desc->istate &= ~IRQS_NMI;
desc->istate |= IRQS_NMI;
desc->istate &= ~IRQS_NMI;
desc->istate |= IRQS_NMI;
if (desc->istate & IRQS_SUSPENDED)
if (desc->istate & IRQS_SUSPENDED)
desc->istate &= ~IRQS_SUSPENDED;
desc->istate |= IRQS_SUSPENDED | IRQS_PENDING;
if (!(desc->istate & IRQS_SUSPENDED) || !irqd_is_wakeup_set(&desc->irq_data))
desc->istate &= ~IRQS_SUSPENDED;
desc->istate |= IRQS_SUSPENDED;
desc->istate &= ~IRQS_PENDING;
if (desc->istate & IRQS_REPLAY)
if (!(desc->istate & IRQS_PENDING) && !inject)
desc->istate &= ~IRQS_PENDING;
desc->istate |= IRQS_REPLAY;
state = READ_ONCE(desc->istate);
if (desc->istate & IRQS_POLL_INPROGRESS || irq_settings_is_polled(desc))
desc->istate |= IRQS_SPURIOUS_DISABLED;
desc->istate |= IRQS_PENDING;
desc->istate |= IRQS_POLL_INPROGRESS;
} while ((desc->istate & IRQS_PENDING) && action);
desc->istate &= ~IRQS_POLL_INPROGRESS;
static void __hmac_md5_preparekey(struct md5_block_state *istate,
*istate = md5_iv;
md5_blocks(istate, derived_key.b, 1);
__hmac_md5_preparekey(&key->istate, &key->ostate, raw_key, raw_key_len);
ctx->hash_ctx.state = key->istate;
static void __hmac_sha1_preparekey(struct sha1_block_state *istate,
*istate = sha1_iv;
sha1_blocks(istate, derived_key.b, 1);
__hmac_sha1_preparekey(&key->istate, &key->ostate,
ctx->sha_ctx.state = key->istate;
static void __hmac_sha256_preparekey(struct sha256_block_state *istate,
*istate = *iv;
sha256_blocks(istate, derived_key.b, 1);
__hmac_sha256_preparekey(&key->key.istate, &key->key.ostate,
__hmac_sha256_preparekey(&key->key.istate, &key->key.ostate,
__sha256_init(&ctx->sha_ctx, &key->istate, SHA256_BLOCK_SIZE);
static void __hmac_sha512_preparekey(struct sha512_block_state *istate,
*istate = *iv;
sha512_blocks(istate, derived_key.b, 1);
__hmac_sha512_preparekey(&key->key.istate, &key->key.ostate,
__hmac_sha512_preparekey(&key->key.istate, &key->key.ostate,
__sha512_init(&ctx->sha_ctx, &key->istate, SHA512_BLOCK_SIZE);