misc/100271: acpi_video cant identify some Dell lcd's.

John L. Utz III john at utzweb.net
Fri Jul 14 06:00:48 UTC 2006


>Number:         100271
>Category:       misc
>Synopsis:       acpi_video cant identify some Dell lcd's.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jul 14 06:00:34 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     John L. Utz III
>Release:        7.0-CURRENT, 6.1-RELEASE
>Organization:
>Environment:
[spaz at minime /usr/home/spaz]$ uname -a
FreeBSD minime.hsd1.wa.comcast.net. 7.0-CURRENT FreeBSD 7.0-CURRENT #3: Thu Jul 13 22:02:04 PDT 2006     spaz at minime.hsd1.wa.comcast.net.:/usr/src/sys/i386/compile/MINIME  i386

>Description:
acpi_video expects that the laptops' lcd will be called out in the ACPI asl by the value 0x0110.

however, some laptops' identify the LCD by the value 0x0400.

for laptops such as these, theirl displays will not be identified correctly and they will not be attached correctly to the ACPI tree

[spaz at minime /usr/home/spaz]$ sysctl hw.acpi.video
hw.acpi.video.crt0.active: 0
hw.acpi.video.out0.active: 1  <-- this is wrong!
[spaz at minime /usr/home/spaz]$ 

the fix is to apply the attached patch, it will allow the dell's to attach correctly:

[spaz at minime /usr/home/spaz]$ sysctl hw.acpi.videoight
hw.acpi.video.crt0.active: 0
hw.acpi.video.lcd0.active: 1  <-- this is r
[spaz at minime /usr/home/spaz]$ 
>How-To-Repeat:
[spaz at minime /usr/home/spaz]$ sysctl hw.acpi.video
hw.acpi.video.crt0.active: 0
hw.acpi.video.out0.active: 1
[spaz at minime /usr/home/spaz]$ 
>Fix:
[spaz at minime /usr/home/spaz]$ diff -u acpi_videoorig.c acpi_video.c
--- acpi_videoorig.c    Thu Jul 13 22:44:40 2006
+++ acpi_video.c        Thu Jul 13 22:44:28 2006
@@ -113,6 +113,7 @@
 #define DOD_DEVID_MONITOR      0x0100
 #define DOD_DEVID_PANEL                0x0110
 #define DOD_DEVID_TV           0x0200
+#define DOD_DEVID_LCD           0x0400
 #define DOD_BIOS               (1 << 16)
 #define DOD_NONVGA             (1 << 17)
 #define DOD_HEAD_ID_SHIFT      18
@@ -416,6 +417,7 @@
                voqh = &crt_units;
                break;
        case DOD_DEVID_PANEL:
+       case DOD_DEVID_LCD:
                desc = "LCD panel";
                type = "lcd";
                voqh = &lcd_units;
@@ -558,6 +560,7 @@
                voqh = &crt_units;
                break;
        case DOD_DEVID_PANEL:
+       case DOD_DEVID_LCD:
                voqh = &lcd_units;
                break;
        case DOD_DEVID_TV:
[spaz at minime /usr/home/spaz]$ 
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list