jrp 67 drivers/crypto/caam/jr.c struct caam_drv_private_jr *jrp = dev_get_drvdata(dev); jrp 74 drivers/crypto/caam/jr.c clrsetbits_32(&jrp->rregs->rconfig_lo, 0, JRCFG_IMSK); jrp 77 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->jrcommand, JRCR_RESET); jrp 78 drivers/crypto/caam/jr.c while (((rd_reg32(&jrp->rregs->jrintstatus) & JRINT_ERR_HALT_MASK) == jrp 82 drivers/crypto/caam/jr.c if ((rd_reg32(&jrp->rregs->jrintstatus) & JRINT_ERR_HALT_MASK) != jrp 84 drivers/crypto/caam/jr.c dev_err(dev, "failed to flush job ring %d\n", jrp->ridx); jrp 90 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->jrcommand, JRCR_RESET); jrp 91 drivers/crypto/caam/jr.c while ((rd_reg32(&jrp->rregs->jrcommand) & JRCR_RESET) && --timeout) jrp 95 drivers/crypto/caam/jr.c dev_err(dev, "failed to reset job ring %d\n", jrp->ridx); jrp 100 drivers/crypto/caam/jr.c clrsetbits_32(&jrp->rregs->rconfig_lo, JRCFG_IMSK, 0); jrp 110 drivers/crypto/caam/jr.c struct caam_drv_private_jr *jrp = dev_get_drvdata(dev); jrp 115 drivers/crypto/caam/jr.c tasklet_kill(&jrp->irqtask); jrp 157 drivers/crypto/caam/jr.c struct caam_drv_private_jr *jrp = dev_get_drvdata(dev); jrp 164 drivers/crypto/caam/jr.c irqstate = rd_reg32(&jrp->rregs->jrintstatus); jrp 179 drivers/crypto/caam/jr.c clrsetbits_32(&jrp->rregs->rconfig_lo, 0, JRCFG_IMSK); jrp 182 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->jrintstatus, irqstate); jrp 185 drivers/crypto/caam/jr.c tasklet_schedule(&jrp->irqtask); jrp 196 drivers/crypto/caam/jr.c struct caam_drv_private_jr *jrp = dev_get_drvdata(dev); jrp 203 drivers/crypto/caam/jr.c (outring_used = rd_reg32(&jrp->rregs->outring_used))) { jrp 205 drivers/crypto/caam/jr.c head = READ_ONCE(jrp->head); jrp 207 drivers/crypto/caam/jr.c sw_idx = tail = jrp->tail; jrp 208 drivers/crypto/caam/jr.c hw_idx = jrp->out_ring_read_index; jrp 213 drivers/crypto/caam/jr.c if (jr_outentry_desc(jrp->outring, hw_idx) == jrp 214 drivers/crypto/caam/jr.c caam_dma_to_cpu(jrp->entinfo[sw_idx].desc_addr_dma)) jrp 222 drivers/crypto/caam/jr.c caam_dma_to_cpu(jr_outentry_desc(jrp->outring, jrp 224 drivers/crypto/caam/jr.c jrp->entinfo[sw_idx].desc_size, jrp 228 drivers/crypto/caam/jr.c jrp->entinfo[sw_idx].desc_addr_dma = 0; jrp 231 drivers/crypto/caam/jr.c usercall = jrp->entinfo[sw_idx].callbk; jrp 232 drivers/crypto/caam/jr.c userarg = jrp->entinfo[sw_idx].cbkarg; jrp 233 drivers/crypto/caam/jr.c userdesc = jrp->entinfo[sw_idx].desc_addr_virt; jrp 234 drivers/crypto/caam/jr.c userstatus = caam32_to_cpu(jr_outentry_jrstatus(jrp->outring, jrp 245 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->outring_rmvd, 1); jrp 247 drivers/crypto/caam/jr.c jrp->out_ring_read_index = (jrp->out_ring_read_index + 1) & jrp 259 drivers/crypto/caam/jr.c jrp->entinfo[tail].desc_addr_dma == 0); jrp 261 drivers/crypto/caam/jr.c jrp->tail = tail; jrp 270 drivers/crypto/caam/jr.c clrsetbits_32(&jrp->rregs->rconfig_lo, JRCFG_IMSK, 0); jrp 359 drivers/crypto/caam/jr.c struct caam_drv_private_jr *jrp = dev_get_drvdata(dev); jrp 371 drivers/crypto/caam/jr.c spin_lock_bh(&jrp->inplock); jrp 373 drivers/crypto/caam/jr.c head = jrp->head; jrp 374 drivers/crypto/caam/jr.c tail = READ_ONCE(jrp->tail); jrp 376 drivers/crypto/caam/jr.c if (!jrp->inpring_avail || jrp 378 drivers/crypto/caam/jr.c spin_unlock_bh(&jrp->inplock); jrp 383 drivers/crypto/caam/jr.c head_entry = &jrp->entinfo[head]; jrp 390 drivers/crypto/caam/jr.c jr_inpentry_set(jrp->inpring, head, cpu_to_caam_dma(desc_dma)); jrp 399 drivers/crypto/caam/jr.c jrp->head = (head + 1) & (JOBR_DEPTH - 1); jrp 409 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->inpring_jobadd, 1); jrp 411 drivers/crypto/caam/jr.c jrp->inpring_avail--; jrp 412 drivers/crypto/caam/jr.c if (!jrp->inpring_avail) jrp 413 drivers/crypto/caam/jr.c jrp->inpring_avail = rd_reg32(&jrp->rregs->inpring_avail); jrp 415 drivers/crypto/caam/jr.c spin_unlock_bh(&jrp->inplock); jrp 426 drivers/crypto/caam/jr.c struct caam_drv_private_jr *jrp; jrp 430 drivers/crypto/caam/jr.c jrp = dev_get_drvdata(dev); jrp 436 drivers/crypto/caam/jr.c jrp->inpring = dmam_alloc_coherent(dev, SIZEOF_JR_INPENTRY * jrp 439 drivers/crypto/caam/jr.c if (!jrp->inpring) jrp 442 drivers/crypto/caam/jr.c jrp->outring = dmam_alloc_coherent(dev, SIZEOF_JR_OUTENTRY * jrp 445 drivers/crypto/caam/jr.c if (!jrp->outring) jrp 448 drivers/crypto/caam/jr.c jrp->entinfo = devm_kcalloc(dev, JOBR_DEPTH, sizeof(*jrp->entinfo), jrp 450 drivers/crypto/caam/jr.c if (!jrp->entinfo) jrp 454 drivers/crypto/caam/jr.c jrp->entinfo[i].desc_addr_dma = !0; jrp 457 drivers/crypto/caam/jr.c jrp->out_ring_read_index = 0; jrp 458 drivers/crypto/caam/jr.c jrp->head = 0; jrp 459 drivers/crypto/caam/jr.c jrp->tail = 0; jrp 461 drivers/crypto/caam/jr.c wr_reg64(&jrp->rregs->inpring_base, inpbusaddr); jrp 462 drivers/crypto/caam/jr.c wr_reg64(&jrp->rregs->outring_base, outbusaddr); jrp 463 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->inpring_size, JOBR_DEPTH); jrp 464 drivers/crypto/caam/jr.c wr_reg32(&jrp->rregs->outring_size, JOBR_DEPTH); jrp 466 drivers/crypto/caam/jr.c jrp->inpring_avail = JOBR_DEPTH; jrp 468 drivers/crypto/caam/jr.c spin_lock_init(&jrp->inplock); jrp 471 drivers/crypto/caam/jr.c clrsetbits_32(&jrp->rregs->rconfig_lo, 0, JOBR_INTC | jrp 475 drivers/crypto/caam/jr.c tasklet_init(&jrp->irqtask, caam_jr_dequeue, (unsigned long)dev); jrp 478 drivers/crypto/caam/jr.c error = devm_request_irq(dev, jrp->irq, caam_jr_interrupt, IRQF_SHARED, jrp 482 drivers/crypto/caam/jr.c jrp->ridx, jrp->irq); jrp 483 drivers/crypto/caam/jr.c tasklet_kill(&jrp->irqtask);