Enabling MSI on the Asus Vintage AH-1
Scott Long
scottl at samsco.org
Mon Dec 25 20:51:47 PST 2006
Pyun YongHyeon wrote:
> On Sat, Dec 23, 2006 at 09:54:58PM +0000, Bruce M. Simpson wrote:
> > Hi,
> >
> > It looks like MSI was detected, but not used by the msk(4) driver on the
> > Asus Vintage AH-1.
> >
> > This is a uniprocessor Athlon64 system. The PCI bridges on this system
> > aren't in the MSI blacklist, however, there are several odd messages
> > regarding a non-default MSI window. Looking at the code suggests it
> > expects to see the MSI window at 0xfee00000.
> >
> > BTW: This system's on-board SATA controller stopped working with 6.2-RC,
> > so I'm using an add-on PCI-e card for SATA to connect the root disk.
> >
> > pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
> > pci0: <ACPI PCI bus> on pcib0
> > pci0: physical bus=0
>
> [...]
>
> > pcib2: <ACPI PCI-PCI bridge> at device 6.0 on pci0
> > pcib2: secondary bus 2
> > pcib2: subordinate bus 2
> > pcib2: I/O decode 0xc000-0xcfff
> > pcib2: memory decode 0xfe400000-0xfe4fffff
> > pcib2: no prefetched decode
> > pci2: <ACPI PCI bus> on pcib2
> > pci2: physical bus=2
> > found-> vendor=0x11ab, dev=0x4362, revid=0x19
> > bus=2, slot=0, func=0
> > class=02-00-00, hdrtype=0x00, mfdev=0
> > cmdreg=0x0107, statreg=0x4010, cachelnsz=16 (dwords)
> > lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
> > intpin=a, irq=5
> > powerspec 2 supports D0 D1 D2 D3 current D0
> > VPD Ident: Marvell Yukon 88E8053 Gigabit Ethernet Controller
> > PN: Yukon 88E8053
> > EC: Rev. 1.9
> > MN: Marvell
> > SN: AbCdEfG32a88a
> > CP: id 1, BAR16, off 0x3cc
> > RV: 0x24
> > MSI supports 2 messages, 64 bit
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> I think Yukon II supports one MSI message. But all systems I know
> reported that it supports two MSI messages. This is main reason why
> msk(4) doesn't use MSI ATM. I don't know why Yukon II claims to
> support two MSI messages.(for dual port MAC configuraiton?)
My guess is that it advertises 2 messages for the dual-port
configuration. The intention is probably that the driver would
run a loop where it allocates a message as it configures each port.
So if you only have a single port, then you only allocate a single
message and ignore the other one. This looks like it will be hard to
fit into the msk+mskc code that is there right now.
>
> You can force to use MSI by assigning 'msic = 1' before calling
> pci_alloc_msi(9) in mskc_attach(). However it wouldn't work if you
> reload the msk(4) again. Other than that it works well with MSI.
I don't understand why there would be a failure here. Can you explain?
Scott
More information about the freebsd-current
mailing list