diff options
| -rw-r--r-- | drivers/crypto/caam/ctrl.c | 9 | ||||
| -rw-r--r-- | drivers/crypto/caam/jr.c | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index 77557ebcd337..9a2db9c30630 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c | |||
| @@ -82,13 +82,18 @@ static int caam_probe(struct platform_device *pdev) | |||
| 82 | 82 | ||
| 83 | /* | 83 | /* |
| 84 | * Enable DECO watchdogs and, if this is a PHYS_ADDR_T_64BIT kernel, | 84 | * Enable DECO watchdogs and, if this is a PHYS_ADDR_T_64BIT kernel, |
| 85 | * 36-bit pointers in master configuration register | 85 | * long pointers in master configuration register |
| 86 | */ | 86 | */ |
| 87 | setbits32(&topregs->ctrl.mcr, MCFGR_WDENABLE | | 87 | setbits32(&topregs->ctrl.mcr, MCFGR_WDENABLE | |
| 88 | (sizeof(dma_addr_t) == sizeof(u64) ? MCFGR_LONG_PTR : 0)); | 88 | (sizeof(dma_addr_t) == sizeof(u64) ? MCFGR_LONG_PTR : 0)); |
| 89 | 89 | ||
| 90 | if (sizeof(dma_addr_t) == sizeof(u64)) | 90 | if (sizeof(dma_addr_t) == sizeof(u64)) |
| 91 | dma_set_mask(dev, DMA_BIT_MASK(36)); | 91 | if (of_device_is_compatible(nprop, "fsl,sec-v5.0")) |
| 92 | dma_set_mask(dev, DMA_BIT_MASK(40)); | ||
| 93 | else | ||
| 94 | dma_set_mask(dev, DMA_BIT_MASK(36)); | ||
| 95 | else | ||
| 96 | dma_set_mask(dev, DMA_BIT_MASK(32)); | ||
| 92 | 97 | ||
| 93 | /* | 98 | /* |
| 94 | * Detect and enable JobRs | 99 | * Detect and enable JobRs |
diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c index 6ce4c41c8634..9f16b2c03613 100644 --- a/drivers/crypto/caam/jr.c +++ b/drivers/crypto/caam/jr.c | |||
| @@ -503,6 +503,14 @@ int caam_jr_probe(struct platform_device *pdev, struct device_node *np, | |||
| 503 | dev_set_drvdata(jrdev, jrpriv); | 503 | dev_set_drvdata(jrdev, jrpriv); |
| 504 | ctrlpriv->jrdev[ring] = jrdev; | 504 | ctrlpriv->jrdev[ring] = jrdev; |
| 505 | 505 | ||
| 506 | if (sizeof(dma_addr_t) == sizeof(u64)) | ||
| 507 | if (of_device_is_compatible(np, "fsl,sec-v5.0-job-ring")) | ||
| 508 | dma_set_mask(jrdev, DMA_BIT_MASK(40)); | ||
| 509 | else | ||
| 510 | dma_set_mask(jrdev, DMA_BIT_MASK(36)); | ||
| 511 | else | ||
| 512 | dma_set_mask(jrdev, DMA_BIT_MASK(32)); | ||
| 513 | |||
| 506 | /* Identify the interrupt */ | 514 | /* Identify the interrupt */ |
| 507 | jrpriv->irq = of_irq_to_resource(np, 0, NULL); | 515 | jrpriv->irq = of_irq_to_resource(np, 0, NULL); |
| 508 | 516 | ||
