Browse Source

fixed issue: RVC video flashing when enter carback

lixh 2 years ago
parent
commit
fe14adf6aa

+ 3 - 3
linux/drivers/media/platform/arkmicro/ark1668e_vin.c

@@ -845,7 +845,7 @@ static void vin_get_signal_work(struct work_struct *work)
 			{
 				if(vin->dvr_dev->first_show_flag){
 					if(vin->dvr_dev->signal_flag == 20){
-					printk(KERN_ALERT "ark_vin_display_int_handler-->show_video\n");
+					printk(KERN_ALERT "ark_vin_display_int_handler-->show_video, first=%d\n", vin->dvr_dev->first_show_flag);
 					ark_vin_display_init(DISPLAY_LAYER,vin->dvr_dev->screen_width,vin->dvr_dev->screen_height,vin->dvr_dev->screen_xpos,vin->dvr_dev->screen_ypos);
 					ark_disp_set_layer_en(DISPLAY_LAYER, 1);
 					vin->dvr_dev->layer_status = 1;
@@ -857,8 +857,8 @@ static void vin_get_signal_work(struct work_struct *work)
 						vin->dvr_dev->signal_flag++;
 					}
 				}else{
-					if(vin->dvr_dev->signal_flag == 10){
-						printk(KERN_ALERT "ark_vin_display_int_handler-->show_video\n");
+					if(vin->dvr_dev->signal_flag == 20){	// LiXH(2023.02.02) fixed issue: RVC video flashing when enter carback
+						printk(KERN_ALERT "ark_vin_display_int_handler-->show_video, first=%d\n", vin->dvr_dev->first_show_flag);
 						ark_vin_display_init(DISPLAY_LAYER,vin->dvr_dev->screen_width,vin->dvr_dev->screen_height,vin->dvr_dev->screen_xpos,vin->dvr_dev->screen_ypos);
 						ark_disp_set_layer_en(DISPLAY_LAYER, 1);
 						vin->dvr_dev->layer_status = 1;

+ 13 - 12
linux/drivers/soc/arkmicro/carback/ark1668e_carback.c

@@ -135,25 +135,26 @@ static void carback_signal_detect(void)
 	struct carback_context *context = g_carback_context;
 	int status = !gpiod_get_value(context->detect);	
 	int temp_signal;
-    if(status){
-        temp_signal = dvr_detect_carback_signal();
-        if(temp_signal == 0){
+	if(status){
+		temp_signal = dvr_detect_carback_signal();
+		if(temp_signal == 0){
 			carback_detect_count++;
 			if(carback_detect_count == 10){
-                printk(KERN_ALERT "carback delect itu no signal\n");
+				printk(KERN_ALERT "carback detect itu no signal\r\n");
 				if(status)
-                context->carback_signal = temp_signal;
+					context->carback_signal = temp_signal;
 				else
 					context->carback_signal = 1;
+
 				carback_detect_count = 0;
-            }
-        }
-        else{
-            context->carback_signal = temp_signal;
-            context->carback_count = 0;
+			}
+		}
+		else{
+			context->carback_signal = temp_signal;
+			context->carback_count = 0;
 			carback_detect_count = 0;
-        }
-    }
+		}
+	}
 }
 
 #ifdef CONFIG_REVERSING_TRACK