Explorar o código

msm: camera: common: Update holi camera workq wrapper

Update OPE and TFE drivers to use new camera workq
wrapper functions.

CRs-Fixed: 2716498
Change-Id: I05ecefb191a544c2953ac7e71a7c9a95d1f1fb10
Signed-off-by: Suresh Vankadara <[email protected]>
Suresh Vankadara %!s(int64=5) %!d(string=hai) anos
pai
achega
c92348064f

+ 7 - 1
drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.c

@@ -5323,6 +5323,11 @@ err:
 	return -ENOMEM;
 }
 
+static void cam_req_mgr_process_tfe_worker(struct work_struct *w)
+{
+	cam_req_mgr_process_workq(w);
+}
+
 int cam_tfe_hw_mgr_init(struct cam_hw_mgr_intf *hw_mgr_intf, int *iommu_hdl)
 {
 	int rc = -EFAULT;
@@ -5477,7 +5482,8 @@ int cam_tfe_hw_mgr_init(struct cam_hw_mgr_intf *hw_mgr_intf, int *iommu_hdl)
 
 	/* Create Worker for tfe_hw_mgr with 10 tasks */
 	rc = cam_req_mgr_workq_create("cam_tfe_worker", 10,
-			&g_tfe_hw_mgr.workq, CRM_WORKQ_USAGE_NON_IRQ, 0);
+		&g_tfe_hw_mgr.workq, CRM_WORKQ_USAGE_NON_IRQ, 0,
+		cam_req_mgr_process_tfe_worker);
 	if (rc < 0) {
 		CAM_ERR(CAM_ISP, "Unable to create worker");
 		goto end;

+ 20 - 3
drivers/cam_ope/ope_hw_mgr/cam_ope_hw_mgr.c

@@ -3573,6 +3573,21 @@ compat_hw_name_failed:
 	return rc;
 }
 
+static void cam_req_mgr_process_ope_command_queue(struct work_struct *w)
+{
+	cam_req_mgr_process_workq(w);
+}
+
+static void cam_req_mgr_process_ope_msg_queue(struct work_struct *w)
+{
+	cam_req_mgr_process_workq(w);
+}
+
+static void cam_req_mgr_process_ope_timer_queue(struct work_struct *w)
+{
+	cam_req_mgr_process_workq(w);
+}
+
 static int cam_ope_mgr_create_wq(void)
 {
 
@@ -3581,21 +3596,23 @@ static int cam_ope_mgr_create_wq(void)
 
 	rc = cam_req_mgr_workq_create("ope_command_queue", OPE_WORKQ_NUM_TASK,
 		&ope_hw_mgr->cmd_work, CRM_WORKQ_USAGE_NON_IRQ,
-		0);
+		0, cam_req_mgr_process_ope_command_queue);
 	if (rc) {
 		CAM_ERR(CAM_OPE, "unable to create a command worker");
 		goto cmd_work_failed;
 	}
 
 	rc = cam_req_mgr_workq_create("ope_message_queue", OPE_WORKQ_NUM_TASK,
-		&ope_hw_mgr->msg_work, CRM_WORKQ_USAGE_IRQ, 0);
+		&ope_hw_mgr->msg_work, CRM_WORKQ_USAGE_IRQ, 0,
+		cam_req_mgr_process_ope_msg_queue);
 	if (rc) {
 		CAM_ERR(CAM_OPE, "unable to create a message worker");
 		goto msg_work_failed;
 	}
 
 	rc = cam_req_mgr_workq_create("ope_timer_queue", OPE_WORKQ_NUM_TASK,
-		&ope_hw_mgr->timer_work, CRM_WORKQ_USAGE_IRQ, 0);
+		&ope_hw_mgr->timer_work, CRM_WORKQ_USAGE_IRQ, 0,
+		cam_req_mgr_process_ope_timer_queue);
 	if (rc) {
 		CAM_ERR(CAM_OPE, "unable to create a timer worker");
 		goto timer_work_failed;