找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 16642|回复: 10

笔记本用LID待机后唤醒回来LVDS屏幕点不亮问题

[复制链接]
发表于 2008-11-28 20:19:16 | 显示全部楼层 |阅读模式
最近碰到一个棘手的问题,请大家来看看,出出注意,先谢过大家!* ]) i& V, x0 R* Q6 x4 C- J1 S. z
问题描述: ' _( s8 w( f8 [. B
    用LID待机后笔记本进入S3,然后打开笔记本上盖按PWRBTN唤醒,debug卡的确输出30,而且接上VGA是有输出的,但是LVDS没有输出,此时用GMA driver去切屏也不能使LVDS有输出。
3 i' B+ Y+ G/ A自己测量的结果:
3 `0 z# O6 c6 a5 f: S& n3 j8 _1 笔记本上盖闭合和打开的确对应LID信号的0和1;- z  T" L& T; b# _2 z( S$ ]$ j
2 s3回来后LVDS点不亮时测量LVDS_VDDEN为低电平,CLK,data都无输出;
1 t; l# l* k# H% t) x3 EC的确也可以在探测到LID信号发生改变时就发SCI给host;
, |# R# n" [2 w2 `( n7 b, j+ x0 f* K+ u7 G. o2 ~" e( i
基于以上事实,我个人推断从s3回来时,可能是我对LID变高发送的SCI时机不对(太早了!?)导致LVDS点不亮,如果是这个原因,那么是不是要和BIOS交互来选择一个合适的时机发送LID变高的SCI?如何交互呢?
' I' |1 P3 c2 y- v4 i. h+ m; T  ^5 x; a
. b) f9 e: h' x! D' z  E8 i请各位大侠帮我看看这个问题,分析分析,小弟不胜感激......
发表于 2008-12-1 09:44:56 | 显示全部楼层
貌似跟EC 关系不大。
# F7 R5 a; W+ m% v唤醒顺序是:1 ,打开LID------ 2,按开机键------3,BIOS 跑code7 @; N; G* X) e- T4 H* y/ j
那么EC再检测到LID的时候都还是S3的状态。就不需要发SCI 个BIOS,发了它也不知道的
+ D8 U0 O: U1 M  [" g+ G7 Q唤醒的时候自然知道要更新LID的状态,OS回去做的。( K" H+ W. U8 g: `9 B4 E
个人看法,我不是BIOS的。误导了别怪我:lo0 o3 t# k( g8 [/ V. X4 b/ J* j4 D

4 ?  z, ~5 o( h& N% X[ 本帖最后由 smile__xu 于 2008-12-1 09:59 编辑 ]
回复

使用道具 举报

发表于 2008-12-1 10:05:37 | 显示全部楼层
回来后,请BIOS确认有没有通知OS和Driver。) I5 e0 _% t; t2 D4 y: e8 C- a
就是ACPI BIOS对OS说(Notify):“Hi哥们,我是从Powerbutton唤醒,请更新ACPI Power button(PNP0C0C)驱动状态”
, U; a5 d7 l. D" c8 U. f0 I: N% d如果上面做了,那就不清楚罗。
7 O/ P: d' O- D9 s' A5 aLID的状态,对OS来讲,是最终由ACPI BIOS返回数值决定的。但LID和开关屏之间的关系,看是由EC直接相关连还是由ACPI BIOS或SMI来同步。
1 w6 _& Z) a) Q+ s% J' h6 I, L话又回到OS,对OS来讲,唤醒机器的方式有很多,如从网络唤醒,我什么还要开屏?很费电的耶。所以,一般唤醒都要通知OS是哪种唤醒,其实OS也是比较smart的,如果通知到是power button唤醒系统,OS会通知VGA去点亮panel的。具体代码就要自己先找一下,我觉得有可能是这个原因。
回复

使用道具 举报

发表于 2008-12-1 12:51:27 | 显示全部楼层
问下,LID do nothing->合盖,屏幕变黑->开盖,屏幕变亮,有没有问题?
回复

使用道具 举报

发表于 2008-12-1 16:12:32 | 显示全部楼层
應該lid state 有問題,而導致vga driver 把LVDS 關掉了,請BIOS update LID state 在s3回來的時候應該就好了.
回复

使用道具 举报

 楼主| 发表于 2008-12-1 16:42:21 | 显示全部楼层

回复 4# 的帖子

to xtdumpling:
1 ^$ ^5 e. O2 T* ^: q8 @3 kLID do nothing->合盖,屏幕变黑->开盖,屏幕变亮,  j( Q0 ]8 S& n4 K6 e1 `! ?5 L
& U3 A7 G8 u# K. e3 e# }' `8 _

1 k4 Z" H. o( `1 v' F4 {5 e1 r& y该操作没有问题,合盖屏幕变黑,开盖变亮
回复

使用道具 举报

 楼主| 发表于 2008-12-1 19:32:32 | 显示全部楼层

回复 5# 的帖子

请问Laoje,你觉得S3回来过程中具体在哪个点update LID state比较合适?
回复

使用道具 举报

发表于 2008-12-2 14:27:50 | 显示全部楼层

回复 6# 的帖子

照你这么说,LID的状态回报都没有问题.
. E  f0 V7 m3 G3 @2 Y- k& b8 k# A让你们的BIOS工程师在_WAK里面加Notify LID 0x80 试试吧.
回复

使用道具 举报

 楼主| 发表于 2008-12-3 20:32:24 | 显示全部楼层
今天我在ACPI BIOS中把_DOD这个method要return的LVDS对应Device ID由原来的0x00000110改为0x80000410后,问题得到解决了。( L! [( J, n+ h
在ACPI spec 3.0的Appendix B: Video Extensions中,有这样的解释:
9 v, W& m* q3 f8 L  d0x00000110代表Integrated LCD Panel #1 using a common,backwards compatible ID;6 ^) J$ e1 ^" U+ n
0x80000410代表Integrated Internal LCD Panel #1 on Port 19 N1 A" e: U' v# i" F' z
5 l5 H* Q$ |- P( f& @+ p
虽然问题暂时得到解决,但是本人还是对上述两个Device ID的区别不太理解,特别是第一个0x00000110注释中所提到的backwards compatible具体指向什么兼容呢?哪位大侠可否出来帮忙解释一下,谢谢!
回复

使用道具 举报

发表于 2008-12-4 20:26:31 | 显示全部楼层
我以前也碰到类似的问题,当时我也改过这个Device ID,只可惜那只是有时 好而已, 后来我重新改了lid state  ACPI code,问题就解决了. lid state 判断错了才是root cause.
% {5 x9 f' d7 ^" K9 O2 a---以上是我个人的观点。 希望对你有帮助。
回复

使用道具 举报

发表于 2009-11-12 23:14:23 | 显示全部楼层
我现在的项目就出现了这样的问题,不过好像还分OS的版本,比如我用Sp3的就没有这个问题,要是用sp2的就会出现。现在弄得我也很头痛。如果有好的解决方法还请版主分享!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-6-4 13:25 , Processed in 0.049964 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表