Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757091AbXJ2IQL (ORCPT ); Mon, 29 Oct 2007 04:16:11 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752304AbXJ2IP6 (ORCPT ); Mon, 29 Oct 2007 04:15:58 -0400 Received: from gir.skynet.ie ([193.1.99.77]:34328 "EHLO gir.skynet.ie" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752626AbXJ2IP4 (ORCPT ); Mon, 29 Oct 2007 04:15:56 -0400 Date: Mon, 29 Oct 2007 08:15:54 +0000 (GMT) From: Dave Airlie To: linux-kernel@vger.kernel.org, dri-devel@lists.sourceforge.net cc: keithp@keithp.com Subject: [RFC] AGP initial support for chipset flushing.. Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="29444707-807193135-1193645754=:1170" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 18887 Lines: 327 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --29444707-807193135-1193645754=:1170 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, We've uncovered a need when using the new memory manager to flush the chipset global write buffers on certain intel chipset due to a lack of coherency.. The attached patches add a new AGP interface for this purpose and implements this in the Intel AGP driver. This stuff is based of some guesswork in the 915 case from comments in the documentation :). Unfortuantely the 965 BIOS doesn't set this stuff up properly and it doesn't use a standard BAR address, so I have to do it by hand, I'd appreciate any commentary particularly in the setting up of the resource stuff. Regards, Dave. --29444707-807193135-1193645754=:1170 Content-Type: TEXT/x-diff; charset=US-ASCII; name=0001-agp-add-chipset-flushing-support-to-AGP-interface.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=0001-agp-add-chipset-flushing-support-to-AGP-interface.patch RnJvbSBiOWRjZjUxNGQwZjFmNjFkYzQ4MmNhYzYyMmZmZDJkNzlkNTAwYmY4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogRGF2ZSBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+DQpEYXRlOiBNb24sIDI5IE9jdCAyMDA3IDE1 OjE0OjAzICsxMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIGFncDogYWRkIGNoaXBz ZXQgZmx1c2hpbmcgc3VwcG9ydCB0byBBR1AgaW50ZXJmYWNlDQoNClRoaXMg YnVtcHMgdGhlIEFHUCBpbnRlcmZhY2UgdG8gMC4xMDMuDQoNCkNlcnRhaW4g SW50ZWwgY2hpcHNldHMgY29udGFpbnMgYSBnbG9iYWwgd3JpdGUgYnVmZmVy LCBhbmQgdGhpcyBjYW4gcmVxdWlyZQ0KZmx1c2hpbmcgZnJvbSB0aGUgZHJt IG9yIFgub3JnIHRvIG1ha2Ugc3VyZSBhbGwgZGF0YSBoYXMgaGl0IFJBTSBi ZWZvcmUNCmluaXRpYXRpbmcgYSBHUFUgdHJhbnNmZXIsIGR1ZSB0byBhIGxh Y2sgb2YgY29oZXJlbmN5IHdpdGggdGhlIGludGVncmF0ZWQNCmdyYXBoaWNz IGRldmljZSBhbmQgdGhpcyBidWZmZXIuDQoNClRoaXMganVzdCBhZGRzIGdl bmVyaWMgc3VwcG9ydCB0byB0aGUgQUdQIGludGVyZmFjZXMsIGEgZm9sbG93 LW9uIHBhdGNoDQp3aWxsIGFkZCBzdXBwb3J0IHRvIHRoZSBJbnRlbCBkcml2 ZXIgdG8gdXNlIHRoaXMgaW50ZXJmYWNlLg0KDQpTaWduZWQtb2ZmLWJ5OiBE YXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPg0KLS0tDQogZHJpdmVy cy9jaGFyL2FncC9hZ3AuaCAgICAgICAgICB8ICAgIDMgKystDQogZHJpdmVy cy9jaGFyL2FncC9iYWNrZW5kLmMgICAgICB8ICAgIDIgKy0NCiBkcml2ZXJz L2NoYXIvYWdwL2NvbXBhdF9pb2N0bC5jIHwgICAgNCArKysrDQogZHJpdmVy cy9jaGFyL2FncC9jb21wYXRfaW9jdGwuaCB8ICAgIDIgKysNCiBkcml2ZXJz L2NoYXIvYWdwL2Zyb250ZW5kLmMgICAgIHwgICAxMSArKysrKysrKysrKw0K IGRyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jICAgICAgfCAgICA3ICsrKysr KysNCiBpbmNsdWRlL2xpbnV4L2FncF9iYWNrZW5kLmggICAgIHwgICAgMSAr DQogaW5jbHVkZS9saW51eC9hZ3BnYXJ0LmggICAgICAgICB8ICAgIDEgKw0K IDggZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvYWdwLmgg Yi9kcml2ZXJzL2NoYXIvYWdwL2FncC5oDQppbmRleCBiODM4MjRjLi45ZWM5 Mzc0IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jaGFyL2FncC9hZ3AuaA0KKysr IGIvZHJpdmVycy9jaGFyL2FncC9hZ3AuaA0KQEAgLTExNyw3ICsxMTcsOCBA QCBzdHJ1Y3QgYWdwX2JyaWRnZV9kcml2ZXIgew0KIAl2b2lkICgqZnJlZV9i eV90eXBlKShzdHJ1Y3QgYWdwX21lbW9yeSAqKTsNCiAJdm9pZCAqKCphZ3Bf YWxsb2NfcGFnZSkoc3RydWN0IGFncF9icmlkZ2VfZGF0YSAqKTsNCiAJdm9p ZCAoKmFncF9kZXN0cm95X3BhZ2UpKHZvaWQgKiwgaW50IGZsYWdzKTsNCi0g ICAgICAgIGludCAoKmFncF90eXBlX3RvX21hc2tfdHlwZSkgKHN0cnVjdCBh Z3BfYnJpZGdlX2RhdGEgKiwgaW50KTsNCisJaW50ICgqYWdwX3R5cGVfdG9f bWFza190eXBlKSAoc3RydWN0IGFncF9icmlkZ2VfZGF0YSAqLCBpbnQpOw0K Kwl2b2lkICgqY2hpcHNldF9mbHVzaCkoc3RydWN0IGFncF9icmlkZ2VfZGF0 YSAqKTsNCiB9Ow0KIA0KIHN0cnVjdCBhZ3BfYnJpZGdlX2RhdGEgew0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvYmFja2VuZC5jIGIvZHJpdmVy cy9jaGFyL2FncC9iYWNrZW5kLmMNCmluZGV4IDgzMmRlZDIuLmY5YzE4MGMg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NoYXIvYWdwL2JhY2tlbmQuYw0KKysr IGIvZHJpdmVycy9jaGFyL2FncC9iYWNrZW5kLmMNCkBAIC00Myw3ICs0Myw3 IEBADQogICogZml4IHNvbWUgcmVhbCBzdHVwaWRpdHkuIEl0J3Mgb25seSBi eSBjaGFuY2Ugd2UgY2FuIGJ1bXANCiAgKiBwYXN0IDAuOTkgYXQgYWxsIGR1 ZSB0byBzb21lIGJvb2xlYW4gbG9naWMgZXJyb3IuICovDQogI2RlZmluZSBB R1BHQVJUX1ZFUlNJT05fTUFKT1IgMA0KLSNkZWZpbmUgQUdQR0FSVF9WRVJT SU9OX01JTk9SIDEwMg0KKyNkZWZpbmUgQUdQR0FSVF9WRVJTSU9OX01JTk9S IDEwMw0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWdwX3ZlcnNpb24gYWdwX2N1 cnJlbnRfdmVyc2lvbiA9DQogew0KIAkubWFqb3IgPSBBR1BHQVJUX1ZFUlNJ T05fTUFKT1IsDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9jb21w YXRfaW9jdGwuYyBiL2RyaXZlcnMvY2hhci9hZ3AvY29tcGF0X2lvY3RsLmMN CmluZGV4IGVjZDQyNDguLjM5Mjc1NzkgMTAwNjQ0DQotLS0gYS9kcml2ZXJz L2NoYXIvYWdwL2NvbXBhdF9pb2N0bC5jDQorKysgYi9kcml2ZXJzL2NoYXIv YWdwL2NvbXBhdF9pb2N0bC5jDQpAQCAtMjczLDYgKzI3MywxMCBAQCBsb25n IGNvbXBhdF9hZ3BfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVk IGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQ0KIAljYXNlIEFHUElPQ19V TkJJTkQzMjoNCiAJCXJldF92YWwgPSBjb21wYXRfYWdwaW9jX3VuYmluZF93 cmFwKGN1cnJfcHJpdiwgKHZvaWQgX191c2VyICopIGFyZyk7DQogCQlicmVh azsNCisNCisJY2FzZSBBR1BJT0NfQ0hJUFNFVF9GTFVTSDMyOg0KKwkJcmV0 X3ZhbCA9IGFncGlvY19jaGlwc2V0X2ZsdXNoX3dyYXAoY3Vycl9wcml2KTsN CisJCWJyZWFrOw0KIAl9DQogDQogaW9jdGxfb3V0Og0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvY2hhci9hZ3AvY29tcGF0X2lvY3RsLmggYi9kcml2ZXJzL2No YXIvYWdwL2NvbXBhdF9pb2N0bC5oDQppbmRleCA3MTkzOWQ2Li4wYzk2Nzhh IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jaGFyL2FncC9jb21wYXRfaW9jdGwu aA0KKysrIGIvZHJpdmVycy9jaGFyL2FncC9jb21wYXRfaW9jdGwuaA0KQEAg LTM5LDYgKzM5LDcgQEANCiAjZGVmaW5lIEFHUElPQ19ERUFMTE9DQVRFMzIg X0lPVyAoQUdQSU9DX0JBU0UsIDcsIGNvbXBhdF9pbnRfdCkNCiAjZGVmaW5l IEFHUElPQ19CSU5EMzIgICAgICAgX0lPVyAoQUdQSU9DX0JBU0UsIDgsIGNv bXBhdF91cHRyX3QpDQogI2RlZmluZSBBR1BJT0NfVU5CSU5EMzIgICAgIF9J T1cgKEFHUElPQ19CQVNFLCA5LCBjb21wYXRfdXB0cl90KQ0KKyNkZWZpbmUg QUdQSU9DX0NISVBTRVRfRkxVU0gzMiBfSU8gKEFHUElPQ19CQVNFLCAxMCkN CiANCiBzdHJ1Y3QgYWdwX2luZm8zMiB7DQogCXN0cnVjdCBhZ3BfdmVyc2lv biB2ZXJzaW9uOwkvKiB2ZXJzaW9uIG9mIHRoZSBkcml2ZXIgICAgICAgICov DQpAQCAtMTAxLDUgKzEwMiw2IEBAIHZvaWQgYWdwX2ZyZWVfbWVtb3J5X3dy YXAoc3RydWN0IGFncF9tZW1vcnkgKm1lbW9yeSk7DQogc3RydWN0IGFncF9t ZW1vcnkgKmFncF9hbGxvY2F0ZV9tZW1vcnlfd3JhcChzaXplX3QgcGdfY291 bnQsIHUzMiB0eXBlKTsNCiBzdHJ1Y3QgYWdwX21lbW9yeSAqYWdwX2ZpbmRf bWVtX2J5X2tleShpbnQga2V5KTsNCiBzdHJ1Y3QgYWdwX2NsaWVudCAqYWdw X2ZpbmRfY2xpZW50X2J5X3BpZChwaWRfdCBpZCk7DQoraW50IGFncGlvY19j aGlwc2V0X2ZsdXNoX3dyYXAoc3RydWN0IGFncF9maWxlX3ByaXZhdGUgKnBy aXYpOw0KIA0KICNlbmRpZiAvKiBfQUdQX0NPTVBBVF9IICovDQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jIGIvZHJpdmVycy9j aGFyL2FncC9mcm9udGVuZC5jDQppbmRleCA3NzkxZTk4Li45YmQ1YTk1IDEw MDY0NA0KLS0tIGEvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jDQorKysg Yi9kcml2ZXJzL2NoYXIvYWdwL2Zyb250ZW5kLmMNCkBAIC05NjAsNiArOTYw LDEzIEBAIHN0YXRpYyBpbnQgYWdwaW9jX3VuYmluZF93cmFwKHN0cnVjdCBh Z3BfZmlsZV9wcml2YXRlICpwcml2LCB2b2lkIF9fdXNlciAqYXJnKQ0KIAly ZXR1cm4gYWdwX3VuYmluZF9tZW1vcnkobWVtb3J5KTsNCiB9DQogDQoraW50 IGFncGlvY19jaGlwc2V0X2ZsdXNoX3dyYXAoc3RydWN0IGFncF9maWxlX3By aXZhdGUgKnByaXYpDQorew0KKwlEQkcoIiIpOw0KKwlhZ3BfZmx1c2hfY2hp cHNldChhZ3BfYnJpZGdlKTsNCisJcmV0dXJuIDA7DQorfQ0KKw0KIHN0YXRp YyBpbnQgYWdwX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBm aWxlICpmaWxlLA0KIAkJICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25l ZCBsb25nIGFyZykNCiB7DQpAQCAtMTAzMyw2ICsxMDQwLDEwIEBAIHN0YXRp YyBpbnQgYWdwX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBm aWxlICpmaWxlLA0KIAljYXNlIEFHUElPQ19VTkJJTkQ6DQogCQlyZXRfdmFs ID0gYWdwaW9jX3VuYmluZF93cmFwKGN1cnJfcHJpdiwgKHZvaWQgX191c2Vy ICopIGFyZyk7DQogCQlicmVhazsNCisJICAgICAgIA0KKwljYXNlIEFHUElP Q19DSElQU0VUX0ZMVVNIOg0KKwkJcmV0X3ZhbCA9IGFncGlvY19jaGlwc2V0 X2ZsdXNoX3dyYXAoY3Vycl9wcml2KTsNCisJCWJyZWFrOw0KIAl9DQogDQog aW9jdGxfb3V0Og0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvZ2Vu ZXJpYy5jIGIvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMNCmluZGV4IDY0 YjJmNmQuLjhjNjdiNGYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NoYXIvYWdw L2dlbmVyaWMuYw0KKysrIGIvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMN CkBAIC04MCw2ICs4MCwxMyBAQCBzdGF0aWMgaW50IGFncF9nZXRfa2V5KHZv aWQpDQogCXJldHVybiAtMTsNCiB9DQogDQordm9pZCBhZ3BfZmx1c2hfY2hp cHNldChzdHJ1Y3QgYWdwX2JyaWRnZV9kYXRhICpicmlkZ2UpDQorew0KKwlp ZiAoYnJpZGdlLT5kcml2ZXItPmNoaXBzZXRfZmx1c2gpDQorCQlicmlkZ2Ut PmRyaXZlci0+Y2hpcHNldF9mbHVzaChicmlkZ2UpOw0KK30NCitFWFBPUlRf U1lNQk9MKGFncF9mbHVzaF9jaGlwc2V0KTsNCisNCiAvKg0KICAqIFVzZSBr bWFsbG9jIGlmIHBvc3NpYmxlIGZvciB0aGUgcGFnZSBsaXN0LiBPdGhlcndp c2UgZmFsbCBiYWNrIHRvDQogICogdm1hbGxvYy4gVGhpcyBzcGVlZHMgdGhp bmdzIHVwIGFuZCBhbHNvIHNhdmVzIG1lbW9yeSBmb3Igc21hbGwgQUdQDQpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9hZ3BfYmFja2VuZC5oIGIvaW5j bHVkZS9saW51eC9hZ3BfYmFja2VuZC5oDQppbmRleCBhYmM1MjFjLi4wM2Uz NDU0IDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9saW51eC9hZ3BfYmFja2VuZC5o DQorKysgYi9pbmNsdWRlL2xpbnV4L2FncF9iYWNrZW5kLmgNCkBAIC0xMDks NiArMTA5LDcgQEAgZXh0ZXJuIGludCBhZ3BfdW5iaW5kX21lbW9yeShzdHJ1 Y3QgYWdwX21lbW9yeSAqKTsNCiBleHRlcm4gdm9pZCBhZ3BfZW5hYmxlKHN0 cnVjdCBhZ3BfYnJpZGdlX2RhdGEgKiwgdTMyKTsNCiBleHRlcm4gc3RydWN0 IGFncF9icmlkZ2VfZGF0YSAqYWdwX2JhY2tlbmRfYWNxdWlyZShzdHJ1Y3Qg cGNpX2RldiAqKTsNCiBleHRlcm4gdm9pZCBhZ3BfYmFja2VuZF9yZWxlYXNl KHN0cnVjdCBhZ3BfYnJpZGdlX2RhdGEgKik7DQorZXh0ZXJuIHZvaWQgYWdw X2ZsdXNoX2NoaXBzZXQoc3RydWN0IGFncF9icmlkZ2VfZGF0YSAqKTsNCiAN CiAjZW5kaWYJCQkJLyogX19LRVJORUxfXyAqLw0KICNlbmRpZgkJCQkvKiBf QUdQX0JBQ0tFTkRfSCAqLw0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv YWdwZ2FydC5oIGIvaW5jbHVkZS9saW51eC9hZ3BnYXJ0LmgNCmluZGV4IDA5 ZmJmN2UuLjYyYWVmNTggMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L2Fn cGdhcnQuaA0KKysrIGIvaW5jbHVkZS9saW51eC9hZ3BnYXJ0LmgNCkBAIC0z OCw2ICszOCw3IEBADQogI2RlZmluZSBBR1BJT0NfREVBTExPQ0FURSBfSU9X IChBR1BJT0NfQkFTRSwgNywgaW50KQ0KICNkZWZpbmUgQUdQSU9DX0JJTkQg ICAgICAgX0lPVyAoQUdQSU9DX0JBU0UsIDgsIHN0cnVjdCBhZ3BfYmluZCop DQogI2RlZmluZSBBR1BJT0NfVU5CSU5EICAgICBfSU9XIChBR1BJT0NfQkFT RSwgOSwgc3RydWN0IGFncF91bmJpbmQqKQ0KKyNkZWZpbmUgQUdQSU9DX0NI SVBTRVRfRkxVU0ggX0lPIChBR1BJT0NfQkFTRSwgMTApDQogDQogI2RlZmlu ZSBBR1BfREVWSUNFICAgICAgIi9kZXYvYWdwZ2FydCINCiANCi0tIA0KMS41 LjIuNA0KDQo= --29444707-807193135-1193645754=:1170 Content-Type: TEXT/x-diff; charset=US-ASCII; name=0002-intel-agp-add-chipset-flushing-support.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=0002-intel-agp-add-chipset-flushing-support.patch RnJvbSBmZDQ5NTliNmFkOTMxZTYzOTJlMTBlZTQ2NjMzNGQwZmIyYTA1Yjk0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogRGF2ZSBBaXJsaWUg PGFpcmxpZWRAbGludXguaWU+DQpEYXRlOiBNb24sIDI5IE9jdCAyMDA3IDE4 OjA2OjEwICsxMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIGludGVsLWFncDogYWRk IGNoaXBzZXQgZmx1c2hpbmcgc3VwcG9ydA0KDQpUaGlzIGFkZHMgc3VwcG9y dCBmb3IgZmx1c2hpbmcgdGhlIGNoaXBzZXRzIG9uIHRoZSA5MTUsIDk0NSwg OTY1IGFuZCBHMzMNCmZhbWlsaWVzIG9mIEludGVsIGNoaXBzLg0KDQpUaGUg QklPUyBkb2Vzbid0IHNlZW0gdG8gYWx3YXlzIGFsbG9jYXRlIHRoZSBCQVIg b24gdGhlIDk2NSBjaGlwc2V0cw0Kc28gSSBoYXZlIHRvIHVzZSBwY2kgcmVz b3VyY2UgY29kZSB0byBjcmVhdGUgYSByZXNvdXJjZQ0KDQpJdCBhZGRzIGFu IGV4cG9ydCBmb3IgcGNpYmlvc19hbGlnbl9yZXNvdXJjZS4NCi0tLQ0KIGFy Y2gveDg2L3BjaS9pMzg2LmMgICAgICAgICAgfCAgICAyICstDQogZHJpdmVy cy9jaGFyL2FncC9pbnRlbC1hZ3AuYyB8ICAxMDIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrDQogMiBmaWxlcyBjaGFuZ2Vk LCAxMDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL2FyY2gveDg2L3BjaS9pMzg2LmMgYi9hcmNoL3g4Ni9wY2kvaTM4 Ni5jDQppbmRleCA0MmJhMGUyLi4xMDNiOWRmIDEwMDY0NA0KLS0tIGEvYXJj aC94ODYvcGNpL2kzODYuYw0KKysrIGIvYXJjaC94ODYvcGNpL2kzODYuYw0K QEAgLTcyLDcgKzcyLDcgQEAgcGNpYmlvc19hbGlnbl9yZXNvdXJjZSh2b2lk ICpkYXRhLCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywNCiAJCX0NCiAJfQ0KIH0N Ci0NCitFWFBPUlRfU1lNQk9MKHBjaWJpb3NfYWxpZ25fcmVzb3VyY2UpOw0K IA0KIC8qDQogICogIEhhbmRsZSByZXNvdXJjZXMgb2YgUENJIGRldmljZXMu ICBJZiB0aGUgd29ybGQgd2VyZSBwZXJmZWN0LCB3ZSBjb3VsZA0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvaW50ZWwtYWdwLmMgYi9kcml2ZXJz L2NoYXIvYWdwL2ludGVsLWFncC5jDQppbmRleCBkODc5NjE5Li41YmUwZDQ4 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1hZ3AuYw0K KysrIGIvZHJpdmVycy9jaGFyL2FncC9pbnRlbC1hZ3AuYw0KQEAgLTY5LDkg KzY5LDExIEBAIGV4dGVybiBpbnQgYWdwX21lbW9yeV9yZXNlcnZlZDsNCiAj ZGVmaW5lIEk5MTVfR01DSF9HTVNfU1RPTEVOXzY0TQkoMHg3IDw8IDQpDQog I2RlZmluZSBHMzNfR01DSF9HTVNfU1RPTEVOXzEyOE0gICAgICAgKDB4OCA8 PCA0KQ0KICNkZWZpbmUgRzMzX0dNQ0hfR01TX1NUT0xFTl8yNTZNICAgICAg ICgweDkgPDwgNCkNCisjZGVmaW5lIEk5MTVfSUZQQUREUiAgICAweDYwDQog DQogLyogSW50ZWwgOTY1RyByZWdpc3RlcnMgKi8NCiAjZGVmaW5lIEk5NjVf TVNBQyAweDYyDQorI2RlZmluZSBJOTY1X0lGUEFERFIgICAgMHg3MA0KIA0K IC8qIEludGVsIDc1MDUgcmVnaXN0ZXJzICovDQogI2RlZmluZSBJTlRFTF9J NzUwNV9BUFNJWkUJMHg3NA0KQEAgLTExMyw2ICsxMTUsOCBAQCBzdGF0aWMg c3RydWN0IF9pbnRlbF9wcml2YXRlIHsNCiAJICogcG9wdXAgYW5kIGZvciB0 aGUgR1RULg0KIAkgKi8NCiAJaW50IGd0dF9lbnRyaWVzOwkJCS8qIGk4MzAr ICovDQorCXZvaWQgX19pb21lbSAqZmx1c2hfcGFnZTsNCisJc3RydWN0IHJl c291cmNlIGlmcF9yZXNvdXJjZTsNCiB9IGludGVsX3ByaXZhdGU7DQogDQog c3RhdGljIGludCBpbnRlbF9pODEwX2ZldGNoX3NpemUodm9pZCkNCkBAIC03 NjksNiArNzczLDczIEBAIHN0YXRpYyBzdHJ1Y3QgYWdwX21lbW9yeSAqaW50 ZWxfaTgzMF9hbGxvY19ieV90eXBlKHNpemVfdCBwZ19jb3VudCxpbnQgdHlw ZSkNCiAJcmV0dXJuIE5VTEw7DQogfQ0KIA0KK3N0YXRpYyBpbnQgaW50ZWxf YWxsb2NfY2hpcHNldF9mbHVzaF9yZXNvdXJjZSh2b2lkKQ0KK3sNCisJaW50 IHJldDsNCisJcmV0ID0gcGNpX2J1c19hbGxvY19yZXNvdXJjZShhZ3BfYnJp ZGdlLT5kZXYtPmJ1cywgJmludGVsX3ByaXZhdGUuaWZwX3Jlc291cmNlLCBQ QUdFX1NJWkUsDQorCQkJCSAgICAgUEFHRV9TSVpFLCBQQ0lCSU9TX01JTl9N RU0sIDAsDQorCQkJCSAgICAgcGNpYmlvc19hbGlnbl9yZXNvdXJjZSwgYWdw X2JyaWRnZS0+ZGV2KTsNCisJaWYgKHJldCAhPSAwKQ0KKwkJcmV0dXJuIHJl dDsNCisNCisJcHJpbnRrKCJpbnRlbCBwcml2IGJ1cyBzdGFydCAlMDhseFxu IiwgaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2Uuc3RhcnQpOw0KKwlyZXR1 cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQgaW50ZWxfaTkxNV9zZXR1cF9j aGlwc2V0X2ZsdXNoKHZvaWQpDQorew0KKwlpbnQgcmV0Ow0KKwl1MzIgdGVt cDsNCisNCisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGFncF9icmlkZ2UtPmRl diwgSTkxNV9JRlBBRERSLCAmdGVtcCk7DQorCWlmICghKHRlbXAgJiAweDEp KSB7DQorCQlpbnRlbF9hbGxvY19jaGlwc2V0X2ZsdXNoX3Jlc291cmNlKCk7 DQorDQorCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGFncF9icmlkZ2UtPmRl diwgSTkxNV9JRlBBRERSLCAoaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2Uu c3RhcnQgJiAweGZmZmZmZmZmKSB8IDB4MSk7DQorCX0gZWxzZSB7DQorCQl0 ZW1wICY9IH4xOw0KKw0KKwkJaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2Uu c3RhcnQgPSB0ZW1wOw0KKwkJaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2Uu ZW5kID0gdGVtcCArIFBBR0VfU0laRTsNCisJCXJldCA9IHJlcXVlc3RfcmVz b3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmaW50ZWxfcHJpdmF0ZS5pZnBfcmVz b3VyY2UpOw0KKwkJaWYgKHJldCkgew0KKwkJCWludGVsX3ByaXZhdGUuaWZw X3Jlc291cmNlLnN0YXJ0ID0gMDsNCisJCQlwcmludGsoIkZhaWxlZCBpbnNl cnRpbmcgcmVzb3VyY2UgaW50byB0cmVlXG4iKTsNCisJCX0NCisJfQ0KK30N CisNCitzdGF0aWMgdm9pZCBpbnRlbF9pOTY1X2czM19zZXR1cF9jaGlwc2V0 X2ZsdXNoKHZvaWQpDQorew0KKwl1MzIgdGVtcF9oaSwgdGVtcF9sbzsNCisJ aW50IHJldDsNCisNCisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGFncF9icmlk Z2UtPmRldiwgSTk2NV9JRlBBRERSICsgNCwgJnRlbXBfaGkpOw0KKwlwY2lf cmVhZF9jb25maWdfZHdvcmQoYWdwX2JyaWRnZS0+ZGV2LCBJOTY1X0lGUEFE RFIsICZ0ZW1wX2xvKTsNCisNCisJaWYgKCEodGVtcF9sbyAmIDB4MSkpIHsN CisNCisJCWludGVsX2FsbG9jX2NoaXBzZXRfZmx1c2hfcmVzb3VyY2UoKTsN CisNCisJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoYWdwX2JyaWRnZS0+ZGV2 LCBJOTY1X0lGUEFERFIgKyA0LCAoaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3Vy Y2Uuc3RhcnQgPj4gMzIpKTsNCisJCXBjaV93cml0ZV9jb25maWdfZHdvcmQo YWdwX2JyaWRnZS0+ZGV2LCBJOTY1X0lGUEFERFIsIChpbnRlbF9wcml2YXRl LmlmcF9yZXNvdXJjZS5zdGFydCAmIDB4ZmZmZmZmZmYpIHwgMHgxKTsNCisJ CWludGVsX3ByaXZhdGUuZmx1c2hfcGFnZSA9IGlvcmVtYXBfbm9jYWNoZShp bnRlbF9wcml2YXRlLmlmcF9yZXNvdXJjZS5zdGFydCwgUEFHRV9TSVpFKTsN CisJfSBlbHNlIHsNCisJCXU2NCBsNjQ7DQorCQkNCisJCXRlbXBfbG8gJj0g fjB4MTsNCisJCWw2NCA9ICgodTY0KXRlbXBfaGkgPDwgMzIpIHwgdGVtcF9s bzsNCisNCisJCWludGVsX3ByaXZhdGUuaWZwX3Jlc291cmNlLnN0YXJ0ID0g bDY0Ow0KKwkJaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2UuZW5kID0gbDY0 ICsgUEFHRV9TSVpFOw0KKwkJcmV0ID0gcmVxdWVzdF9yZXNvdXJjZSgmaW9t ZW1fcmVzb3VyY2UsICZpbnRlbF9wcml2YXRlLmlmcF9yZXNvdXJjZSk7DQor CQlpZiAoIXJldCkgew0KKwkJCWludGVsX3ByaXZhdGUuaWZwX3Jlc291cmNl LnN0YXJ0ID0gMDsNCisJCQlwcmludGsoIkZhaWxlZCBpbnNlcnRpbmcgcmVz b3VyY2UgaW50byB0cmVlXG4iKTsNCisJCX0NCisJfQ0KK30NCisNCiBzdGF0 aWMgaW50IGludGVsX2k5MTVfY29uZmlndXJlKHZvaWQpDQogew0KIAlzdHJ1 Y3QgYXBlcl9zaXplX2luZm9fZml4ZWQgKmN1cnJlbnRfc2l6ZTsNCkBAIC03 OTcsMTUgKzg2OCw0MyBAQCBzdGF0aWMgaW50IGludGVsX2k5MTVfY29uZmln dXJlKHZvaWQpDQogCX0NCiANCiAJZ2xvYmFsX2NhY2hlX2ZsdXNoKCk7DQor DQorCS8qIHNldHVwIGEgcmVzb3VyY2UgZm9yIHRoaXMgb2JqZWN0ICovDQor CW1lbXNldCgmaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2UsIDAsIHNpemVv ZihpbnRlbF9wcml2YXRlLmlmcF9yZXNvdXJjZSkpOw0KKw0KKwlpbnRlbF9w cml2YXRlLmlmcF9yZXNvdXJjZS5uYW1lID0gIkludGVsIEZsdXNoIFBhZ2Ui Ow0KKwlpbnRlbF9wcml2YXRlLmlmcF9yZXNvdXJjZS5mbGFncyA9IElPUkVT T1VSQ0VfTUVNOw0KKw0KKwkvKiBTZXR1cCBjaGlwc2V0IGZsdXNoIGZvciA5 MTUgKi8NCisJaWYgKElTX0k5NjUgfHwgSVNfRzMzKSB7DQorCQlpbnRlbF9p OTY1X2czM19zZXR1cF9jaGlwc2V0X2ZsdXNoKCk7DQorCX0gZWxzZSB7DQor CQlpbnRlbF9pOTE1X3NldHVwX2NoaXBzZXRfZmx1c2goKTsNCisJfQ0KKw0K KwlpZiAoaW50ZWxfcHJpdmF0ZS5pZnBfcmVzb3VyY2Uuc3RhcnQpIHsNCisJ CWludGVsX3ByaXZhdGUuZmx1c2hfcGFnZSA9IGlvcmVtYXBfbm9jYWNoZShp bnRlbF9wcml2YXRlLmlmcF9yZXNvdXJjZS5zdGFydCwgUEFHRV9TSVpFKTsN CisJCWlmICghaW50ZWxfcHJpdmF0ZS5mbHVzaF9wYWdlKQ0KKwkJCXByaW50 aygidW5hYmxlIHRvIGlvcmVtYXAgZmx1c2ggIHBhZ2UgLSBubyBjaGlwc2V0 IGZsdXNoaW5nIik7DQorCX0NCisJDQogCXJldHVybiAwOw0KIH0NCiANCiBz dGF0aWMgdm9pZCBpbnRlbF9pOTE1X2NsZWFudXAodm9pZCkNCiB7DQorCWlm IChpbnRlbF9wcml2YXRlLmZsdXNoX3BhZ2UpDQorCQlpb3VubWFwKGludGVs X3ByaXZhdGUuZmx1c2hfcGFnZSk7DQogCWlvdW5tYXAoaW50ZWxfcHJpdmF0 ZS5ndHQpOw0KIAlpb3VubWFwKGludGVsX3ByaXZhdGUucmVnaXN0ZXJzKTsN CiB9DQogDQorc3RhdGljIHZvaWQgaW50ZWxfaTkxNV9jaGlwc2V0X2ZsdXNo KHN0cnVjdCBhZ3BfYnJpZGdlX2RhdGEgKmJyaWRnZSkNCit7DQorCWlmIChp bnRlbF9wcml2YXRlLmZsdXNoX3BhZ2UpDQorCQl3cml0ZWwoMSwgaW50ZWxf cHJpdmF0ZS5mbHVzaF9wYWdlKTsNCit9DQorDQogc3RhdGljIGludCBpbnRl bF9pOTE1X2luc2VydF9lbnRyaWVzKHN0cnVjdCBhZ3BfbWVtb3J5ICptZW0s b2ZmX3QgcGdfc3RhcnQsDQogCQkJCWludCB0eXBlKQ0KIHsNCkBAIC0xNzIy LDYgKzE4MjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFncF9icmlkZ2Vf ZHJpdmVyIGludGVsXzkxNV9kcml2ZXIgPSB7DQogCS5hZ3BfYWxsb2NfcGFn ZQkJPSBhZ3BfZ2VuZXJpY19hbGxvY19wYWdlLA0KIAkuYWdwX2Rlc3Ryb3lf cGFnZQk9IGFncF9nZW5lcmljX2Rlc3Ryb3lfcGFnZSwNCiAJLmFncF90eXBl X3RvX21hc2tfdHlwZSAgPSBpbnRlbF9pODMwX3R5cGVfdG9fbWFza190eXBl LA0KKwkuY2hpcHNldF9mbHVzaAkJPSBpbnRlbF9pOTE1X2NoaXBzZXRfZmx1 c2gsDQogfTsNCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IGFncF9icmlkZ2Vf ZHJpdmVyIGludGVsX2k5NjVfZHJpdmVyID0gew0KQEAgLTE3NDcsNiArMTg0 Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWdwX2JyaWRnZV9kcml2ZXIg aW50ZWxfaTk2NV9kcml2ZXIgPSB7DQogICAgICAgIC5hZ3BfYWxsb2NfcGFn ZSAgICAgICAgID0gYWdwX2dlbmVyaWNfYWxsb2NfcGFnZSwNCiAgICAgICAg LmFncF9kZXN0cm95X3BhZ2UgICAgICAgPSBhZ3BfZ2VuZXJpY19kZXN0cm95 X3BhZ2UsDQogICAgICAgIC5hZ3BfdHlwZV90b19tYXNrX3R5cGUgID0gaW50 ZWxfaTgzMF90eXBlX3RvX21hc2tfdHlwZSwNCisJLmNoaXBzZXRfZmx1c2gJ CT0gaW50ZWxfaTkxNV9jaGlwc2V0X2ZsdXNoLA0KIH07DQogDQogc3RhdGlj IGNvbnN0IHN0cnVjdCBhZ3BfYnJpZGdlX2RyaXZlciBpbnRlbF83NTA1X2Ry aXZlciA9IHsNCkBAIC0xNzk2LDYgKzE4OTcsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGFncF9icmlkZ2VfZHJpdmVyIGludGVsX2czM19kcml2ZXIgPSB7 DQogCS5hZ3BfYWxsb2NfcGFnZSAgICAgICAgID0gYWdwX2dlbmVyaWNfYWxs b2NfcGFnZSwNCiAJLmFncF9kZXN0cm95X3BhZ2UgICAgICAgPSBhZ3BfZ2Vu ZXJpY19kZXN0cm95X3BhZ2UsDQogCS5hZ3BfdHlwZV90b19tYXNrX3R5cGUg ID0gaW50ZWxfaTgzMF90eXBlX3RvX21hc2tfdHlwZSwNCisJLmNoaXBzZXRf Zmx1c2gJCT0gaW50ZWxfaTkxNV9jaGlwc2V0X2ZsdXNoLA0KIH07DQogDQog c3RhdGljIGludCBmaW5kX2dtY2godTE2IGRldmljZSkNCi0tIA0KMS41LjIu NA0KDQo= --29444707-807193135-1193645754=:1170-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/