diff options
Diffstat (limited to 'drivers/gpu/imx')
-rw-r--r-- | drivers/gpu/imx/dpu-blit/dpu-blit-registers.h | 2 | ||||
-rw-r--r-- | drivers/gpu/imx/dpu-blit/dpu-blit.c | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/imx/dpu-blit/dpu-blit-registers.h b/drivers/gpu/imx/dpu-blit/dpu-blit-registers.h index d4c28d18eb6a..3d86b272e281 100644 --- a/drivers/gpu/imx/dpu-blit/dpu-blit-registers.h +++ b/drivers/gpu/imx/dpu-blit/dpu-blit-registers.h @@ -250,9 +250,11 @@ #define CMDSEQ_HIF ((uint32_t)(0x400)) #define CMDSEQ_LOCKUNLOCKHIF ((uint32_t)(0x500)) +#define CMDSEQ_LOCKUNLOCKHIF_LOCKUNLOCKHIF__LOCK_KEY 0x5651F763U #define CMDSEQ_LOCKUNLOCKHIF_LOCKUNLOCKHIF__UNLOCK_KEY 0x691DB936U #define CMDSEQ_LOCKUNLOCK ((uint32_t)(0x580)) +#define CMDSEQ_LOCKUNLOCK_LOCKUNLOCK__LOCK_KEY 0x5651F763U #define CMDSEQ_LOCKUNLOCK_LOCKUNLOCK__UNLOCK_KEY 0x691DB936U #define CMDSEQ_BUFFERADDRESS ((uint32_t)(0x588)) diff --git a/drivers/gpu/imx/dpu-blit/dpu-blit.c b/drivers/gpu/imx/dpu-blit/dpu-blit.c index 620d53217719..bb747d411111 100644 --- a/drivers/gpu/imx/dpu-blit/dpu-blit.c +++ b/drivers/gpu/imx/dpu-blit/dpu-blit.c @@ -422,6 +422,12 @@ EXPORT_SYMBOL_GPL(dpu_bliteng_init); void dpu_bliteng_fini(struct dpu_bliteng *dpu_bliteng) { + /* LockUnlock and LockUnlockHIF */ + dpu_be_write(dpu_bliteng, CMDSEQ_LOCKUNLOCKHIF_LOCKUNLOCKHIF__LOCK_KEY, + CMDSEQ_LOCKUNLOCKHIF); + dpu_be_write(dpu_bliteng, CMDSEQ_LOCKUNLOCK_LOCKUNLOCK__LOCK_KEY, + CMDSEQ_LOCKUNLOCK); + kfree(dpu_bliteng->cmd_list); if (dpu_bliteng->buffer_addr_virt) |