Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Mar 2009 19:46:22 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        pyunyh@gmail.com
Cc:        freebsd-current@freebsd.org, "Arno J. Klaassen" <arno@heho.snv.jussieu.fr>
Subject:   Re: msi broken?
Message-ID:  <1236732382.2091.25.camel@balrog.2hip.net>
In-Reply-To: <20090311003244.GA13527@michelle.cdnetworks.co.kr>
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> <20090311003244.GA13527@michelle.cdnetworks.co.kr>

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

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

On Wed, 2009-03-11 at 09:32 +0900, Pyun YongHyeon wrote:
> On Tue, Mar 10, 2009 at 06:47:21PM -0500, Robert Noland wrote:
> > On Wed, 2009-03-11 at 00:36 +0100, Arno J. Klaassen wrote:
> > > John Baldwin <jhb@freebsd.org> writes:
> > >=20
> > > > On Tuesday 10 March 2009 3:00:00 pm Arno J. Klaassen wrote:
> > > >> John Baldwin <jhb@freebsd.org> writes:
> > > >>=20
> > > >> > On Tuesday 10 March 2009 10:08:59 am Arno J. Klaassen wrote:
> > > >> >>=20
> > > >> >> Hello,
> > > >> >>=20
> > > >> >> 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 agai=
n.
> > > >> >
> > > >> > 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=20
> > > > disabling the code that sets the INTx_MASK flag in the PCI command =
register=20
> > > > in sys/dev/pci/pci.c:pci_setup_intr()?
> > >=20
> > > 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.
> >=20
> > if rid is 0, the chip should be using INTx.  if rid > 0 then it should
> > be using MSI.
> >=20
> >=20
> >                         }
> >                         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, irq=
,
> >                             cookie);
> >                         return (error);
> >=20
>=20
> If my memory serve me right, some Broadcom controllers reset PCI
> configuration registers in bge_reset() so bge(4) restores some
> important PCI configuration registers. I didn't check bge(4) code
> but it's possible that bge(4) didn't restore MSI enable bit in
> bge_reset().

If it is actually issuing a RST, then it should turn off msi and enable
INTx, according to the spec.  Without looking at the driver, the RST
should happen before bus_setup_intr();

robert.

> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"
--=20
Robert Noland <rnoland@FreeBSD.org>
FreeBSD

--=-h8I33M6Qjt9zIonvqbSY
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)

iEYEABECAAYFAkm3Cd4ACgkQM4TrQ4qfROPJ3ACfdCtoRwyC925yUUKht9ZQRjRM
YQUAoIJxV6q54iEDIceczmQvpkVQhiFw
=CXHg
-----END PGP SIGNATURE-----

--=-h8I33M6Qjt9zIonvqbSY--




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