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);