Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jun 2009 15:13:51 -0500
From:      Robert Noland <rnoland@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r194644 - head/sys/dev/pci
Message-ID:  <1245701631.1761.22.camel@balrog.2hip.net>
In-Reply-To: <200906222008.n5MK87qh050928@svn.freebsd.org>
References:  <200906222008.n5MK87qh050928@svn.freebsd.org>

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

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

On Mon, 2009-06-22 at 20:08 +0000, John Baldwin wrote:
> Author: jhb
> Date: Mon Jun 22 20:08:06 2009
> New Revision: 194644
> URL: http://svn.freebsd.org/changeset/base/194644
>=20
> Log:
>   Enable MSI in the MSI capability registers any time that the first mess=
age
>   in an MSI group is enabled, not just if the address/data pair are not
>   initialized.

This should fix the issues with broken interrupts with drm on Intel
graphics chips using msi.  That is the slow windows after VT Switch
issue.  It however is still currently broken on HEAD due to another
issue, which will hopefully be resolved soon.

robert.
 =20
>   Reported by:	rnoland
>   MFC after:	1 week
>=20
> Modified:
>   head/sys/dev/pci/pci.c
>=20
> Modified: head/sys/dev/pci/pci.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/sys/dev/pci/pci.c	Mon Jun 22 19:35:39 2009	(r194643)
> +++ head/sys/dev/pci/pci.c	Mon Jun 22 20:08:06 2009	(r194644)
> @@ -2883,8 +2883,10 @@ pci_setup_intr(device_t dev, device_t ch
>  					goto bad;
>  				dinfo->cfg.msi.msi_addr =3D addr;
>  				dinfo->cfg.msi.msi_data =3D data;
> -				pci_enable_msi(child, addr, data);
>  			}
> +			if (dinfo->cfg.msi.msi_handlers =3D=3D 0)
> +				pci_enable_msi(child, dinfo->cfg.msi.msi_addr,
> +				    dinfo->cfg.msi.msi_data);
>  			dinfo->cfg.msi.msi_handlers++;
>  		} else {
>  			KASSERT(dinfo->cfg.msix.msix_alloc > 0,
--=20
Robert Noland <rnoland@FreeBSD.org>
FreeBSD

--=-b6nYufckr34JTA/TVGss
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)

iEYEABECAAYFAko/5f8ACgkQM4TrQ4qfROMU8ACeOZviG8vpOiACUm0FQ3+79aUI
hY8AmgNs3BqY1XVF+77KJ4J75PkRtTz1
=tFqk
-----END PGP SIGNATURE-----

--=-b6nYufckr34JTA/TVGss--




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