2019-03-29 14:12:17 +08:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2018-12-10 15:51:05 +08:00
|
|
|
From: Meng Wei <wei.meng@intel.com>
|
|
|
|
Date: Mon, 3 Dec 2018 16:53:48 +0800
|
2019-03-29 14:12:17 +08:00
|
|
|
Subject: [PATCH] media: intel-ipu4: refine ipu_fw_isys_close mutex usage
|
2018-12-10 15:51:05 +08:00
|
|
|
|
|
|
|
in ipu_fw_isys_close, mutex lock it then only call
|
|
|
|
ipu_lib_call_notrace_unlocked instead of ipu_lib_call
|
|
|
|
|
|
|
|
Change-Id: I959b54287c57c9e436168a45b0ad9f35f3da8093
|
|
|
|
Tracked-On: OAM-72256
|
|
|
|
Signed-off-by: Teng, Jin Chung <jin.chung.teng@intel.com>
|
|
|
|
Signed-off-by: Meng Wei <wei.meng@intel.com>
|
|
|
|
Signed-off-by: Hui Xia <hui.xia@intel.com>
|
|
|
|
---
|
|
|
|
drivers/media/pci/intel/ipu4/ipu4-css/libintel-ipu4.c | 4 +++-
|
|
|
|
drivers/media/pci/intel/ipu4/ipu4p-css/libintel-ipu4p.c | 4 +++-
|
|
|
|
2 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/drivers/media/pci/intel/ipu4/ipu4-css/libintel-ipu4.c b/drivers/media/pci/intel/ipu4/ipu4-css/libintel-ipu4.c
|
2020-10-27 02:14:06 +08:00
|
|
|
index a7128898e449..59c9b5b858e0 100644
|
2018-12-10 15:51:05 +08:00
|
|
|
--- a/drivers/media/pci/intel/ipu4/ipu4-css/libintel-ipu4.c
|
|
|
|
+++ b/drivers/media/pci/intel/ipu4/ipu4-css/libintel-ipu4.c
|
|
|
|
@@ -56,9 +56,11 @@ int ipu_fw_isys_close(struct ipu_isys *isys)
|
|
|
|
* some time as the FW must stop its actions including code fetch
|
|
|
|
* to SP icache.
|
|
|
|
*/
|
|
|
|
+ mutex_lock(&isys->lib_mutex);
|
|
|
|
spin_lock_irqsave(&isys->power_lock, flags);
|
|
|
|
- rval = ipu_lib_call(device_close, isys);
|
|
|
|
+ rval = ipu_lib_call_notrace_unlocked(device_close, isys);
|
|
|
|
spin_unlock_irqrestore(&isys->power_lock, flags);
|
|
|
|
+ mutex_unlock(&isys->lib_mutex);
|
|
|
|
if (rval)
|
|
|
|
dev_err(dev, "Device close failure: %d\n", rval);
|
|
|
|
|
|
|
|
diff --git a/drivers/media/pci/intel/ipu4/ipu4p-css/libintel-ipu4p.c b/drivers/media/pci/intel/ipu4/ipu4p-css/libintel-ipu4p.c
|
2020-10-27 02:14:06 +08:00
|
|
|
index cb6fd0499c5c..3704754be71c 100644
|
2018-12-10 15:51:05 +08:00
|
|
|
--- a/drivers/media/pci/intel/ipu4/ipu4p-css/libintel-ipu4p.c
|
|
|
|
+++ b/drivers/media/pci/intel/ipu4/ipu4p-css/libintel-ipu4p.c
|
|
|
|
@@ -56,9 +56,11 @@ int ipu_fw_isys_close(struct ipu_isys *isys)
|
|
|
|
* some time as the FW must stop its actions including code fetch
|
|
|
|
* to SP icache.
|
|
|
|
*/
|
|
|
|
+ mutex_lock(&isys->lib_mutex);
|
|
|
|
spin_lock_irqsave(&isys->power_lock, flags);
|
|
|
|
- rval = ipu_lib_call(device_close, isys);
|
|
|
|
+ rval = ipu_lib_call_notrace_unlocked(device_close, isys);
|
|
|
|
spin_unlock_irqrestore(&isys->power_lock, flags);
|
|
|
|
+ mutex_unlock(&isys->lib_mutex);
|
|
|
|
if (rval)
|
|
|
|
dev_err(dev, "Device close failure: %d\n", rval);
|
|
|
|
|
|
|
|
--
|
2019-04-08 18:08:36 +08:00
|
|
|
https://clearlinux.org
|
2018-12-10 15:51:05 +08:00
|
|
|
|