mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-23 05:56:14 -04:00
crypto: hisilicon/sec2 - clear SEC debug regs
SEC debug registers aren't cleared even if its driver is removed, so add a clearing operation in driver removing. Signed-off-by: Kai Ye <yekai13@huawei.com> Reviewed-by: Longfang Liu <liulongfang@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
@@ -346,10 +346,17 @@ static int sec_set_user_domain_and_cache(struct hisi_qm *qm)
|
||||
/* sec_debug_regs_clear() - clear the sec debug regs */
|
||||
static void sec_debug_regs_clear(struct hisi_qm *qm)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* clear current_qm */
|
||||
writel(0x0, qm->io_base + QM_DFX_MB_CNT_VF);
|
||||
writel(0x0, qm->io_base + QM_DFX_DB_CNT_VF);
|
||||
|
||||
/* clear sec dfx regs */
|
||||
writel(0x1, qm->io_base + SEC_CTRL_CNT_CLR_CE);
|
||||
for (i = 0; i < ARRAY_SIZE(sec_dfx_regs); i++)
|
||||
readl(qm->io_base + sec_dfx_regs[i].offset);
|
||||
|
||||
/* clear rdclr_en */
|
||||
writel(0x0, qm->io_base + SEC_CTRL_CNT_CLR_CE);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user