From f0f008a041a84ba8a3d1656abc5f07166ca10f6a Mon Sep 17 00:00:00 2001 From: Zhen Kong Date: Fri, 10 Apr 2020 11:21:47 -0700 Subject: [PATCH] crypto: msm: change clock operation in qcedev driver Make change to enable/disable clock just before/after crypto operation. Change-Id: I0fad859b142ccc6250d597e07aff7c530d40154f Signed-off-by: Zhen Kong --- drivers/crypto/msm/qcedev.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/msm/qcedev.c b/drivers/crypto/msm/qcedev.c index ad41874173e4..e536d99197e5 100644 --- a/drivers/crypto/msm/qcedev.c +++ b/drivers/crypto/msm/qcedev.c @@ -250,7 +250,6 @@ static int qcedev_open(struct inode *inode, struct file *file) handle->cntl = podev; file->private_data = handle; - qcedev_ce_high_bw_req(podev, true); mutex_init(&handle->registeredbufs.lock); INIT_LIST_HEAD(&handle->registeredbufs.list); @@ -274,8 +273,6 @@ static int qcedev_release(struct inode *inode, struct file *file) kzfree(handle); file->private_data = NULL; - if (podev) - qcedev_ce_high_bw_req(podev, false); return 0; } @@ -1698,6 +1695,10 @@ long qcedev_ioctl(struct file *file, init_completion(&qcedev_areq->complete); pstat = &_qcedev_stat; + if (cmd != QCEDEV_IOCTL_MAP_BUF_REQ && + cmd != QCEDEV_IOCTL_UNMAP_BUF_REQ) + qcedev_ce_high_bw_req(podev, true); + switch (cmd) { case QCEDEV_IOCTL_ENC_REQ: case QCEDEV_IOCTL_DEC_REQ: @@ -1981,6 +1982,9 @@ long qcedev_ioctl(struct file *file, } exit_free_qcedev_areq: + if (cmd != QCEDEV_IOCTL_MAP_BUF_REQ && + cmd != QCEDEV_IOCTL_UNMAP_BUF_REQ) + qcedev_ce_high_bw_req(podev, false); kfree(qcedev_areq); return err; }