HW: 8x12&8x10

SW:   193513A

panel resolution: 1280*800

调试一pad项目中出现了一个问题, 在进入camera应用的时候启用ZSL(零秒快拍),会出现屏幕局部Blue Screen. 进入video recording启用time lapse recording(0.5s),resolution在480P以下时,出现Blue Screen的概率比较高,奇怪的是在720P没有出现Blue screen,这种情况之前没有遇到过,提case给高通,对于ZSL模式回复如下:

mount -t debugfs debugfs /d
There are two methods to verify the issue is actually an underrun problem:- 1. By checking the MDP stats after mounting debugfs:- 1.a) adb shell 1.b) cd d/mdp //d is debugfs already mounted 1.c) cat stat mdp: intf2: play: 00000000 vsync: 00006823 underrun: 00000000 Here the underrun count will be non-zero value and will increment on MDP under run.

这个debug method刚开始不知道是什么意思,后来结合8939平台上的debug manual,知道了这个是统计Blue screen次数的一个数值,我在samples machine上测得的结果

mdp:
underrun: 00007219 mdp:
underrun: 00008835 mdp:
underrun: 00008835 mdp:
underrun: 00010538

这个值会随着Blue screen 出现的次数而增加,初始值应该是0.  qualcomm发来adsp image让我升级测试,升级步骤如下:

adb root
sleep 5
adb remount
adb shell "rm etc/firmware/adsp*"
adb push adsp.b00 /etc/firmware/
adb push adsp.b01 /etc/firmware/
adb push adsp.b02 /etc/firmware/
adb push adsp.b03 /etc/firmware/
adb push adsp.b04 /etc/firmware/
adb push adsp.b05 /etc/firmware/
adb push adsp.b06 /etc/firmware/
adb push adsp.b07 /etc/firmware/
adb push adsp.mdt /etc/firmware/
adb shell sync
adb reboot 

这个升级finish后,蓝屏现象有所改善,但并没有完全解决。最后qualcomm也没有进一步的solution可以彻底解决,ZSL这项功能只好被暂时removed。

对于time lapse recording出现的blue screen,引起的原因应该和zsl模式下的相同或者相似,之后重新向qualcomm提了case,回复如下:

diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c
old mode 100644
new mode 100755
index f877da4..85951ff
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c
@@ -150,6 +150,11 @@ int msm_isp_update_bandwidth(enum msm_isp_hw_client client,
isp_bandwidth_mgr.client_info[i].ib;
}
}
+
+ if (path->vectors[0].ib < 1600000000) {
+ path->vectors[0].ib = 1600000000;
+ path->vectors[0].ab = 1600000000;
+ }
msm_bus_scale_client_update_request(isp_bandwidth_mgr.bus_client,
isp_bandwidth_mgr.bus_vector_active_idx);
mutex_unlock(&bandwidth_mgr_mutex); 

这个patch并没有改善问题。接下来qualcomm发过来adsp,升级后,blue screen居然消失了,这一点让我感觉比较神奇,我想ZSL模式下的blue screen是否也会解决,测试后发现,出现blue的概率很低,但是仍然存在。会不会是systemwide的问题,于是将4个cpu效果全开:

adb shell stop thermald
adb shell stop mpdecision
adb shell "echo 1 > /sys/devices/system/cpu/cpu0/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu2/online"
adb shell "echo 1 > /sys/devices/system/cpu/cpu3/online"
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor"
adb shell "echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor"

测试结果并没有改善这个问题。那么是否是频率或者带宽的影响呢?做如下的测试:

diff --git a/drivers/video/msm/mdss/mdp3.h b/drivers/video/msm/mdss/mdp3.h
index 137a1b8..5d2ba49 100644
--- a/drivers/video/msm/mdss/mdp3.h
+++ b/drivers/video/msm/mdss/mdp3.h
@@ -26,7 +26,7 @@
#include "mdss_fb.h" #define MDP_VSYNC_CLK_RATE 19200000
-#define MDP_CORE_CLK_RATE 100000000
+#define MDP_CORE_CLK_RATE 200000000
#define KOFF_TIMEOUT msecs_to_jiffies(84) b) diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c
index cd0af6d..5009c1a 100644
--- a/drivers/video/msm/mdss/mdp3_ctrl.c
+++ b/drivers/video/msm/mdss/mdp3_ctrl.c
@@ -352,7 +352,7 @@ static int mdp3_ctrl_res_req_bus(struct msm_fb_data_type *mfd, int status)
u64 ab = 0;
u64 ib = 0;
ab = panel_info->xres * panel_info->yres * 4;
- ab *= panel_info->mipi.frame_rate;
+ ab *= panel_info->mipi.frame_rate*2;
ib = (ab * 3) / 2;
rc = mdp3_bus_scale_set_quota(MDP3_CLIENT_DMA_P, ab, ib);
} else { The test combination is below:
1)  Only a)
2)  Only b)
3)  Together a) and b)

问题依旧没有得到改善。现在继续和qualcomm沟通这个问题,看接下来的解决方法

Display debug(Blue Screen , fliker)相关推荐

  1. iOS5.1 + XCode4.5 device debug,the screen will ...

    2019独角兽企业重金招聘Python工程师标准>>> If you use XCode 4.5 + Device with iOS 5.1 to debug,the screen ...

  2. android debug set screen rotation

    好久没更新博客,最近debug了一个比较有趣的bug,有时间闲下来,整理一下还是挺不错的. 先来看看这个bug是什么情况: 以上两张图片是android的动态logo,也就是BootAnimation ...

  3. 基于UE4+ OpenCV 的混合现实 (webCamera, mix-reality, blue screen matting)

    总体效果 类似混合现实,实现展示玩家玩的VR游戏的实况 基本思想 利用openCV 插件,通过摄像头获取到玩家在蓝幕中玩游戏的场景,再使用蓝幕技术,对图像做处理,获取玩家的图像:最后和游戏场景进行叠加 ...

  4. and5.1PowerManagerService深入分析(四)PMS与Display模块

    and5.1PowerManagerService深入分析(四)PMS与Display模块 转自:http://blog.csdn.net/kc58236582/article/details/480 ...

  5. 思科路由器debug基本操作和简单配置

    debug是设备调试,排错中非常重要也非常有效的手段.需要对网络协议和Quidway产品相对熟悉的情况下使用. 过程:首先输入 <P language=javascript src=" ...

  6. 屏幕Screen类文件编写

    注意: inline 定义的函数必须放在 .h 文件中,否则编译器报错! 其次,注意写全称在 .h 里,如 std:: screen.h 头文件 #ifndef SCREEN_H #define SC ...

  7. How to get current full screen dimention and orientation in run time

    1. 此法適用於API Level 17 以上 DisplayManager mDm = (DisplayManager)getSystemService(Context.DISPLAY_SERVIC ...

  8. python display方法_Python display.vvv方法代码示例

    本文整理汇总了Python中__main__.display.vvv方法的典型用法代码示例.如果您正苦于以下问题:Python display.vvv方法的具体用法?Python display.vv ...

  9. Windbg dump分析 学习总结

    Windbg核心调试之dump分析 http://www.pediy.com/kssd/pediy08/pediy8-428.htm 标 题: Windbg核心调试之dump分析 作 者:Lvg 时 ...

  10. Notable magic numbers

    Hexspeak From Wikipedia, the free encyclopedia //z 2014-11-11 11:31:41 L.50 '44899 BG57IV3@XCL T4159 ...

最新文章

  1. 作为怀孕的亲历者,你觉得最值得分享的经验或者技巧是什么?
  2. 【DS】时间复杂度排序
  3. 使用prismjs为网站添加代码高亮功能
  4. Effective Java 电子书 apk版本下载
  5. 微服务go还是java,Java微服务 vs Go微服务,究竟谁更强!?
  6. 基于JAVA+SpringBoot+Mybatis+MYSQL的贷款审批系统
  7. Java 的 ArrayList 的底层数据结构
  8. oracle的commit耗时长_oracle-2中commit 详解
  9. AppBox v6.0中实现子页面和父页面的复杂交互
  10. 运放的相位补偿 ?
  11. 树莓派(Raspberry Pi)安装五笔输入法,五笔拼音混合输入法
  12. 改革40年致敬创业者:有梦想谁都了不起!
  13. 汽车修理厂计算机管理,最新汽车维修厂管理系统
  14. chua系统matlab代码
  15. nodejs--process
  16. c++学习笔记(6)
  17. esp8266与51单片机通信(看完不会你打我)用手机控制led灯的亮灭
  18. 产品大神有张小龙,为什么运营少有大神?
  19. 神探夏洛克 Sherlock: The Abominable Bride (2016)
  20. TVM学习(一)安装TVM Ubuntu16.04安装TVM0.8+clang-llvm12.0

热门文章

  1. 音视频技术开发周刊 | 164
  2. 第6章 索引和数据完整性
  3. 一款基于 Spring Boot 的公众号管理系统,已开源,别再自己写了!
  4. kaggle下载output中的文件
  5. loadrunner icrosoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”
  6. css怎么写数字序号,CSS自动加序号-多种有序列表数字序号
  7. 360linux 杀毒软件,Linux下用360安全卫士/360杀毒国产系统适配专版显示有木马或是误报...
  8. 论车牌识别与电子警察关系
  9. 随机产生一个五位数以内的数
  10. 商洛师范学院计算机老师,我校在首届全国师范生微课大赛中获佳绩