Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Mar 2009 13:57:13 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        "Arno J. Klaassen" <arno@heho.snv.jussieu.fr>
Cc:        pyunyh@gmail.com, current@freebsd.org
Subject:   Re: msi broken?
Message-ID:  <1236797833.1679.14.camel@balrog.2hip.net>
In-Reply-To: <wpab7s6ujb.fsf@heho.snv.jussieu.fr>
References:  <wp1vt5bhc4.fsf@heho.snv.jussieu.fr> <200903101425.28608.jhb@freebsd.org> <wpab7tp5jj.fsf@heho.snv.jussieu.fr> <200903101637.31039.jhb@freebsd.org> <wpmybtj6h5.fsf@heho.snv.jussieu.fr> <1236728841.2091.5.camel@balrog.2hip.net> <49B700AD.7010500@samsco.org> <wpab7s6ujb.fsf@heho.snv.jussieu.fr>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-OMLtzr9t5krTccmb7S4K
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Wed, 2009-03-11 at 14:47 +0100, Arno J. Klaassen wrote:
> Scott Long <scottl@samsco.org> writes:
>=20
> > Robert Noland wrote:
> >> On Wed, 2009-03-11 at 00:36 +0100, Arno J. Klaassen wrote:
> >>> John Baldwin <jhb@freebsd.org> writes:
> >>>
> >>>> On Tuesday 10 March 2009 3:00:00 pm Arno J. Klaassen wrote:
> >>>>> John Baldwin <jhb@freebsd.org> writes:
> >>>>>
> >>>>>> On Tuesday 10 March 2009 10:08:59 am Arno J. Klaassen wrote:
> >>>>>>> Hello,
> >>>>>>>
> >>>>>>> when upgrading this morning from a March 1 -current, if_bge
> >>>>>>> stopped working (and irq256: bge0 not showing up in
> >>>>>>> vmstat -i ). Setting hw.pci.enable_msi=3D"0" makes it work again.
> >>>>>> Can you get a verbose dmesg (boot -v) with MSI enabled?
> >>>> Ok, so you are getting MSI interrupts assigned and routed ok.  Can
> >>>> you try disabling the code that sets the INTx_MASK flag in the PCI
> >>>> command register in sys/dev/pci/pci.c:pci_setup_intr()?
> >>> grr : "rid" sure is 1 for the if_bge interrupt. Please tell me which
> >>> lines of code set the INTx_MASK flag. Thanx, more tomorrow.
> >>
> >> if rid is 0, the chip should be using INTx.  if rid > 0 then it should
> >> be using MSI.
> >>
> >>
> >>                         }
> >>                         mte->mte_handlers++;
> >>                 }
> >> #if 0 /* Comment this out/*
> >>                 /* Make sure that INTx is disabled if we are using MSI=
/MSIX */
> >>                 pci_set_command_bit(dev, child, PCIM_CMD_INTxDIS);
> >> #endif
> >>         bad:
> >>                 if (error) {
> >>                         (void)bus_generic_teardown_intr(dev, child, ir=
q,
> >>                             cookie);
> >>                         return (error);
> >>
> >> robert.
> >>
> >
> > If this turns out to help this particular gentleman,
>=20
> yes it does ;) with otherwise clean sources
>=20
> sorry I did not understand directly what you asked me to do
>=20
> > then I'd like to
> > suggest a further test of having the bge driver explicitly reset the
> > the INTxDIS bit after calling bus_setup_intr().  If that works, then I
> > strongly suggest that we treat this as a localized quirk that drivers
> > will need to manage for themselves, and not something that the PCI laye=
r
> > should try to control.  It might be possible to set up some sort of
> > hint system for drivers to programatically tell the PCI layer to treat
> > this bit special for a particular device instance.  What I don't want
> > to see is the PCI layer growing yet another hidden quirk table of
> > PCI IDs.  This kind of quirk knowledge belongs in the driver.
>=20

Ok, well I agree with Scott, this needs to be addressed in the bge
driver.

robert.

> iff you'd like I can test things on this board for a while ...
>=20
> Thank you very much, Arno
--=20
Robert Noland <rnoland@FreeBSD.org>
FreeBSD

--=-OMLtzr9t5krTccmb7S4K
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (FreeBSD)

iEYEABECAAYFAkm4CYkACgkQM4TrQ4qfROMILwCfS5CoDPXQjaBHhc5H3NgYU7Yz
YfsAoIedmsnkFqsS+Cx6J+bvbj3kJvCk
=53lo
-----END PGP SIGNATURE-----

--=-OMLtzr9t5krTccmb7S4K--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1236797833.1679.14.camel>