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
23 /* when activating SS, the default FIFO space is SS_RX_DEFAULT(32) */ in sun4i_ss_opti_poll()
41 dev_err_ratelimited(ss->dev, "ERROR: Some SGs are NULL\n"); in sun4i_ss_opti_poll()
45 spin_lock_irqsave(&ss->slock, flags); in sun4i_ss_opti_poll()
48 writel(*(op->key + i / 4), ss->base + SS_KEY0 + i); in sun4i_ss_opti_poll()
53 writel(v, ss->base + SS_IV0 + i * 4); in sun4i_ss_opti_poll()
56 writel(mode, ss->base + SS_CTL); in sun4i_ss_opti_poll()
65 dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); in sun4i_ss_opti_poll()
79 writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo); in sun4i_ss_opti_poll()
87 spaces = readl(ss->base + SS_FCSR); in sun4i_ss_opti_poll()
95 readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); in sun4i_ss_opti_poll()
106 v = readl(ss->base + SS_IV0 + i * 4); in sun4i_ss_opti_poll()
114 writel(0, ss->base + SS_CTL); in sun4i_ss_opti_poll()
115 spin_unlock_irqrestore(&ss->slock, flags); in sun4i_ss_opti_poll()
145 struct sun4i_ss_ctx *ss = op->ss; in sun4i_ss_cipher_poll() local
154 /* when activating SS, the default FIFO space is SS_RX_DEFAULT(32) */ in sun4i_ss_cipher_poll()
176 dev_err_ratelimited(ss->dev, "ERROR: Some SGs are NULL\n"); in sun4i_ss_cipher_poll()
186 * we can use the SS optimized function in sun4i_ss_cipher_poll()
205 spin_lock_irqsave(&ss->slock, flags); in sun4i_ss_cipher_poll()
208 writel(*(op->key + i / 4), ss->base + SS_KEY0 + i); in sun4i_ss_cipher_poll()
213 writel(v, ss->base + SS_IV0 + i * 4); in sun4i_ss_cipher_poll()
216 writel(mode, ss->base + SS_CTL); in sun4i_ss_cipher_poll()
225 dev_err_ratelimited(ss->dev, "ERROR: sg_miter return null\n"); in sun4i_ss_cipher_poll()
245 writesl(ss->base + SS_RXFIFO, mi.addr + oi, in sun4i_ss_cipher_poll()
264 writesl(ss->base + SS_RXFIFO, buf, in sun4i_ss_cipher_poll()
275 spaces = readl(ss->base + SS_FCSR); in sun4i_ss_cipher_poll()
278 dev_dbg(ss->dev, in sun4i_ss_cipher_poll()
290 readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); in sun4i_ss_cipher_poll()
304 readsl(ss->base + SS_TXFIFO, bufo, tx_cnt); in sun4i_ss_cipher_poll()
330 v = readl(ss->base + SS_IV0 + i * 4); in sun4i_ss_cipher_poll()
338 writel(0, ss->base + SS_CTL); in sun4i_ss_cipher_poll()
339 spin_unlock_irqrestore(&ss->slock, flags); in sun4i_ss_cipher_poll()
493 op->ss = algt->ss; in sun4i_ss_cipher_init()
497 dev_err(op->ss->dev, "ERROR: Cannot allocate fallback for %s %ld\n", in sun4i_ss_cipher_init()
507 err = pm_runtime_get_sync(op->ss->dev); in sun4i_ss_cipher_init()
522 pm_runtime_put(op->ss->dev); in sun4i_ss_cipher_exit()
530 struct sun4i_ss_ctx *ss = op->ss; in sun4i_ss_aes_setkey() local
543 dev_dbg(ss->dev, "ERROR: Invalid keylen %u\n", keylen); in sun4i_ss_aes_setkey()