cword
memset(&ctx->cword, 0, sizeof(ctx->cword));
ctx->cword.decrypt.encdec = 1;
ctx->cword.encrypt.rounds = 10 + (key_len - 16) / 4;
ctx->cword.decrypt.rounds = ctx->cword.encrypt.rounds;
ctx->cword.encrypt.ksize = (key_len - 16) / 8;
ctx->cword.decrypt.ksize = ctx->cword.encrypt.ksize;
ctx->cword.encrypt.keygen = 1;
ctx->cword.decrypt.keygen = 1;
if (&ctx->cword.encrypt == per_cpu(paes_last_cword, cpu) ||
&ctx->cword.decrypt == per_cpu(paes_last_cword, cpu))
static inline void padlock_reset_key(struct cword *cword)
if (cword != per_cpu(paes_last_cword, cpu))
static inline void padlock_store_cword(struct cword *cword)
per_cpu(paes_last_cword, raw_smp_processor_id()) = cword;
struct cword *control_word, int count)
u8 *iv, struct cword *control_word, int count)
struct cword *cword, int count)
rep_xcrypt_ecb(tmp, out, key, cword, count);
u8 *iv, struct cword *cword, int count)
return rep_xcrypt_cbc(tmp, out, key, iv, cword, count);
struct cword *cword, int count)
ecb_crypt_copy(in, out, key, cword, count);
rep_xcrypt_ecb(in, out, key, cword, count);
u8 *iv, struct cword *cword, int count)
return cbc_crypt_copy(in, out, key, iv, cword, count);
return rep_xcrypt_cbc(in, out, key, iv, cword, count);
padlock_reset_key(&ctx->cword.encrypt);
ecb_crypt(in, out, ctx->E, &ctx->cword.encrypt, 1);
padlock_store_cword(&ctx->cword.encrypt);
padlock_reset_key(&ctx->cword.encrypt);
ecb_crypt(in, out, ctx->D, &ctx->cword.decrypt, 1);
padlock_store_cword(&ctx->cword.encrypt);
padlock_reset_key(&ctx->cword.encrypt);
ctx->E, &ctx->cword.encrypt,
padlock_store_cword(&ctx->cword.encrypt);
padlock_reset_key(&ctx->cword.decrypt);
ctx->D, &ctx->cword.decrypt,
padlock_store_cword(&ctx->cword.encrypt);
padlock_reset_key(&ctx->cword.encrypt);
walk.iv, &ctx->cword.encrypt,
padlock_store_cword(&ctx->cword.decrypt);
padlock_reset_key(&ctx->cword.encrypt);
ctx->D, walk.iv, &ctx->cword.decrypt,
padlock_store_cword(&ctx->cword.encrypt);
struct cword encrypt;
struct cword decrypt;
} cword;
static DEFINE_PER_CPU(struct cword *, paes_last_cword);
rate = (u64)clk_get_rate(p->clk) * (u64)cword;
cword >>= 1;
if (cword < CONST_VAR_F_MIN)
brcmstb_pwm_writel(p, cword >> 8, PWM_CWORD_MSB(channel));
brcmstb_pwm_writel(p, cword & 0xff, PWM_CWORD_LSB(channel));
unsigned long pc, dc, cword = CONST_VAR_F_MAX;