msm: camera: isp: Config hardware in work queue
Currently requests for offline IFE are applied from tasklet context or from an ioctl thread within a critical section protected by a spinlock. In both of these cases, preemtion is disabled but CDM requires mutex locks during this operation. Therefore a work queue is added in this change to handle apply request for offline IFE. CRs-Fixed: 2606911 Change-Id: Ie893a626bc274d026fb878f1f19830e990be6dc6 Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
|
||||
#include "cam_context.h"
|
||||
#include "cam_isp_hw_mgr_intf.h"
|
||||
|
||||
#include "cam_req_mgr_workq.h"
|
||||
|
||||
#define CAM_IFE_QTIMER_MUL_FACTOR 10000
|
||||
#define CAM_IFE_QTIMER_DIV_FACTOR 192
|
||||
@@ -257,6 +257,7 @@ struct cam_isp_context_event_record {
|
||||
* @isp_device_type: ISP device type
|
||||
* @rxd_epoch: Indicate whether epoch has been received. Used to
|
||||
* decide whether to apply request in offline ctx
|
||||
* @workq: Worker thread for offline ife
|
||||
*
|
||||
*/
|
||||
struct cam_isp_context {
|
||||
@@ -298,6 +299,7 @@ struct cam_isp_context {
|
||||
unsigned int init_timestamp;
|
||||
uint32_t isp_device_type;
|
||||
atomic_t rxd_epoch;
|
||||
struct cam_req_mgr_core_workq *workq;
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user