No psm with if_ath on current
John Baldwin
jhb at freebsd.org
Thu Oct 19 22:04:23 UTC 2006
On Thursday 19 October 2006 17:07, Kevin Oberman wrote:
> > From: John Baldwin <jhb at freebsd.org>
> > Date: Thu, 19 Oct 2006 16:55:51 -0400
> >
> > On Thursday 19 October 2006 15:19, Kevin Oberman wrote:
> > > > From: John Baldwin <jhb at freebsd.org>
> > > > Date: Thu, 19 Oct 2006 13:12:43 -0400
> > > >
> > > > On Thursday 19 October 2006 12:50, Kevin Oberman wrote:
> > > > > 527,533c548
> > > > > < psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
> > > > > < psm0: current command byte:0047
> > > > > < psm0: <PS/2 Mouse> flags 0x2000 irq 12 on atkbdc0
> > > > > < psm0: [GIANT-LOCKED]
> > > > > < psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons
> > > > > < psm0: config:00002000, flags:00000008, packet size:3
> > > > > < psm0: syncmask:c0, syncbits:00
> > > > > ---
> > > > > > acpi_ibm0: <IBM ThinkPad ACPI Extras> irq 12 on acpi0
> > > > > 549d563
> > > > > < acpi_ibm0: <IBM ThinkPad ACPI Extras> on acpi0
> > > >
> > > > This is odd. Do you have your ASL handy, and can you show the
> > > > 'devinfo -v' line for acpi_ibm0 for the 2 cases (w/ if_ath and w/o)?
> > >
> > > The ASL is available at:
> > > <http://home.comcast.net/~ykoberman/FreeBSD/T43.asl>
> > >
> > > if_ath loaded before boot. No psm found.
> > > acpi_ibm0 pnpinfo _HID=IBM0057 _UID=0 at handle=\_SB_.PCI0.LPC_.MOU_
> > >
> > > if_ath loaded after boot. psm available.
> > > acpi_ibm0 pnpinfo _HID=IBM0068 _UID=0 at
> > handle=\_SB_.PCI0.LPC_.EC__.HKEY
> > >
> > > If I understand this (and I probably don't) this is really weird.
> >
> > Yeah, your mouse normally has an ACPI ID of IBM3870, not 0057. That's
really
> > odd.
> >
> > Device (MOU)
> > {
> > Name (_HID, EisaId ("IBM3780"))
> > Name (_CID, 0x130FD041)
> > Name (_CRS, ResourceTemplate ()
> > {
> > IRQNoFlags ()
> > {12}
> > })
> > Method (MHID, 0, NotSerialized)
> > {
> > If (\_SB.PCI0.LPC.PADD)
> > {
> > Store (0x80374D24, _HID)
> > }
> > Else
> > {
> > Store (0x57004D24, _HID)
> > }
> > }
> > }
> >
> > Oh, wait, the MHID thing changes it. Hmm, PADD is some byte (bit?) in
> > memory and it's getting changed for some reason. You can sabotage
> > your ASL and use a custom DSDT that always forces it to IBM3780. You
> > can also maybe hack acpi_ibm to not attach to a device that matches
> > the PS/2 mouse device. Or give acpi_ibm a lower priority than the psm
> > driver. You can do this it looks like by just changing
> > acpi_ibm_probe() to return BUS_PROBE_DEFAULT instead of 0 on success.
>
> Ah. This all makes sense (and is still weird), but why does having
> if_ath loaded trigger the problem? I may be missing something
> fundamental, but I don't see the link. Does probing ath cause the probes
> to re-order or something?
I have no idea on that one.
> I'll take a look at hacking acpi_ibm in a bit. I get uncomfortable about
> hacking the DSDT, although I have done it in the past for broken cases
> (like my old K6-3 system).
Yeah, hacking acpi_ibm() is probably better. It's a simple
s/0/BUS_DEFAULT_PROBE/.
--
John Baldwin
More information about the freebsd-mobile
mailing list