Subject: fixes for i915 AGP
To: None <tech-x11@netbsd.org>
From: Blair Sadewitz <blair.sadewitz@gmail.com>
List: tech-x11
Date: 05/14/2007 17:25:36
------=_Part_119251_27319497.1179177936480
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

The attached patch does the following:

-- Sets the AGP aperture based upon its actual size, not the MSAC bit.
-- Allows for the 10-page allocation xf86-video-intel-2.0 wants.
-- Allows for up to 64MB of stolen memory, should the adapter want it.
 Mine only ever seems to want 8MB, though.

Also, anyone who has a "DVMT" option in their BIOS (or anything
resembling "dynamic" memory allocation) should set this to "off" or
"fixed".  If this is not done, you *will* experience crashes in X--at
least with a 945GM (I have tested this extensively on an Intel D945GTP
motherboard).

There's also new DRM memory manager code which would help with
performance if it were merged in.
Right now, the performance is lackluster to say the least, i.e. slower
than my Radeon X800GTO *without* DRI.  The advantage, of course, is
the CPU utilization.

If those with i915s could please test this, I'd appreciate it, as I'd
like to see if it breaks anything.  Otherwise, it will probably just
be committed at some point.

Regards,

--Blair

------=_Part_119251_27319497.1179177936480
Content-Type: application/octet-stream; name="i915-fixups.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="i915-fixups.patch"

SW5kZXg6IGFncHJlZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3NyYy9zeXMvZGV2
L3BjaS9hZ3ByZWcuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMQpkaWZmIC11IC1yMS4xMSBh
Z3ByZWcuaAotLS0gYWdwcmVnLmgJMjcgTWFyIDIwMDcgMDA6MzQ6MTYgLTAwMDAJMS4xMQorKysg
YWdwcmVnLmgJMjggQXByIDIwMDcgMTg6NDU6NDIgLTAwMDAKQEAgLTIyMSw5ICsyMjEsOCBAQAog
I2RlZmluZSBBR1BfSTkxNV9HVFRBRFIJCQkweDFjCiAjZGVmaW5lIEFHUF9JOTE1X0dDQzEJCQkw
eDUyCiAjZGVmaW5lIAlBR1BfSTkxNV9HQ0MxX0dNUwkJMHg3MAotI2RlZmluZSAJQUdQX0k5MTVf
R0NDMV9HTVNfU1RPTEVOXzBNCTB4MDAKLSNkZWZpbmUgCUFHUF9JOTE1X0dDQzFfR01TX1NUT0xF
Tl8xTQkweDEwCi0jZGVmaW5lIAlBR1BfSTkxNV9HQ0MxX0dNU19TVE9MRU5fOE0JMHgzMAorI2Rl
ZmluZSAJQUdQX0k5MTVfR0NDMV9HTVNfU1RPTEVOXzQ4TQkweDYwCisjZGVmaW5lIAlBR1BfSTkx
NV9HQ0MxX0dNU19TVE9MRU5fNjRNCTB4NzAKICNkZWZpbmUgQUdQX0k5MTVfTVNBQwkJCTB4NjIK
ICNkZWZpbmUgCUFHUF9JOTE1X01TQUNfQVBFUl8xMjhNCQkweDAyCiAKSW5kZXg6IGFncF9pODEw
LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3Qvc3JjL3N5cy9kZXYvcGNpL2FncF9pODEw
LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDAKZGlmZiAtdSAtcjEuNDAgYWdwX2k4MTAuYwot
LS0gYWdwX2k4MTAuYwkyNCBNYXIgMjAwNyAyMzowMjoyNCAtMDAwMAkxLjQwCisrKyBhZ3BfaTgx
MC5jCTI4IEFwciAyMDA3IDE4OjQ1OjQyIC0wMDAwCkBAIC04Nyw2ICs4Nyw3IEBACiAJYnVzX3Nw
YWNlX2hhbmRsZV90IGJzaDsJCS8qIHJlZ2lzdGVyIGJ1c19zcGFjZSBoYW5kbGUgKi8KIAlidXNf
c3BhY2VfdGFnX3QgZ3R0X2JzdDsJLyogR1RUIGJ1c19zcGFjZSB0YWcgKi8KIAlidXNfc3BhY2Vf
aGFuZGxlX3QgZ3R0X2JzaDsJLyogR1RUIGJ1c19zcGFjZSBoYW5kbGUgKi8KKwlidXNfc2l6ZV90
IGd0dF9zaXplOwkJLyogR1RUIHNpemUgKi8KIAlzdHJ1Y3QgcGNpX2F0dGFjaF9hcmdzIHZnYV9w
YTsKIAogCXZvaWQgKnNjX3Bvd2VyaG9vazsKQEAgLTIyOCw3ICsyMjksNyBAQAogCQl9CiAJCWVy
cm9yID0gcGNpX21hcHJlZ19tYXAoJmlzYy0+dmdhX3BhLCBBR1BfSTkxNV9HVFRBRFIsCiAJCSAg
ICBQQ0lfTUFQUkVHX1RZUEVfTUVNLCAwLCAmaXNjLT5ndHRfYnN0LCAmaXNjLT5ndHRfYnNoLAot
CQkgICAgTlVMTCwgTlVMTCk7CisJCSAgICBOVUxMLCAmaXNjLT5ndHRfc2l6ZSk7CiAJCWlmIChl
cnJvciAhPSAwKSB7CiAJCQlhcHJpbnRfZXJyb3IoIjogY2FuJ3QgbWFwIGd0dGFkciByZWdpc3Rl
cnNcbiIpOwogCQkJLyogWFhYIHdlIHNob3VsZCByZWxlYXNlIG1tYWRyIGhlcmUgKi8KQEAgLTMx
OSw4ICszMjAsMTAgQEAKIAkJV1JJVEU0KEFHUF9JODEwX1BHVEJMX0NUTCwgcGd0YmxjdGwpOwog
CiAJCWdhdHQtPmFnX3BoeXNpY2FsID0gcGd0YmxjdGwgJiB+MTsKLQl9IGVsc2UgaWYgKGlzYy0+
Y2hpcHR5cGUgPT0gQ0hJUF9JODU1KSB7Ci0JCS8qIFRoZSA4NTVHTSBhdXRvbWF0aWNhbGx5IGlu
aXRpYWxpemVzIHRoZSAxMjhrIGdhdHQgb24gYm9vdC4gKi8KKwl9IGVsc2UgaWYgKChpc2MtPmNo
aXB0eXBlID09IENISVBfSTg1NSkgfHwgKGlzYy0+Y2hpcHR5cGUgPT0gQ0hJUF9JOTE1KSkgCisJ
eworCQkvKiBUaGUgODU1R00gYXV0b21hdGljYWxseSBpbml0aWFsaXplcyB0aGUgMTI4ayBnYXR0
IG9uIGJvb3QsCisJCXdoaWxlIHRoZSA5MTVHTSBkb2VzIHNvIHdpdGggYSAyNTZrIGdhdHQgKi8K
IAkJcGNpcmVnX3QgcmVnOwogCQl1X2ludDMyX3QgcGd0YmxjdGw7CiAJCXVfaW50MTZfdCBnY2Mx
OwpAQCAtMzQzLDQ0ICszNDYsMTYgQEAKIAkJY2FzZSBBR1BfSTg1NV9HQ0MxX0dNU19TVE9MRU5f
MzJNOgogCQkJaXNjLT5zdG9sZW4gPSAoMzI3NjggLSAxMzIpICogMTAyNCAvIDQwOTY7CiAJCQli
cmVhazsKLQkJZGVmYXVsdDoKLQkJCWlzYy0+c3RvbGVuID0gMDsKLQkJCWFwcmludF9lcnJvcigK
LQkJCSAgICAiOiB1bmtub3duIG1lbW9yeSBjb25maWd1cmF0aW9uLCBkaXNhYmxpbmdcbiIpOwot
CQkJYWdwX2dlbmVyaWNfZGV0YWNoKHNjKTsKLQkJCXJldHVybiBFSU5WQUw7Ci0JCX0KLQkJaWYg
KGlzYy0+c3RvbGVuID4gMCkgewotCQkJYXByaW50X2Vycm9yKCI6IGRldGVjdGVkICVkayBzdG9s
ZW4gbWVtb3J5XG4lcyIsCi0JCQkgICAgaXNjLT5zdG9sZW4gKiA0LCBzYy0+YXNfZGV2LmR2X3hu
YW1lKTsKLQkJfQotCi0JCS8qIEdBVFQgYWRkcmVzcyBpcyBhbHJlYWR5IGluIHRoZXJlLCBtYWtl
IHN1cmUgaXQncyBlbmFibGVkICovCi0JCXBndGJsY3RsID0gUkVBRDQoQUdQX0k4MTBfUEdUQkxf
Q1RMKTsKLQkJcGd0YmxjdGwgfD0gMTsKLQkJV1JJVEU0KEFHUF9JODEwX1BHVEJMX0NUTCwgcGd0
YmxjdGwpOwotCi0JCWdhdHQtPmFnX3BoeXNpY2FsID0gcGd0YmxjdGwgJiB+MTsKLQl9IGVsc2Ug
ewkvKiBDSElQX0k5MTUgKi8KLQkJLyogVGhlIDkxNUcgYXV0b21hdGljYWxseSBpbml0aWFsaXpl
cyB0aGUgMjU2ayBnYXR0IG9uIGJvb3QuICovCi0JCXBjaXJlZ190IHJlZzsKLQkJdV9pbnQzMl90
IHBndGJsY3RsOwotCQl1X2ludDE2X3QgZ2NjMTsKLQotCQlyZWcgPSBwY2lfY29uZl9yZWFkKHNj
LT5hc19wYywgc2MtPmFzX3RhZywgQUdQX0k5MTVfR0NDMSk7Ci0JCWdjYzEgPSAodV9pbnQxNl90
KShyZWcgPj4gMTYpOwotCQlzd2l0Y2ggKGdjYzEgJiBBR1BfSTkxNV9HQ0MxX0dNUykgewotCQlj
YXNlIEFHUF9JOTE1X0dDQzFfR01TX1NUT0xFTl8wTToKLQkJCWlzYy0+c3RvbGVuID0gMDsKKwkJ
Y2FzZSBBR1BfSTkxNV9HQ0MxX0dNU19TVE9MRU5fNDhNOgorCQkJaXNjLT5zdG9sZW4gPSAoNDkx
NTIgLSAxMzIpICogMTAyNCAvIDQwOTY7CiAJCQlicmVhazsKLQkJY2FzZSBBR1BfSTkxNV9HQ0Mx
X0dNU19TVE9MRU5fMU06Ci0JCQlpc2MtPnN0b2xlbiA9ICgxMDI0IC0gMjYwKSAqIDEwMjQgLyA0
MDk2OwotCQkJYnJlYWs7Ci0JCWNhc2UgQUdQX0k5MTVfR0NDMV9HTVNfU1RPTEVOXzhNOgotCQkJ
aXNjLT5zdG9sZW4gPSAoODE5MiAtIDI2MCkgKiAxMDI0IC8gNDA5NjsKKwkJY2FzZSBBR1BfSTkx
NV9HQ0MxX0dNU19TVE9MRU5fNjRNOgorCQkJaXNjLT5zdG9sZW4gPSAoNjU1MzYgLSAxMzIpICog
MTAyNCAvIDQwOTY7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKLQkJCWlzYy0+c3RvbGVuID0gMDsK
KwkJCS8qIFhYWCBJIHJlbW92ZWQgdGhlIEk4NTUgc3RvbGVuIDAgdmFsdWUgaW4gYWdwcmVnLmgK
KwkJCWJlY2F1c2UgaXQgaXMgdGhlIGRlZmF1bHQgY2FzZS4gKi8KKwkJCWlzYy0+c3RvbGVuID0g
MDsgCiAJCQlhcHJpbnRfZXJyb3IoCiAJCQkgICAgIjogdW5rbm93biBtZW1vcnkgY29uZmlndXJh
dGlvbiwgZGlzYWJsaW5nXG4iKTsKIAkJCWFncF9nZW5lcmljX2RldGFjaChzYyk7CkBAIC0zOTcs
NyArMzcyLDcgQEAKIAkJV1JJVEU0KEFHUF9JODEwX1BHVEJMX0NUTCwgcGd0YmxjdGwpOwogCiAJ
CWdhdHQtPmFnX3BoeXNpY2FsID0gcGd0YmxjdGwgJiB+MTsKLQl9CisJfSAKIAogCS8qCiAJICog
TWFrZSBzdXJlIHRoZSBjaGlwc2V0IGNhbiBzZWUgZXZlcnl0aGluZy4KQEAgLTQxMCw3ICszODUs
MTIgQEAKIAkJcHJpbnRmKCIlczogV0FSTklORzogdW5hYmxlIHRvIGVzdGFibGlzaCBQQ0kgcG93
ZXIgaG9va1xuIiwKIAkJICAgIHNjLT5hc19kZXYuZHZfeG5hbWUpOwogCi0jaWYgMAorI2lmIDEg
CisgICAgICAgLyogWFhYIFRoaXMgc2hvdWxkIGJlIHNvbWV0aGluZyBsaWtlOgorCSogI2lmIE5E
Uk1CQVNFID4gMCAod2hlcmUgTkRSTUJBU0UgaXMgZGVmaW5lZCBieSB0aGUgcHJlc2VuY2Ugb2YK
KwkqICBkcm1fYWdwc3VwcG9ydC5jKSAgRG9lcyB0aGF0IHNvdW5kIE9LPyAKKwkqLworCiAJLyog
ICAgICAKIAkgKiBhbm90aGVyIGRldmljZSAoZHJtKSBtYXkgbmVlZCBhY2Nlc3MgdG8gdGhpcyBy
ZWdpb24KIAkgKiB3ZSBkbyBub3QgbmVlZCBpdCBhbnltb3JlCkBAIC00ODIsMTUgKzQ2MiwxMCBA
QAogCQkJcmV0dXJuIDEyOCAqIDEwMjQgKiAxMDI0OwogCX0gZWxzZSBpZiAoaXNjLT5jaGlwdHlw
ZSA9PSBDSElQX0k4NTUpIHsKIAkJcmV0dXJuIDEyOCAqIDEwMjQgKiAxMDI0OwotCX0gZWxzZSB7
CS8qIENISVBfSTkxNSAqLwotCQl1X2ludDE2X3QgbXNhYzsKKwl9IGVsc2UgewkvKiBDSElQX0k5
MTU6IEFwZXJ0dXJlIHNpemUgaXMgMTAyNCAqIEdUVCBzaXplIGFzIHBlcgorCQkJRXJpYyBBbmhv
bHQgKi8KKwkJcmV0dXJuIGlzYy0+Z3R0X3NpemUgKiAxMDI0OwogCi0JCXJlZyA9IHBjaV9jb25m
X3JlYWQoc2MtPmFzX3BjLCBzYy0+YXNfdGFnLCBBR1BfSTkxNV9NU0FDKTsKLQkJbXNhYyA9ICh1
X2ludDE2X3QpKHJlZyA+PiAxNik7Ci0JCWlmIChtc2FjICYgQUdQX0k5MTVfTVNBQ19BUEVSXzEy
OE0pCi0JCQlyZXR1cm4gMTI4ICogMTAyNCAqIDEwMjQ7Ci0JCWVsc2UKLQkJCXJldHVybiAyNTYg
KiAxMDI0ICogMTAyNDsKIAl9CiB9CiAKQEAgLTY0OCw3ICs2MjMsNyBAQAogCQkvKgogCQkgKiBC
b2d1cyBtYXBwaW5nIGZvciB0aGUgaGFyZHdhcmUgY3Vyc29yLgogCQkgKi8KLQkJaWYgKHNpemUg
IT0gQUdQX1BBR0VfU0laRSAmJiBzaXplICE9IDQgKiBBR1BfUEFHRV9TSVpFKQorCQlpZiAoc2l6
ZSAhPSBBR1BfUEFHRV9TSVpFICYmIHNpemUgIT0gNCAqIEFHUF9QQUdFX1NJWkUgJiYgc2l6ZSAh
PSAxMCAqIEFHUF9QQUdFX1NJWkUpCiAJCQlyZXR1cm4gMDsKIAl9CiAK
------=_Part_119251_27319497.1179177936480--