Loading drivers/crypto/caam/ctrl.c +0 −3 Original line number Diff line number Diff line Loading @@ -313,9 +313,6 @@ static int caam_probe(struct platform_device *pdev) /* NOTE: RTIC detection ought to go here, around Si time */ /* Initialize queue allocator lock */ spin_lock_init(&ctrlpriv->jr_alloc_lock); caam_id = rd_reg64(&topregs->ctrl.perfmon.caam_id); /* Report "alive" for developer to see */ Loading drivers/crypto/caam/intern.h +0 −5 Original line number Diff line number Diff line Loading @@ -9,9 +9,6 @@ #ifndef INTERN_H #define INTERN_H #define JOBR_UNASSIGNED 0 #define JOBR_ASSIGNED 1 /* Currently comes from Kconfig param as a ^2 (driver-required) */ #define JOBR_DEPTH (1 << CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE) Loading Loading @@ -46,7 +43,6 @@ struct caam_drv_private_jr { struct caam_job_ring __iomem *rregs; /* JobR's register space */ struct tasklet_struct irqtask; int irq; /* One per queue */ int assign; /* busy/free */ /* Job ring info */ int ringsize; /* Size of rings (assume input = output) */ Loading @@ -68,7 +64,6 @@ struct caam_drv_private { struct device *dev; struct device **jrdev; /* Alloc'ed array per sub-device */ spinlock_t jr_alloc_lock; struct platform_device *pdev; /* Physical-presence section */ Loading drivers/crypto/caam/jr.c +0 −67 Original line number Diff line number Diff line Loading @@ -125,72 +125,6 @@ static void caam_jr_dequeue(unsigned long devarg) clrbits32(&jrp->rregs->rconfig_lo, JRCFG_IMSK); } /** * caam_jr_register() - Alloc a ring for someone to use as needed. Returns * an ordinal of the rings allocated, else returns -ENODEV if no rings * are available. * @ctrldev: points to the controller level dev (parent) that * owns rings available for use. * @dev: points to where a pointer to the newly allocated queue's * dev can be written to if successful. **/ int caam_jr_register(struct device *ctrldev, struct device **rdev) { struct caam_drv_private *ctrlpriv = dev_get_drvdata(ctrldev); struct caam_drv_private_jr *jrpriv = NULL; int ring; /* Lock, if free ring - assign, unlock */ spin_lock(&ctrlpriv->jr_alloc_lock); for (ring = 0; ring < ctrlpriv->total_jobrs; ring++) { jrpriv = dev_get_drvdata(ctrlpriv->jrdev[ring]); if (jrpriv->assign == JOBR_UNASSIGNED) { jrpriv->assign = JOBR_ASSIGNED; *rdev = ctrlpriv->jrdev[ring]; spin_unlock(&ctrlpriv->jr_alloc_lock); return ring; } } /* If assigned, write dev where caller needs it */ spin_unlock(&ctrlpriv->jr_alloc_lock); *rdev = NULL; return -ENODEV; } EXPORT_SYMBOL(caam_jr_register); /** * caam_jr_deregister() - Deregister an API and release the queue. * Returns 0 if OK, -EBUSY if queue still contains pending entries * or unprocessed results at the time of the call * @dev - points to the dev that identifies the queue to * be released. **/ int caam_jr_deregister(struct device *rdev) { struct caam_drv_private_jr *jrpriv = dev_get_drvdata(rdev); struct caam_drv_private *ctrlpriv; /* Get the owning controller's private space */ ctrlpriv = dev_get_drvdata(jrpriv->parentdev); /* * Make sure ring empty before release */ if (rd_reg32(&jrpriv->rregs->outring_used) || (rd_reg32(&jrpriv->rregs->inpring_avail) != JOBR_DEPTH)) return -EBUSY; /* Release ring */ spin_lock(&ctrlpriv->jr_alloc_lock); jrpriv->assign = JOBR_UNASSIGNED; spin_unlock(&ctrlpriv->jr_alloc_lock); return 0; } EXPORT_SYMBOL(caam_jr_deregister); /** * caam_jr_enqueue() - Enqueue a job descriptor head. Returns 0 if OK, * -EBUSY if the queue is full, -EIO if it cannot map the caller's Loading Loading @@ -379,7 +313,6 @@ static int caam_jr_init(struct device *dev) (JOBR_INTC_COUNT_THLD << JRCFG_ICDCT_SHIFT) | (JOBR_INTC_TIME_THLD << JRCFG_ICTT_SHIFT)); jrp->assign = JOBR_UNASSIGNED; return 0; } Loading drivers/crypto/caam/jr.h +0 −2 Original line number Diff line number Diff line Loading @@ -8,8 +8,6 @@ #define JR_H /* Prototypes for backend-level services exposed to APIs */ int caam_jr_register(struct device *ctrldev, struct device **rdev); int caam_jr_deregister(struct device *rdev); int caam_jr_enqueue(struct device *dev, u32 *desc, void (*cbk)(struct device *dev, u32 *desc, u32 status, void *areq), Loading Loading
drivers/crypto/caam/ctrl.c +0 −3 Original line number Diff line number Diff line Loading @@ -313,9 +313,6 @@ static int caam_probe(struct platform_device *pdev) /* NOTE: RTIC detection ought to go here, around Si time */ /* Initialize queue allocator lock */ spin_lock_init(&ctrlpriv->jr_alloc_lock); caam_id = rd_reg64(&topregs->ctrl.perfmon.caam_id); /* Report "alive" for developer to see */ Loading
drivers/crypto/caam/intern.h +0 −5 Original line number Diff line number Diff line Loading @@ -9,9 +9,6 @@ #ifndef INTERN_H #define INTERN_H #define JOBR_UNASSIGNED 0 #define JOBR_ASSIGNED 1 /* Currently comes from Kconfig param as a ^2 (driver-required) */ #define JOBR_DEPTH (1 << CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE) Loading Loading @@ -46,7 +43,6 @@ struct caam_drv_private_jr { struct caam_job_ring __iomem *rregs; /* JobR's register space */ struct tasklet_struct irqtask; int irq; /* One per queue */ int assign; /* busy/free */ /* Job ring info */ int ringsize; /* Size of rings (assume input = output) */ Loading @@ -68,7 +64,6 @@ struct caam_drv_private { struct device *dev; struct device **jrdev; /* Alloc'ed array per sub-device */ spinlock_t jr_alloc_lock; struct platform_device *pdev; /* Physical-presence section */ Loading
drivers/crypto/caam/jr.c +0 −67 Original line number Diff line number Diff line Loading @@ -125,72 +125,6 @@ static void caam_jr_dequeue(unsigned long devarg) clrbits32(&jrp->rregs->rconfig_lo, JRCFG_IMSK); } /** * caam_jr_register() - Alloc a ring for someone to use as needed. Returns * an ordinal of the rings allocated, else returns -ENODEV if no rings * are available. * @ctrldev: points to the controller level dev (parent) that * owns rings available for use. * @dev: points to where a pointer to the newly allocated queue's * dev can be written to if successful. **/ int caam_jr_register(struct device *ctrldev, struct device **rdev) { struct caam_drv_private *ctrlpriv = dev_get_drvdata(ctrldev); struct caam_drv_private_jr *jrpriv = NULL; int ring; /* Lock, if free ring - assign, unlock */ spin_lock(&ctrlpriv->jr_alloc_lock); for (ring = 0; ring < ctrlpriv->total_jobrs; ring++) { jrpriv = dev_get_drvdata(ctrlpriv->jrdev[ring]); if (jrpriv->assign == JOBR_UNASSIGNED) { jrpriv->assign = JOBR_ASSIGNED; *rdev = ctrlpriv->jrdev[ring]; spin_unlock(&ctrlpriv->jr_alloc_lock); return ring; } } /* If assigned, write dev where caller needs it */ spin_unlock(&ctrlpriv->jr_alloc_lock); *rdev = NULL; return -ENODEV; } EXPORT_SYMBOL(caam_jr_register); /** * caam_jr_deregister() - Deregister an API and release the queue. * Returns 0 if OK, -EBUSY if queue still contains pending entries * or unprocessed results at the time of the call * @dev - points to the dev that identifies the queue to * be released. **/ int caam_jr_deregister(struct device *rdev) { struct caam_drv_private_jr *jrpriv = dev_get_drvdata(rdev); struct caam_drv_private *ctrlpriv; /* Get the owning controller's private space */ ctrlpriv = dev_get_drvdata(jrpriv->parentdev); /* * Make sure ring empty before release */ if (rd_reg32(&jrpriv->rregs->outring_used) || (rd_reg32(&jrpriv->rregs->inpring_avail) != JOBR_DEPTH)) return -EBUSY; /* Release ring */ spin_lock(&ctrlpriv->jr_alloc_lock); jrpriv->assign = JOBR_UNASSIGNED; spin_unlock(&ctrlpriv->jr_alloc_lock); return 0; } EXPORT_SYMBOL(caam_jr_deregister); /** * caam_jr_enqueue() - Enqueue a job descriptor head. Returns 0 if OK, * -EBUSY if the queue is full, -EIO if it cannot map the caller's Loading Loading @@ -379,7 +313,6 @@ static int caam_jr_init(struct device *dev) (JOBR_INTC_COUNT_THLD << JRCFG_ICDCT_SHIFT) | (JOBR_INTC_TIME_THLD << JRCFG_ICTT_SHIFT)); jrp->assign = JOBR_UNASSIGNED; return 0; } Loading
drivers/crypto/caam/jr.h +0 −2 Original line number Diff line number Diff line Loading @@ -8,8 +8,6 @@ #define JR_H /* Prototypes for backend-level services exposed to APIs */ int caam_jr_register(struct device *ctrldev, struct device **rdev); int caam_jr_deregister(struct device *rdev); int caam_jr_enqueue(struct device *dev, u32 *desc, void (*cbk)(struct device *dev, u32 *desc, u32 status, void *areq), Loading