Lines Matching refs:ctx
111 static void asd_compute_sha(struct asd_ctx *ctx, void *data, size_t len, in asd_compute_sha() argument
117 .dst = (uint32_t)(uintptr_t)ctx->digest, in asd_compute_sha()
122 assert((uintptr_t)ctx->digest == (uintptr_t)desc.dst); in asd_compute_sha()
129 if (ctx->started == 0) { in asd_compute_sha()
131 ctx->started = 1; in asd_compute_sha()
135 ctx->started = 0; in asd_compute_sha()
137 if (ctx->mode == ASM_SHA224) in asd_compute_sha()
149 flush_dcache_range((uintptr_t)ctx->digest, SHA256_HASHSZ); in asd_compute_sha()
152 void asd_sha_update(struct asd_ctx *ctx, void *data, size_t len) in asd_sha_update() argument
156 if (ctx->blocksz) { in asd_sha_update()
157 nr = MIN(len, SHA256_BLOCKSZ - ctx->blocksz); in asd_sha_update()
158 memcpy(ctx->block + ctx->blocksz, data, nr); in asd_sha_update()
159 ctx->blocksz += nr; in asd_sha_update()
164 if (ctx->blocksz == SHA256_BLOCKSZ) { in asd_sha_update()
165 asd_compute_sha(ctx, ctx->block, SHA256_BLOCKSZ, 0); in asd_sha_update()
166 ctx->blocksz = 0; in asd_sha_update()
169 asd_compute_sha(ctx, data, len & ~(SHA256_BLOCKSZ - 1), 0); in asd_sha_update()
174 memcpy(ctx->block + ctx->blocksz, data, nr); in asd_sha_update()
175 ctx->blocksz += nr; in asd_sha_update()
179 void asd_sha_finalize(struct asd_ctx *ctx) in asd_sha_finalize() argument
181 asd_compute_sha(ctx, ctx->block, ctx->blocksz, 1); in asd_sha_finalize()