Date: Tue, 26 Feb 2013 13:46:46 -0500 From: John Baldwin <jhb@freebsd.org> To: matt <sendtomatt@gmail.com> Cc: Adrian Chadd <adrian@freebsd.org>, freebsd-current@freebsd.org, freebsd-acpi@freebsd.org Subject: Re: Fixing X220 Video The Right Way Message-ID: <201302261346.46197.jhb@freebsd.org> In-Reply-To: <512C380D.5030506@gmail.com> References: <512A6FFF.2060603@gmail.com> <CAJ-VmomuKk-4yHbX3dmy5Hs=%2BEyEh7ytAdB_QBABEMG6XUWaOA@mail.gmail.com> <512C380D.5030506@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, February 25, 2013 11:20:29 pm matt wrote: > On 02/25/13 18:33, Adrian Chadd wrote: > > [101232] acpi_video0: <ACPI video extension> on vgapci0 > > found Internal/Integrated Digital Flat Panel(400), idx#0, port#0, head #0 > > > > And what do I do with acpi_get_handle ? > > > > > > > > > I threw printfs into acpi_video, not sure if that would work for both > vgapci or not. > I'm not sure if I wiped out my debug patches yet, I may have a patch. > Basically the idea is to figure out which paths in the DSDT are getting > attached to the vgapci devices. devinfo -v already tells you that. For example: nexus0 acpi0 pcib0 pnpinfo _HID=PNP0A08 _UID=0 at handle=\_SB_.PCI0 pci0 hostb0 pnpinfo vendor=0x8086 device=0x0100 subvendor=0x8086 subdevice=0x2010 class=0x060000 at slot=0 function=0 pcib1 pnpinfo vendor=0x8086 device=0x0101 subvendor=0x8086 subdevice=0x2010 class=0x060400 at slot=1 function=0 handle=\_SB_.PCI0.PEG1 pci1 vgapci0 pnpinfo vendor=0x10de device=0x0605 subvendor=0x3842 subdevice=0xc973 class=0x030000 at slot=0 function=0 (My desktop doesn't have acpi_video and doesn't have an ACPI handle for the vgapci device, but you can see how it displays the handle for other PCI devices like pcib1 which are in the ACPI namespace.) > It seems like we could either try to find these paths on affected > models, or have a tunable override for acpi_video. Note that the Linux discussion you posted seems a bit off. The _ADR is not supposed to be unique to the entire system. For PCI devices, _ADR contains the PCI device (slot) and function (as slot << 16 | func), and the domain:bus portion of the address is implied by the parent PCI bus device in the ACPI namespace. Thus, the specific handle assigned by ACPI is for the exact PCI location of the requisite vgapci device. If your BIOS lies it is hard for us to do anything useful, at least automatically. Do the other devices in your system that have _DOD or _DOS methods show up as unknown ACPI devices in your devinfo -v output? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302261346.46197.jhb>