crypto: caam - Remove unused functions from Job Ring
Signed-off-by: Ruchika Gupta <ruchika.gupta@freescale.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
674349f365
commit
6dad41158d
@ -313,9 +313,6 @@ static int caam_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
/* NOTE: RTIC detection ought to go here, around Si time */
|
/* 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);
|
caam_id = rd_reg64(&topregs->ctrl.perfmon.caam_id);
|
||||||
|
|
||||||
/* Report "alive" for developer to see */
|
/* Report "alive" for developer to see */
|
||||||
|
@ -9,9 +9,6 @@
|
|||||||
#ifndef INTERN_H
|
#ifndef INTERN_H
|
||||||
#define INTERN_H
|
#define INTERN_H
|
||||||
|
|
||||||
#define JOBR_UNASSIGNED 0
|
|
||||||
#define JOBR_ASSIGNED 1
|
|
||||||
|
|
||||||
/* Currently comes from Kconfig param as a ^2 (driver-required) */
|
/* Currently comes from Kconfig param as a ^2 (driver-required) */
|
||||||
#define JOBR_DEPTH (1 << CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE)
|
#define JOBR_DEPTH (1 << CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE)
|
||||||
|
|
||||||
@ -46,7 +43,6 @@ struct caam_drv_private_jr {
|
|||||||
struct caam_job_ring __iomem *rregs; /* JobR's register space */
|
struct caam_job_ring __iomem *rregs; /* JobR's register space */
|
||||||
struct tasklet_struct irqtask;
|
struct tasklet_struct irqtask;
|
||||||
int irq; /* One per queue */
|
int irq; /* One per queue */
|
||||||
int assign; /* busy/free */
|
|
||||||
|
|
||||||
/* Job ring info */
|
/* Job ring info */
|
||||||
int ringsize; /* Size of rings (assume input = output) */
|
int ringsize; /* Size of rings (assume input = output) */
|
||||||
@ -68,7 +64,6 @@ struct caam_drv_private {
|
|||||||
|
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
struct device **jrdev; /* Alloc'ed array per sub-device */
|
struct device **jrdev; /* Alloc'ed array per sub-device */
|
||||||
spinlock_t jr_alloc_lock;
|
|
||||||
struct platform_device *pdev;
|
struct platform_device *pdev;
|
||||||
|
|
||||||
/* Physical-presence section */
|
/* Physical-presence section */
|
||||||
|
@ -125,72 +125,6 @@ static void caam_jr_dequeue(unsigned long devarg)
|
|||||||
clrbits32(&jrp->rregs->rconfig_lo, JRCFG_IMSK);
|
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,
|
* 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
|
* -EBUSY if the queue is full, -EIO if it cannot map the caller's
|
||||||
@ -379,7 +313,6 @@ static int caam_jr_init(struct device *dev)
|
|||||||
(JOBR_INTC_COUNT_THLD << JRCFG_ICDCT_SHIFT) |
|
(JOBR_INTC_COUNT_THLD << JRCFG_ICDCT_SHIFT) |
|
||||||
(JOBR_INTC_TIME_THLD << JRCFG_ICTT_SHIFT));
|
(JOBR_INTC_TIME_THLD << JRCFG_ICTT_SHIFT));
|
||||||
|
|
||||||
jrp->assign = JOBR_UNASSIGNED;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,8 +8,6 @@
|
|||||||
#define JR_H
|
#define JR_H
|
||||||
|
|
||||||
/* Prototypes for backend-level services exposed to APIs */
|
/* 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,
|
int caam_jr_enqueue(struct device *dev, u32 *desc,
|
||||||
void (*cbk)(struct device *dev, u32 *desc, u32 status,
|
void (*cbk)(struct device *dev, u32 *desc, u32 status,
|
||||||
void *areq),
|
void *areq),
|
||||||
|
Loading…
Reference in New Issue
Block a user