From 95d9456209b8a598675d69f99442aee647436e50 Mon Sep 17 00:00:00 2001 From: ThomasKaiser Date: Sun, 16 Oct 2016 16:59:57 +0200 Subject: [PATCH] Minor NanoPi Air fixes --- config/boards/nanopiair.conf | 2 +- config/fex/nanopiair.fex | 4 +- ...nfo-when-camera-is-detached.patch.disabled | 74 +++++++++++++++++++ 3 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 patch/kernel/sun8i-default/vfe-don-not-print-debug-info-when-camera-is-detached.patch.disabled diff --git a/config/boards/nanopiair.conf b/config/boards/nanopiair.conf index 25ad8c06ef..829a851f87 100644 --- a/config/boards/nanopiair.conf +++ b/config/boards/nanopiair.conf @@ -1,4 +1,4 @@ -# H3 quad core 256/512MB SoC Headless WiFi/BT +# H3 quad core 512MB SoC Headless WiFi/BT BOARD_NAME="NanoPi Air" LINUXFAMILY=sun8i BOOTCONFIG=FriendlyARM_NanoPi_Air_defconfig diff --git a/config/fex/nanopiair.fex b/config/fex/nanopiair.fex index 87d5e755d8..175e31c2d6 100644 --- a/config/fex/nanopiair.fex +++ b/config/fex/nanopiair.fex @@ -152,7 +152,7 @@ twi_scl = port:PA18<3> twi_sda = port:PA19<3> [twi2] -twi_used = 1 +twi_used = 0 twi_scl = port:PE12<3> twi_sda = port:PE13<3> @@ -364,7 +364,7 @@ gmac_power1 = ; to use other camera modules please refer to ; http://forum.armbian.com/index.php/topic/1213-ov5640-camera-with-orange-pi/ [csi0] -vip_used = 1 +vip_used = 0 vip_mode = 0 vip_dev_qty = 1 vip_define_sensor_list = 0 diff --git a/patch/kernel/sun8i-default/vfe-don-not-print-debug-info-when-camera-is-detached.patch.disabled b/patch/kernel/sun8i-default/vfe-don-not-print-debug-info-when-camera-is-detached.patch.disabled new file mode 100644 index 0000000000..48b9aadc39 --- /dev/null +++ b/patch/kernel/sun8i-default/vfe-don-not-print-debug-info-when-camera-is-detached.patch.disabled @@ -0,0 +1,74 @@ +From a45575d87bb0af69aacb5911808172369eea30c0 Mon Sep 17 00:00:00 2001 +From: wwd +Date: Wed, 7 Sep 2016 13:44:45 +0800 +Subject: [PATCH] vfe: not print debug info when camera is detached + +--- + drivers/media/video/sunxi-vfe/csi_cci/bsp_cci.c | 4 ++-- + drivers/media/video/sunxi-vfe/vfe.c | 6 +++--- + drivers/media/video/sunxi-vfe/vfe_os.h | 4 ++-- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/drivers/media/video/sunxi-vfe/csi_cci/bsp_cci.c b/drivers/media/video/sunxi-vfe/csi_cci/bsp_cci.c +index c6aa44d..bdfca7f 100755 +--- a/drivers/media/video/sunxi-vfe/csi_cci/bsp_cci.c ++++ b/drivers/media/video/sunxi-vfe/csi_cci/bsp_cci.c +@@ -191,7 +191,7 @@ static int bsp_cci_tx_start_wait_done_unlocked(unsigned int sel, struct cci_msg + //printk("cci_cnt_done = %d, cci_cnt_irq = %d\n",cci_cnt_done, cci_cnt_irq); + if(1 == status_err_flag[sel]) + { +- printk("[VFE CCI_%d ERR] Status error at addr_8bit = %x, wr_flag = %d, val = %x\n", sel, msg->bus_fmt.saddr_7bit<<1,msg->bus_fmt.wr_flag, *(int *)msg->pkt_buf); ++ // printk("[VFE CCI_%d ERR] Status error at addr_8bit = %x, wr_flag = %d, val = %x\n", sel, msg->bus_fmt.saddr_7bit<<1,msg->bus_fmt.wr_flag, *(int *)msg->pkt_buf); + ret = -1; + } + if(msg->bus_fmt.wr_flag == 1) +@@ -216,7 +216,7 @@ static int bsp_cci_tx_start_wait_done_unlocked(unsigned int sel, struct cci_msg + cci_int_get_status(sel, &status); + if(status.error) { + cci_int_clear_status(sel, CCI_INT_ERROR); +- printk("[VFE CCI_%d ERR] Status error at addr_8bit = %x, wr_flag = %d\n", sel, msg->bus_fmt.saddr_7bit<<1,msg->bus_fmt.wr_flag); ++ //printk("[VFE CCI_%d ERR] Status error at addr_8bit = %x, wr_flag = %d\n", sel, msg->bus_fmt.saddr_7bit<<1,msg->bus_fmt.wr_flag); + bsp_cci_bus_error_process(sel); + bsp_csi_cci_exit(sel); + bsp_csi_cci_init_helper(sel); +diff --git a/drivers/media/video/sunxi-vfe/vfe.c b/drivers/media/video/sunxi-vfe/vfe.c +index e0afc3f..225dac8 100755 +--- a/drivers/media/video/sunxi-vfe/vfe.c ++++ b/drivers/media/video/sunxi-vfe/vfe.c +@@ -5120,9 +5120,9 @@ static void probe_work_handle(struct work_struct *work) + dev->input = input_num; + if(vfe_sensor_register_check(dev,&dev->v4l2_dev,dev->ccm_cfg[input_num],&dev->dev_sensor[input_num],input_num) == NULL) + { +- vfe_err("vfe sensor register check error at input_num = %d\n",input_num); ++ vfe_warn("vfe sensor register check error at input_num = %d\n",input_num); + dev->device_valid_flag[input_num] = 0; +- //goto snesor_register_end; ++ goto probe_hdl_unreg_dev; + } + else{ + dev->device_valid_flag[input_num] = 1; +@@ -5222,7 +5222,7 @@ static void probe_work_handle(struct work_struct *work) + vfe_print("vfe_exit @ probe_hdl!\n"); + //vfe_exit(); + +- vfe_err("Failed to install at probe handle\n"); ++ vfe_warn("Failed to install at probe handle\n"); + mutex_unlock(&probe_hdl_lock); + return ; + } +diff --git a/drivers/media/video/sunxi-vfe/vfe_os.h b/drivers/media/video/sunxi-vfe/vfe_os.h +index 5e76104..6fa09c1 100755 +--- a/drivers/media/video/sunxi-vfe/vfe_os.h ++++ b/drivers/media/video/sunxi-vfe/vfe_os.h +@@ -28,9 +28,9 @@ extern unsigned int vfe_dbg_lv; + #define vfe_dbg(l,x,arg...) if(vfe_dbg_en && l <= vfe_dbg_lv) printk(KERN_DEBUG"[VFE_DEBUG]"x,##arg) + //print when error happens + #define vfe_err(x,arg...) printk(KERN_ERR"[VFE_ERR]"x,##arg) +-#define vfe_warn(x,arg...) printk(KERN_WARNING"[VFE_WARN]"x,##arg) ++#define vfe_warn(x,arg...) if(vfe_dbg_en) printk(KERN_WARNING"[VFE_WARN]"x,##arg) + //print unconditional, for important info +-#define vfe_print(x,arg...) printk(KERN_NOTICE"[VFE]"x,##arg) ++#define vfe_print(x,arg...) if(vfe_dbg_en) printk(KERN_NOTICE"[VFE]"x,##arg) + + typedef unsigned int __hdle; +