Răsfoiți Sursa

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

HFI_CMD_RESUME is not required on output port for encoder.
Add change to skip the same.

HFI Doc snippet for reference:
* There is no usage of resume command for encoder output port.

Change-Id: Ib2f7177f38de4b780c4627c7bdb03cbc61a63399
Signed-off-by: Vedang Nagar <[email protected]>
Vedang Nagar 1 an în urmă
părinte
comite
4459cd1e4c
1 a modificat fișierele cu 5 adăugiri și 3 ștergeri
  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;