Parcourir la source

Merge "video: driver: do not send resume on output port for encoder"

qctecmdr il y a 1 an
Parent
commit
3d174eaaae
1 fichiers modifiés avec 5 ajouts et 3 suppressions
  1. 5 3
      driver/vidc/src/msm_vidc_driver.c

+ 5 - 3
driver/vidc/src/msm_vidc_driver.c

@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
  * Copyright (c) 2020-2022, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <linux/iommu.h>
@@ -1056,7 +1056,8 @@ int msm_vidc_process_resume(struct msm_vidc_inst *inst)
 					return rc;
 				clear_sub_state |= MSM_VIDC_INPUT_PAUSE;
 			}
-			if (is_sub_state(inst, MSM_VIDC_OUTPUT_PAUSE)) {
+			if (is_sub_state(inst, MSM_VIDC_OUTPUT_PAUSE) &&
+			    !is_encode_session(inst)) {
 				rc = venus_hfi_session_resume(inst, OUTPUT_PORT,
 						HFI_CMD_SETTINGS_CHANGE);
 				if (rc)
@@ -1073,7 +1074,8 @@ int msm_vidc_process_resume(struct msm_vidc_inst *inst)
 				return rc;
 			clear_sub_state |= MSM_VIDC_INPUT_PAUSE;
 		}
-		if (is_sub_state(inst, MSM_VIDC_OUTPUT_PAUSE)) {
+		if (is_sub_state(inst, MSM_VIDC_OUTPUT_PAUSE) &&
+		    !is_encode_session(inst)) {
 			rc = venus_hfi_session_resume(inst, OUTPUT_PORT, HFI_CMD_DRAIN);
 			if (rc)
 				return rc;