Display debug(Blue Screen , fliker)
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)相关推荐
- 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 ...
- android debug set screen rotation
好久没更新博客,最近debug了一个比较有趣的bug,有时间闲下来,整理一下还是挺不错的. 先来看看这个bug是什么情况: 以上两张图片是android的动态logo,也就是BootAnimation ...
- 基于UE4+ OpenCV 的混合现实 (webCamera, mix-reality, blue screen matting)
总体效果 类似混合现实,实现展示玩家玩的VR游戏的实况 基本思想 利用openCV 插件,通过摄像头获取到玩家在蓝幕中玩游戏的场景,再使用蓝幕技术,对图像做处理,获取玩家的图像:最后和游戏场景进行叠加 ...
- and5.1PowerManagerService深入分析(四)PMS与Display模块
and5.1PowerManagerService深入分析(四)PMS与Display模块 转自:http://blog.csdn.net/kc58236582/article/details/480 ...
- 思科路由器debug基本操作和简单配置
debug是设备调试,排错中非常重要也非常有效的手段.需要对网络协议和Quidway产品相对熟悉的情况下使用. 过程:首先输入 <P language=javascript src=" ...
- 屏幕Screen类文件编写
注意: inline 定义的函数必须放在 .h 文件中,否则编译器报错! 其次,注意写全称在 .h 里,如 std:: screen.h 头文件 #ifndef SCREEN_H #define SC ...
- How to get current full screen dimention and orientation in run time
1. 此法適用於API Level 17 以上 DisplayManager mDm = (DisplayManager)getSystemService(Context.DISPLAY_SERVIC ...
- python display方法_Python display.vvv方法代码示例
本文整理汇总了Python中__main__.display.vvv方法的典型用法代码示例.如果您正苦于以下问题:Python display.vvv方法的具体用法?Python display.vv ...
- Windbg dump分析 学习总结
Windbg核心调试之dump分析 http://www.pediy.com/kssd/pediy08/pediy8-428.htm 标 题: Windbg核心调试之dump分析 作 者:Lvg 时 ...
- Notable magic numbers
Hexspeak From Wikipedia, the free encyclopedia //z 2014-11-11 11:31:41 L.50 '44899 BG57IV3@XCL T4159 ...
最新文章
- 作为怀孕的亲历者,你觉得最值得分享的经验或者技巧是什么?
- 【DS】时间复杂度排序
- 使用prismjs为网站添加代码高亮功能
- Effective Java 电子书 apk版本下载
- 微服务go还是java,Java微服务 vs Go微服务,究竟谁更强!?
- 基于JAVA+SpringBoot+Mybatis+MYSQL的贷款审批系统
- Java 的 ArrayList 的底层数据结构
- oracle的commit耗时长_oracle-2中commit 详解
- AppBox v6.0中实现子页面和父页面的复杂交互
- 运放的相位补偿 ?
- 树莓派(Raspberry Pi)安装五笔输入法,五笔拼音混合输入法
- 改革40年致敬创业者:有梦想谁都了不起!
- 汽车修理厂计算机管理,最新汽车维修厂管理系统
- chua系统matlab代码
- nodejs--process
- c++学习笔记(6)
- esp8266与51单片机通信(看完不会你打我)用手机控制led灯的亮灭
- 产品大神有张小龙,为什么运营少有大神?
- 神探夏洛克 Sherlock: The Abominable Bride (2016)
- TVM学习(一)安装TVM Ubuntu16.04安装TVM0.8+clang-llvm12.0
热门文章
- 音视频技术开发周刊 | 164
- 第6章 索引和数据完整性
- 一款基于 Spring Boot 的公众号管理系统,已开源,别再自己写了!
- kaggle下载output中的文件
- loadrunner icrosoft Visual c++2005 sp1运行时组件,就会提示命令行选项语法错误,键入“命令/?”
- css怎么写数字序号,CSS自动加序号-多种有序列表数字序号
- 360linux 杀毒软件,Linux下用360安全卫士/360杀毒国产系统适配专版显示有木马或是误报...
- 论车牌识别与电子警察关系
- 随机产生一个五位数以内的数
- 商洛师范学院计算机老师,我校在首届全国师范生微课大赛中获佳绩