• Home
  • Raw
  • Download

Lines Matching refs:op

78 static int ccp_do_cmd(struct ccp_op *op, u32 *cr, unsigned int cr_count)  in ccp_do_cmd()  argument
80 struct ccp_cmd_queue *cmd_q = op->cmd_q; in ccp_do_cmd()
94 | (op->jobid << REQ0_JOBID_SHIFT) in ccp_do_cmd()
97 if (op->soc) in ccp_do_cmd()
101 if (op->ioc || !cmd_q->free_slots) in ccp_do_cmd()
126 | op->jobid; in ccp_do_cmd()
135 } else if (op->soc) { in ccp_do_cmd()
139 | op->jobid; in ccp_do_cmd()
152 static int ccp_perform_aes(struct ccp_op *op) in ccp_perform_aes() argument
158 | (op->u.aes.type << REQ1_AES_TYPE_SHIFT) in ccp_perform_aes()
159 | (op->u.aes.mode << REQ1_AES_MODE_SHIFT) in ccp_perform_aes()
160 | (op->u.aes.action << REQ1_AES_ACTION_SHIFT) in ccp_perform_aes()
161 | (op->sb_key << REQ1_KEY_KSB_SHIFT); in ccp_perform_aes()
162 cr[1] = op->src.u.dma.length - 1; in ccp_perform_aes()
163 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_aes()
164 cr[3] = (op->sb_ctx << REQ4_KSB_SHIFT) in ccp_perform_aes()
166 | ccp_addr_hi(&op->src.u.dma); in ccp_perform_aes()
167 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_aes()
169 | ccp_addr_hi(&op->dst.u.dma); in ccp_perform_aes()
171 if (op->u.aes.mode == CCP_AES_MODE_CFB) in ccp_perform_aes()
174 if (op->eom) in ccp_perform_aes()
177 if (op->init) in ccp_perform_aes()
180 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_aes()
183 static int ccp_perform_xts_aes(struct ccp_op *op) in ccp_perform_xts_aes() argument
189 | (op->u.xts.action << REQ1_AES_ACTION_SHIFT) in ccp_perform_xts_aes()
190 | (op->u.xts.unit_size << REQ1_XTS_AES_SIZE_SHIFT) in ccp_perform_xts_aes()
191 | (op->sb_key << REQ1_KEY_KSB_SHIFT); in ccp_perform_xts_aes()
192 cr[1] = op->src.u.dma.length - 1; in ccp_perform_xts_aes()
193 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_xts_aes()
194 cr[3] = (op->sb_ctx << REQ4_KSB_SHIFT) in ccp_perform_xts_aes()
196 | ccp_addr_hi(&op->src.u.dma); in ccp_perform_xts_aes()
197 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_xts_aes()
199 | ccp_addr_hi(&op->dst.u.dma); in ccp_perform_xts_aes()
201 if (op->eom) in ccp_perform_xts_aes()
204 if (op->init) in ccp_perform_xts_aes()
207 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_xts_aes()
210 static int ccp_perform_sha(struct ccp_op *op) in ccp_perform_sha() argument
216 | (op->u.sha.type << REQ1_SHA_TYPE_SHIFT) in ccp_perform_sha()
218 cr[1] = op->src.u.dma.length - 1; in ccp_perform_sha()
219 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_sha()
220 cr[3] = (op->sb_ctx << REQ4_KSB_SHIFT) in ccp_perform_sha()
222 | ccp_addr_hi(&op->src.u.dma); in ccp_perform_sha()
224 if (op->eom) { in ccp_perform_sha()
226 cr[4] = lower_32_bits(op->u.sha.msg_bits); in ccp_perform_sha()
227 cr[5] = upper_32_bits(op->u.sha.msg_bits); in ccp_perform_sha()
233 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_sha()
236 static int ccp_perform_rsa(struct ccp_op *op) in ccp_perform_rsa() argument
242 | (op->u.rsa.mod_size << REQ1_RSA_MOD_SIZE_SHIFT) in ccp_perform_rsa()
243 | (op->sb_key << REQ1_KEY_KSB_SHIFT) in ccp_perform_rsa()
245 cr[1] = op->u.rsa.input_len - 1; in ccp_perform_rsa()
246 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_rsa()
247 cr[3] = (op->sb_ctx << REQ4_KSB_SHIFT) in ccp_perform_rsa()
249 | ccp_addr_hi(&op->src.u.dma); in ccp_perform_rsa()
250 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_rsa()
252 | ccp_addr_hi(&op->dst.u.dma); in ccp_perform_rsa()
254 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_rsa()
257 static int ccp_perform_passthru(struct ccp_op *op) in ccp_perform_passthru() argument
263 | (op->u.passthru.bit_mod << REQ1_PT_BW_SHIFT) in ccp_perform_passthru()
264 | (op->u.passthru.byte_swap << REQ1_PT_BS_SHIFT); in ccp_perform_passthru()
266 if (op->src.type == CCP_MEMTYPE_SYSTEM) in ccp_perform_passthru()
267 cr[1] = op->src.u.dma.length - 1; in ccp_perform_passthru()
269 cr[1] = op->dst.u.dma.length - 1; in ccp_perform_passthru()
271 if (op->src.type == CCP_MEMTYPE_SYSTEM) { in ccp_perform_passthru()
272 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_passthru()
274 | ccp_addr_hi(&op->src.u.dma); in ccp_perform_passthru()
276 if (op->u.passthru.bit_mod != CCP_PASSTHRU_BITWISE_NOOP) in ccp_perform_passthru()
277 cr[3] |= (op->sb_key << REQ4_KSB_SHIFT); in ccp_perform_passthru()
279 cr[2] = op->src.u.sb * CCP_SB_BYTES; in ccp_perform_passthru()
283 if (op->dst.type == CCP_MEMTYPE_SYSTEM) { in ccp_perform_passthru()
284 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_passthru()
286 | ccp_addr_hi(&op->dst.u.dma); in ccp_perform_passthru()
288 cr[4] = op->dst.u.sb * CCP_SB_BYTES; in ccp_perform_passthru()
292 if (op->eom) in ccp_perform_passthru()
295 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_passthru()
298 static int ccp_perform_ecc(struct ccp_op *op) in ccp_perform_ecc() argument
305 | (op->u.ecc.function << REQ1_ECC_FUNCTION_SHIFT) in ccp_perform_ecc()
307 cr[1] = op->src.u.dma.length - 1; in ccp_perform_ecc()
308 cr[2] = ccp_addr_lo(&op->src.u.dma); in ccp_perform_ecc()
310 | ccp_addr_hi(&op->src.u.dma); in ccp_perform_ecc()
311 cr[4] = ccp_addr_lo(&op->dst.u.dma); in ccp_perform_ecc()
313 | ccp_addr_hi(&op->dst.u.dma); in ccp_perform_ecc()
315 return ccp_do_cmd(op, cr, ARRAY_SIZE(cr)); in ccp_perform_ecc()