Date: Thu, 13 Jul 2006 19:01:35 -0400 (EDT) From: john@utzweb.net To: "Daniel Eischen" <deischen@freebsd.org> Cc: freebsd-mobile@freebsd.org Subject: Dell/acpi_video hw.acpi.video.out0 is probably a bug, and an important one. Re: Dell laptops Message-ID: <32884.69.93.78.27.1152831695.squirrel@69.93.78.27> In-Reply-To: <Pine.GSO.4.64.0607130900460.6165@sea.ntplx.net> References: <20060711.104708.1159134898.imp@bsdimp.com> <200607111338.01412.mistry.7@osu.edu> <Pine.GSO.4.64.0607112352430.27869@sea.ntplx.net> <200607122136.54293.mistry.7@osu.edu> <Pine.GSO.4.64.0607130824240.6165@sea.ntplx.net> <44B6401F.8050507@centtech.com> <Pine.GSO.4.64.0607130848190.6165@sea.ntplx.net> <44B641F2.2020500@centtech.com> <Pine.GSO.4.64.0607130900460.6165@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hijacking this a bit, but it's very relevant IMHO > On Thu, 13 Jul 2006, Eric Anderson wrote: > >> On 07/13/06 07:50, Daniel Eischen wrote: >>> On Thu, 13 Jul 2006, Eric Anderson wrote: >>> >>>> And then if you do: >>>> >>>> sysctl hw.acpi.video.out0.active=1 >>>> and then >>>> sysctl hw.acpi.video.out0.active=0 >>>> >>>> Does your screen do something? >>> >>> Yes, hw.acpi.video.out0.active=1 seems to switch to the CRT, >>> but once there, setting it back to 0 does not bring it back. >>> Fn + CRT/LCD also has no effect. The only way to get it back >>> is to reboot. >>> >> >> Did you try to do this too: >> >> sysctl hw.acpi.video.out1.active=1 >> >> Or some other combinations? >> >> Sounds like it works ok, you just need to figure out which outputs map >> to >> your LCD/CRT/etc. So, if you look at: /usr/src/sys/dev/acpicaacpi_video.c::acpi_video_vo_init() you will notice that 'out' is what you get when you fall out of the switch: switch (adr & DOD_DEVID_MASK) { case DOD_DEVID_MONITOR: desc = "CRT monitor"; type = "crt"; voqh = &crt_units; break; case DOD_DEVID_PANEL: desc = "LCD panel"; type = "lcd"; voqh = &lcd_units; break; case DOD_DEVID_TV: desc = "TV"; type = "tv"; voqh = &tv_units; break; default: desc = "unknown output"; type = "out"; voqh = &other_units; } my Latitude C400 (i830M) also shows up with out0 and i am highly confident that what *should* be happening is that it should be *winning* at lcd. when i was running 6.1-RELEASE i tried h3xoring the switch to have the lcd be the default case but that didnt seem to help anything and i have not tried the selfsame hack since switching over to CURRENT ( for the first time since i started using FreeBSD back in 10/93!). the switch is quite simple, so it really looks like there are only two things that could be wrong: 1. either the addr passed as the inparm (UNIT32 adr) is wrong 2. the bit's at the address are screwed up so that the dont make the mask. my devguy gut votes for 2, but i have yet to debug...urmm printf this thing again. so who the hell is acpi_video asking? anybody know? i am resisting an impolite cross-post to freebsd-acpi based on the assumption that anybody who knows anything over there is probably on this list too. i suspect that untwisting this will probably break the logjam on several dell acpi annoyances. X obviously get's it right, where is the fork in the road between X and ACPI? i *will* figure this out, but if anybody has any thoughts they wanted to chime in with, i would love to read them! tnx! johnu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32884.69.93.78.27.1152831695.squirrel>