• Home
  • Raw
  • Download

Lines Matching full:ss

3  * sun4i-ss-cipher.c - hardware cryptographic accelerator for Allwinner A20 SoC
13 #include "sun4i-ss.h"
19 struct sun4i_ss_ctx *ss = op->ss; in sun4i_ss_opti_poll() local
24 /* when activating SS, the default FIFO space is SS_RX_DEFAULT(32) */ in sun4i_ss_opti_poll()
44 dev_err_ratelimited(ss->dev, "ERROR: Some SGs are NULL\n"); in sun4i_ss_opti_poll()
55 spin_lock_irqsave(&ss->slock, flags); in sun4i_ss_opti_poll()
58 writesl(ss->base + SS_KEY0 + i * 4, &op->key[i], 1); in sun4i_ss_opti_poll()
63 writesl(ss->base + SS_IV0 + i * 4, &v, 1); in sun4i_ss_opti_poll()
66 writel(mode, ss->base + SS_CTL); in sun4i_ss_opti_poll()
81 dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); in sun4i_ss_opti_poll()
89 writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo); in sun4i_ss_opti_poll()
99 spaces = readl(ss->base + SS_FCSR); in sun4i_ss_opti_poll()
109 dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); in sun4i_ss_opti_poll()
117 readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); in sun4i_ss_opti_poll()
138 writel(0, ss->base + SS_CTL); in sun4i_ss_opti_poll()
139 spin_unlock_irqrestore(&ss->slock, flags); in sun4i_ss_opti_poll()
169 struct sun4i_ss_ctx *ss = op->ss; in sun4i_ss_cipher_poll() local
178 /* when activating SS, the default FIFO space is SS_RX_DEFAULT(32) */ in sun4i_ss_cipher_poll()
203 dev_err_ratelimited(ss->dev, "ERROR: Some SGs are NULL\n"); in sun4i_ss_cipher_poll()
213 * we can use the SS optimized function in sun4i_ss_cipher_poll()
239 spin_lock_irqsave(&ss->slock, flags); in sun4i_ss_cipher_poll()
242 writesl(ss->base + SS_KEY0 + i * 4, &op->key[i], 1); in sun4i_ss_cipher_poll()
247 writesl(ss->base + SS_IV0 + i * 4, &v, 1); in sun4i_ss_cipher_poll()
250 writel(mode, ss->base + SS_CTL); in sun4i_ss_cipher_poll()
265 dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); in sun4i_ss_cipher_poll()
276 writesl(ss->base + SS_RXFIFO, mi.addr + oi, in sun4i_ss_cipher_poll()
290 memcpy(ss->buf + ob, mi.addr + oi, todo); in sun4i_ss_cipher_poll()
295 writesl(ss->base + SS_RXFIFO, ss->buf, in sun4i_ss_cipher_poll()
307 spaces = readl(ss->base + SS_FCSR); in sun4i_ss_cipher_poll()
319 dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); in sun4i_ss_cipher_poll()
328 readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); in sun4i_ss_cipher_poll()
340 readsl(ss->base + SS_TXFIFO, ss->bufo, tx_cnt); in sun4i_ss_cipher_poll()
352 memcpy(mo.addr + oo, ss->bufo + obo, todo); in sun4i_ss_cipher_poll()
377 writel(0, ss->base + SS_CTL); in sun4i_ss_cipher_poll()
378 spin_unlock_irqrestore(&ss->slock, flags); in sun4i_ss_cipher_poll()
532 op->ss = algt->ss; in sun4i_ss_cipher_init()
536 dev_err(op->ss->dev, "ERROR: Cannot allocate fallback for %s %ld\n", in sun4i_ss_cipher_init()
546 err = pm_runtime_get_sync(op->ss->dev); in sun4i_ss_cipher_init()
561 pm_runtime_put(op->ss->dev); in sun4i_ss_cipher_exit()
569 struct sun4i_ss_ctx *ss = op->ss; in sun4i_ss_aes_setkey() local
582 dev_dbg(ss->dev, "ERROR: Invalid keylen %u\n", keylen); in sun4i_ss_aes_setkey()