Dell acpi_video patch

Juergen Lock nox at jelal.kn-bremen.de
Fri Oct 5 21:55:35 UTC 2012


Hi!

 I finally took a closer look why acpi_video found nothing on my
Dell laptop (Precision M4500), and came up with this patch:

--- sys/dev/acpica/acpi_video.c.orig
+++ sys/dev/acpica/acpi_video.c
@@ -906,7 +906,7 @@ vid_enum_outputs_subr(ACPI_HANDLE handle
 
 	for (i = 0; i < argset->dod_pkg->Package.Count; i++) {
 		if (acpi_PkgInt32(argset->dod_pkg, i, &val) == 0 &&
-		    (val & DOD_DEVID_MASK_FULL) == adr) {
+		    (val & (DOD_DEVID_MASK_FULL | 0x80000000)) == adr) {
 			argset->callback(handle, val, argset->context);
 			argset->count++;
 		}

which gives me:

% sysctl hw.acpi.video.
hw.acpi.video.crt0.active: 0
hw.acpi.video.lcd0.active: 0
hw.acpi.video.lcd0.brightness: 100
hw.acpi.video.lcd0.fullpower: 100
hw.acpi.video.lcd0.economy: 46
hw.acpi.video.lcd0.levels: 100 46 0 6 13 20 26 33 40 46 53 60 66 73 80 86 93 100
hw.acpi.video.ext0.active: 0
hw.acpi.video.ext1.active: 0
hw.acpi.video.ext2.active: 0
hw.acpi.video.ext3.active: 0
% 

and I can change the lcd brightness.  hw.acpi.video.lcd0.active is
still 0 tho and can't be changed regardless if the display is off
or on - maybe that also explains the blank screen after suspend/resume
w/o X running or when exiting X or switching from X to a textconsole?

 I also took a cursory look at Linux' drivers/platform/x86/dell-laptop.c
and drivers/platform/x86/dell-wmi.c and found Linux seems to do smi
calls, tho it wasn't immediately obvious if that affects all Dell
laptops or only older models.  (The blank screen problem doesn't occur
on Linux.)

 See also my FLCL entry:

	https://laptop.bsdgroup.de/freebsd/index.html?action=show_laptop_detail&laptop=13061

 Thanx! :)
	Juergen


More information about the freebsd-acpi mailing list