Re: No psm with if_ath on current

John Baldwin <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
On Thursday 19 October 2006 17:07, Kevin Oberman wrote:
> > From: John Baldwin <[email protected]>
> > Date: Thu, 19 Oct 2006 16:55:51 -0400
> > 
> > On Thursday 19 October 2006 15:19, Kevin Oberman wrote:
> > > > From: John Baldwin <[email protected]>
> > > > 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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.