Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jan 2013 22:48:21 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Taku YAMAMOTO <taku@tackymt.homeip.net>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: [PATCH] to fix slow gen2 Intel video (i830, i845, i85x, i865) with KMS
Message-ID:  <20130125204821.GY2522@kib.kiev.ua>
In-Reply-To: <20130126050654.37ac83fd477464a911b49bf6@tackymt.homeip.net>
References:  <20130126050654.37ac83fd477464a911b49bf6@tackymt.homeip.net>

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

--hcIbdsWGSbvvNW1J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Jan 26, 2013 at 05:06:54AM +0900, Taku YAMAMOTO wrote:
> Hi all,
>=20
> A good news to owners of i830, i845, i852, i855 and i865 (a.k.a. gen2),
> who've got frustrated with the bad performance with KMS.
>=20
> I managed to track down the root cause of the slowness of gen2 with KMS a=
nd
> finally fixed it.
> The attached one-liner patch is the fix.
> (It was my surprise that the actual problem lied in agp rather than i915k=
ms.)
>=20
> --=20
> -|-__   YAMAMOTO, Taku
>  | __ <     <taku@tackymt.homeip.net>
>=20
>       - A chicken is an egg's way of producing more eggs. -

> --- sys/dev/agp/agp_i810.c.orig	2013-01-20 16:18:33.382363986 +0900
> +++ sys/dev/agp/agp_i810.c	2013-01-25 05:47:17.046570619 +0900
> @@ -2228,7 +2228,7 @@ agp_i830_chipset_flush(device_t dev)
>  	bus_write_4(sc->sc_res[0], AGP_I830_HIC, hic | (1 << 31));
>  	for (i =3D 0; i < 20000 /* 1 sec */; i++) {
>  		hic =3D bus_read_4(sc->sc_res[0], AGP_I830_HIC);
> -		if ((hic & (1 << 31)) !=3D 0)
> +		if ((hic & (1 << 31)) =3D=3D 0)
>  			break;
>  		DELAY(50);
>  	}


This looks right, comparing our (mine) code and the Linux intel-gtt.c.
Thank you for tracking it down.

Unfortunately, this magic is not documented at all. The 855GM datasheet
I have completely omits a description for the register 0x70 of the host
bridge. The only reference we are allowed to see is in the Linux agp
driver source.

I will wait a little before committing, in the hope that someone gives
the change an additional test.

--hcIbdsWGSbvvNW1J
Content-Type: application/pgp-signature

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

iQIcBAEBAgAGBQJRAu+UAAoJEJDCuSvBvK1B9pMQAIqibTx39+2PM1Urc4wL6LTM
g4IdQLQ/TQZtitVYMHEC8OtkUNlRe5xxSVTSmng8E8sk+uCFm5JiDgwDrQ6kGAsh
3mDNhsBDe+GXOa9QkaeESoeOyEPCh22LK8NBwF6bBx2cVM9LNmUtmljEEwsLIt5C
G/BJNrdV54IjIdp9F6IGUSucn695VjDQm7oJMbm0NLZyxIcKCt5oTD09ojJ59gr+
tCPvGJW8R/wSar1vk/ZpFrgJGF8ahTcbPd1hkhYVP6tXMSTJmSbUCeKWy7xTwCrj
Fl8raY/V+3BzzWR9uu5G4KFK+jYZSit20u4HEzTFD3czryoxGUffA2aPQbJpEyYA
HlbNQnZ2DvTkXjfcKfIEI87Pnhe6O5FhOOn7KbO2O55uC9MQ/pDUjsCFqH1vMdq+
IeopcAuAJorv1XwdSjRMnAy3HI96SiYKhrXQ9mo648oO2xjmYQzmBg8t1eQ6cL5y
LCMq1pYlgZISuyQKp889dtfJQgGpNFUBX8B5hlS5fVzw9vlFJ/1/nkCvxhayJuzM
SlXhxJWq8wGocg5wyZ6KqpLIQgJTDVcScOCG30opVnm0WH2clZEX3/Ma8QlED90q
YD9SRWW47BgjRP+17BaDof5WxFLxCU+bK2AlScBVzGc1S1R2/kZdi6GrwLr7XUjW
P+Ful6QsofOtoznXPHaj
=jgSn
-----END PGP SIGNATURE-----

--hcIbdsWGSbvvNW1J--



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