From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailout1.samsung.com ([203.254.224.24]) by canuck.infradead.org with esmtp (Exim 4.63 #1 (Red Hat Linux)) id 1H4q3T-0000CK-Vj for linux-mtd@lists.infradead.org; Wed, 10 Jan 2007 21:52:45 -0500 Received: from ep_ms12_bk (mailout1.samsung.com [203.254.224.24]) by mailout1.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0JBO001OTNZMCY@mailout1.samsung.com> for linux-mtd@lists.infradead.org; Thu, 11 Jan 2007 11:52:35 +0900 (KST) Received: from ep_spt02 (ms12.samsung.com [203.254.225.99]) by ms12.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0JBO00H2VNZM79@ms12.samsung.com> for linux-mtd@lists.infradead.org; Thu, 11 Jan 2007 11:52:34 +0900 (KST) Content-return: prohibited Date: Thu, 11 Jan 2007 02:52:34 +0000 (GMT) From: Kyungmin Park Subject: [RFC PATCH] OneNAND Sync. Burst Block Read support To: "linux-mtd@lists.infradead.org" Message-id: <28494935.561371168483954805.JavaMail.weblogic@ep_ml19> MIME-version: 1.0 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-transfer-encoding: base64 Reply-To: kyungmin.park@samsung.com List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , SGksDQoNCkhlcmUncyBhbm90aGVyIE9uZU5BTkQgZmVhdHVyZSBTeW5jLiBCdXJzdCBCbG9jayBS ZWFkIChTQkJSKSBzdXBwb3J0Lg0KDQpSZWNlbnQgT25lTkFORCBjaGlwIHN1cHBvcnRzIFN5bmMu IEJ1cnN0IEJsb2NrIFJlYWQuDQpCYXNpY2FsbHkgaXQgaXMgc2ltaWxhciB3aXRoIHRoZSBwcmV2 aW91cyByZWFkLXdoaWxlLWxvYWQgZXhjZXB0IHdlIGRvbid0IGlzc3VlIG5leHQgY29tbWFuZC4N CldlIG9ubHkgc2VuZCBqdXN0IG9uZSBjb21tYW5kLiB0aGVuIE9uZU5BTkQgbG9hZCBuZXh0IHBh Z2UgdG8gYW5vdGhlciBidWZmZXIgcmFtIGF1dG9tYXRpY2FsbHkuDQoNCkJ1dCB0aGVyZSdzIG9u ZSBkZXBlbmRlbmN5LiBJdCBpcyBvbmx5IHBlcmZvcm0gd2hlbiB5b3UgY29uZmlndXJlIHlvdXIg RFJBTSAmIE9uZU5BTkQgd2l0aCBzeW5jaG9yb3VzIG1vZGUuDQpJbiB0aGUgY29kZSBpdCB3aWxs IGJlIGNoZWNrZWQuDQoNCk5vdGUgMDogV2UgZG9uJ3QgY29uc2lkZXIgdGhlIGNoaXAgYm91bmRh cnkgY29uZGl0aW9uIGluIFNCQlIgc2luY2UgaXQgaGFzIGJsb2NrIGJvdW5kYXJ5Lg0KTm90ZSAx OiBOb3cgd2Ugb25seSB1c2UgU0JCUiBpbiBhbGwgcGFnZXMuIGJ1dCBhY3R1YWxseSBpdCBzdXBw b3J0cyBzZXZlcmFsIHBhZ2VzLiBJIGRvbid0IHNlZSBhbnkgdXBwZXIgbGF5ZXIgd2hpY2ggdXNl cyBzZXJ2ZXJhbCBwYWdlIHJlcXVlc3RzIGluIE1URA0KDQoNCkFueSBjb21tZW50cyBhcmUgd2Vs Y29tZS4NCg0KVGhhbmsgeW91LA0KS3l1bmdtaW4gUGFyaw0KDQotLQ0KDQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tdGQvb25lbmFuZC9vbmVuYW5kX2Jhc2UuYyBiL2RyaXZlcnMvbXRkL29uZW5hbmQv b25lbmFuZF9iYXNlLmMNCmluZGV4IDc0ODA3NzYuLjVlMjJkN2IgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL210ZC9vbmVuYW5kL29uZW5hbmRfYmFzZS5jDQorKysgYi9kcml2ZXJzL210ZC9vbmVuYW5k L29uZW5hbmRfYmFzZS5jDQpAQCAtMTkwLDcgKzE5MCw3IEBAIHN0YXRpYyBpbnQgb25lbmFuZF9i dWZmZXJfYWRkcmVzcyhpbnQgZGF0YXJhbTEsIGludCBzZWN0b3JzLCBpbnQgY291bnQpDQogc3Rh dGljIGludCBvbmVuYW5kX2NvbW1hbmQoc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBjbWQsIGxv ZmZfdCBhZGRyLCBzaXplX3QgbGVuKQ0KIHsNCiAJc3RydWN0IG9uZW5hbmRfY2hpcCAqdGhpcyA9 IG10ZC0+cHJpdjsNCi0JaW50IHZhbHVlLCByZWFkY21kID0gMCwgYmxvY2tfY21kID0gMDsNCisJ aW50IHZhbHVlLCBibG9ja19jbWQgPSAwOw0KIAlpbnQgYmxvY2ssIHBhZ2U7DQogDQogCS8qIEFk ZHJlc3MgdHJhbnNsYXRpb24gKi8NCkBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGljIGludCBvbmVu YW5kX2NvbW1hbmQoc3RydWN0IG10ZF9pbmZvICptdGQsIGludCBjbWQsIGxvZmZfdCBhZGRyLCBz aXplX3QgbGUNCiAJaWYgKHBhZ2UgIT0gLTEpIHsNCiAJCS8qIE5vdyB3ZSB1c2UgcGFnZSBzaXpl IG9wZXJhdGlvbiAqLw0KIAkJaW50IHNlY3RvcnMgPSA0LCBjb3VudCA9IDQ7DQotCQlpbnQgZGF0 YXJhbTsNCisJCWludCBkYXRhcmFtLCByZWFkY21kID0gMDsNCiANCiAJCXN3aXRjaCAoY21kKSB7 DQogCQljYXNlIE9ORU5BTkRfQ01EX1JFQUQ6DQpAQCAtMjU0LDYgKzI1NCwyMCBAQCBzdGF0aWMg aW50IG9uZW5hbmRfY29tbWFuZChzdHJ1Y3QgbXRkX2luZm8gKm10ZCwgaW50IGNtZCwgbG9mZl90 IGFkZHIsIHNpemVfdCBsZQ0KIAkJCXJlYWRjbWQgPSAxOw0KIAkJCWJyZWFrOw0KIA0KKwkJY2Fz ZSBPTkVOQU5EX0NNRF9TWU5DX0JMT0NLX1JFQUQ6DQorCQl7DQorCQkJaW50IG5wYWdlczsNCisN CisJCQlucGFnZXMgPSAobGVuID4+IHRoaXMtPnBhZ2Vfc2hpZnQpICYgdGhpcy0+cGFnZV9tYXNr Ow0KKwkJCS8qIFdlIGFsd2F5cyByZWFkIGZyb20gRGF0YVJBTSAwICovDQorCQkJZGF0YXJhbSA9 IE9ORU5BTkRfSU5JVF9CVUZGRVJSQU0odGhpcyk7DQorCQkJcmVhZGNtZCA9IDE7DQorDQorCQkJ LyogV3JpdGUgJ0ZQQycgb2YgRmxhc2ggKi8NCisJCQl0aGlzLT53cml0ZV93b3JkKG5wYWdlcywg dGhpcy0+YmFzZSArIE9ORU5BTkRfUkVHX1NUQVJUX0FERFJFU1M1KTsNCisJCQlicmVhazsNCisJ CX0NCisNCiAJCWRlZmF1bHQ6DQogCQkJZGF0YXJhbSA9IE9ORU5BTkRfQ1VSUkVOVF9CVUZGRVJS QU0odGhpcyk7DQogCQkJYnJlYWs7DQpAQCAtNTkxLDggKzYwNSw3IEBAIHN0YXRpYyBpbnQgb25l bmFuZF9jaGVja19idWZmZXJyYW0oc3RydWN0IG10ZF9pbmZvICptdGQsIGxvZmZfdCBhZGRyKQ0K IAlpbnQgaTsNCiANCiAJYmxvY2sgPSAoaW50KSAoYWRkciA+PiB0aGlzLT5lcmFzZV9zaGlmdCk7 DQotCXBhZ2UgPSAoaW50KSAoYWRkciA+PiB0aGlzLT5wYWdlX3NoaWZ0KTsNCi0JcGFnZSAmPSB0 aGlzLT5wYWdlX21hc2s7DQorCXBhZ2UgPSAoaW50KSAoYWRkciA+PiB0aGlzLT5wYWdlX3NoaWZ0 KSAmIHRoaXMtPnBhZ2VfbWFzazsNCiANCiAJaSA9IE9ORU5BTkRfQ1VSUkVOVF9CVUZGRVJSQU0o dGhpcyk7DQogDQpAQCAtNjIxLDggKzYzNCw3IEBAIHN0YXRpYyBpbnQgb25lbmFuZF91cGRhdGVf YnVmZmVycmFtKHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBsb2ZmX3QgYWRkciwNCiAJaW50IGk7DQog DQogCWJsb2NrID0gKGludCkgKGFkZHIgPj4gdGhpcy0+ZXJhc2Vfc2hpZnQpOw0KLQlwYWdlID0g KGludCkgKGFkZHIgPj4gdGhpcy0+cGFnZV9zaGlmdCk7DQotCXBhZ2UgJj0gdGhpcy0+cGFnZV9t YXNrOw0KKwlwYWdlID0gKGludCkgKGFkZHIgPj4gdGhpcy0+cGFnZV9zaGlmdCkgJiB0aGlzLT5w YWdlX21hc2s7DQogDQogCS8qIEludmFsaWRhdGUgQnVmZmVyUkFNICovDQogCWZvciAoaSA9IDA7 IGkgPCBNQVhfQlVGRkVSUkFNOyBpKyspIHsNCkBAIC02OTQsNiArNzA2LDY4IEBAIHN0YXRpYyB2 b2lkIG9uZW5hbmRfcmVsZWFzZV9kZXZpY2Uoc3RydWN0IG10ZF9pbmZvICptdGQpDQogfQ0KIA0K IC8qKg0KKyAqIG9uZW5hbmRfcmVhZCAtIFtNVEQgSW50ZXJmYWNlXSBTeW5jLiBCdXJzdCBCbG9j ayBSZWFkIGRhdGEgZnJvbSBmbGFzaA0KKyAqIEBwYXJhbSBtdGQJCU1URCBkZXZpY2Ugc3RydWN0 dXJlDQorICogQHBhcmFtIGZyb20JCW9mZnNldCB0byByZWFkIGZyb20NCisgKiBAcGFyYW0gbGVu CQludW1iZXIgb2YgYnl0ZXMgdG8gcmVhZA0KKyAqIEBwYXJhbSByZXRsZW4JcG9pbnRlciB0byB2 YXJpYWJsZSB0byBzdG9yZSB0aGUgbnVtYmVyIG9mIHJlYWQgYnl0ZXMNCisgKiBAcGFyYW0gYnVm CQl0aGUgZGF0YWJ1ZmZlciB0byBwdXQgZGF0YQ0KKyAqDQorICogU3luYy4gQnVyc3QgQmxvY2sg UmVhZCB3aXRoIGVjYw0KKyovDQorc3RhdGljIGludCBvbmVuYW5kX3N5bmNfYmxvY2tfcmVhZChz dHJ1Y3QgbXRkX2luZm8gKm10ZCwgbG9mZl90IGZyb20sDQorCXNpemVfdCBsZW4sIHNpemVfdCAq cmV0bGVuLCB1X2NoYXIgKmJ1ZikNCit7DQorCXN0cnVjdCBvbmVuYW5kX2NoaXAgKnRoaXMgPSBt dGQtPnByaXY7DQorCXN0cnVjdCBtdGRfZWNjX3N0YXRzIHN0YXRzOw0KKwlpbnQgdGhpc2xlbiA9 IG10ZC0+d3JpdGVzaXplOw0KKwlpbnQgcmVhZCA9IDAsIHJldCA9IDA7DQorDQorCS8qIEdyYWIg dGhlIGxvY2sgYW5kIHNlZSBpZiB0aGUgZGV2aWNlIGlzIGF2YWlsYWJsZSAqLw0KKwlvbmVuYW5k X2dldF9kZXZpY2UobXRkLCBGTF9SRUFESU5HKTsNCisNCisJdGhpcy0+Y29tbWFuZChtdGQsIE9O RU5BTkRfQ01EX1NZTkNfQkxPQ0tfUkVBRCwgZnJvbSwgbGVuKTsNCisNCisJc3RhdHMgPSBtdGQt PmVjY19zdGF0czsNCisJd2hpbGUgKHJlYWQgPCBsZW4pIHsNCisJCXJldCA9IHRoaXMtPndhaXQo bXRkLCBGTF9SRUFESU5HKTsNCisJCW9uZW5hbmRfdXBkYXRlX2J1ZmZlcnJhbShtdGQsIGZyb20s ICFyZXQpOw0KKwkJaWYgKHJldCkNCisJCQlicmVhazsNCisNCisJCS8qIFJlYWQgZnJvbSBEYXRh UkFNICovDQorCQl0aGlzLT5yZWFkX2J1ZmZlcnJhbShtdGQsIE9ORU5BTkRfREFUQVJBTSwgYnVm LCAwLCB0aGlzbGVuKTsNCisJCXJlYWQgKz0gdGhpc2xlbjsNCisJCWlmIChyZWFkID09IGxlbikN CisJCQlicmVhazsNCisNCisJCWZyb20gKz0gdGhpc2xlbjsNCisJCWJ1ZiArPSB0aGlzbGVuOw0K Kw0KKwkJLyogU2V0IHVwIGZvciBuZXh0IHJlYWQgZnJvbSBidWZmZXJSQU0gKi8NCisJCU9ORU5B TkRfU0VUX05FWFRfQlVGRkVSUkFNKHRoaXMpOw0KKwl9DQorDQorCS8qIERlc2VsZWN0IGFuZCB3 YWtlIHVwIGFueW9uZSB3YWl0aW5nIG9uIHRoZSBkZXZpY2UgKi8NCisJb25lbmFuZF9yZWxlYXNl X2RldmljZShtdGQpOw0KKw0KKwkvKg0KKwkgKiBSZXR1cm4gc3VjY2VzcywgaWYgbm8gRUNDIGZh aWx1cmVzLCBlbHNlIC1FQkFETVNHDQorCSAqIGZzIGRyaXZlciB3aWxsIHRha2UgY2FyZSBvZiB0 aGF0LCBiZWNhdXNlDQorCSAqIHJldGxlbiA9PSBkZXNpcmVkIGxlbiBhbmQgcmVzdWx0ID09IC1F QkFETVNHDQorCSAqLw0KKwkqcmV0bGVuID0gcmVhZDsNCisNCisJaWYgKG10ZC0+ZWNjX3N0YXRz LmZhaWxlZCAtIHN0YXRzLmZhaWxlZCkNCisJCXJldHVybiAtRUJBRE1TRzsNCisNCisJaWYgKHJl dCkNCisJCXJldHVybiByZXQ7DQorDQorCXJldHVybiBtdGQtPmVjY19zdGF0cy5jb3JyZWN0ZWQg LSBzdGF0cy5jb3JyZWN0ZWQgPyAtRVVDTEVBTiA6IDA7DQorfQ0KKw0KKy8qKg0KICAqIG9uZW5h bmRfcmVhZCAtIFtNVEQgSW50ZXJmYWNlXSBSZWFkIGRhdGEgZnJvbSBmbGFzaA0KICAqIEBwYXJh bSBtdGQJCU1URCBkZXZpY2Ugc3RydWN0dXJlDQogICogQHBhcmFtIGZyb20JCW9mZnNldCB0byBy ZWFkIGZyb20NCkBAIC03MjEsNiArNzk1LDEwIEBAIHN0YXRpYyBpbnQgb25lbmFuZF9yZWFkKHN0 cnVjdCBtdGRfaW5mbyAqbXRkLCBsb2ZmX3QgZnJvbSwgc2l6ZV90IGxlbiwNCiAJCXJldHVybiAt RUlOVkFMOw0KIAl9DQogDQorCS8qIFN5bmMuIEJ1cnN0IEJsb2NrIFJlYWQgc3VwcG9ydCAqLw0K KwlpZiAobGVuID09IG10ZC0+ZXJhc2VzaXplICYmIFNZTkNfQkxPQ0tfUkVBRF9TVVBQT1JUKHRo aXMpKQ0KKwkJcmV0dXJuIG9uZW5hbmRfc3luY19ibG9ja19yZWFkKG10ZCwgZnJvbSwgbGVuLCBy ZXRsZW4sIGJ1Zik7DQorDQogCS8qIEdyYWIgdGhlIGxvY2sgYW5kIHNlZSBpZiB0aGUgZGV2aWNl IGlzIGF2YWlsYWJsZSAqLw0KIAlvbmVuYW5kX2dldF9kZXZpY2UobXRkLCBGTF9SRUFESU5HKTsN CiANCkBAIC03NDQsNiArODIyLDcgQEAgc3RhdGljIGludCBvbmVuYW5kX3JlYWQoc3RydWN0IG10 ZF9pbmZvICptdGQsIGxvZmZfdCBmcm9tLCBzaXplX3QgbGVuLA0KIAkJdGhpc2xlbiA9IG10ZC0+ d3JpdGVzaXplIC0gY29sdW1uOw0KIAl3aGlsZSAoIXJldCkgew0KIAkJLyogSWYgdGhlcmUgaXMg bW9yZSB0byBsb2FkIHRoZW4gc3RhcnQgbmV4dCBsb2FkICovDQorCQljb25kX3Jlc2NoZWQoKTsN CiAJCWZyb20gKz0gdGhpc2xlbjsNCiAJCWlmIChyZWFkICsgdGhpc2xlbiA8IGxlbikgew0KIAkJ CXRoaXMtPmNvbW1hbmQobXRkLCBPTkVOQU5EX0NNRF9SRUFELCBmcm9tLCBtdGQtPndyaXRlc2l6 ZSk7DQpAQCAtMTQ4MSwyOCArMTU2MCwyNyBAQCBzdGF0aWMgaW50IG9uZW5hbmRfdW5sb2NrX2Fs bChzdHJ1Y3QgbXRkX2luZm8gKm10ZCkNCiAJc3RydWN0IG9uZW5hbmRfY2hpcCAqdGhpcyA9IG10 ZC0+cHJpdjsNCiANCiAJaWYgKHRoaXMtPm9wdGlvbnMgJiBPTkVOQU5EX0hBU19VTkxPQ0tfQUxM KSB7DQorCQlzaXplX3QgbGVuID0gbXRkLT5lcmFzZXNpemU7DQorCQlsb2ZmX3Qgb2ZzID0gMDsN CisNCiAJCS8qIFdyaXRlIHVubG9jayBjb21tYW5kICovDQogCQl0aGlzLT5jb21tYW5kKG10ZCwg T05FTkFORF9DTURfVU5MT0NLX0FMTCwgMCwgMCk7DQogDQotCQkvKiBUaGVyZSdzIG5vIHJldHVy biB2YWx1ZSAqLw0KLQkJdGhpcy0+d2FpdChtdGQsIEZMX0xPQ0tJTkcpOw0KLQ0KIAkJLyogU2Fu aXR5IGNoZWNrICovDQogCQl3aGlsZSAodGhpcy0+cmVhZF93b3JkKHRoaXMtPmJhc2UgKyBPTkVO QU5EX1JFR19DVFJMX1NUQVRVUykNCiAJCSAgICAmIE9ORU5BTkRfQ1RSTF9PTkdPKQ0KIAkJCWNv bnRpbnVlOw0KIA0KIAkJLyogV29ya2Fyb3VuZCBmb3IgYWxsIGJsb2NrIHVubG9jayBpbiBERFAg Ki8NCi0JCWlmICh0aGlzLT5kZXZpY2VfaWQgJiBPTkVOQU5EX0RFVklDRV9JU19ERFApIHsNCi0J CQlsb2ZmX3Qgb2ZzOw0KLQkJCXNpemVfdCBsZW47DQotDQorCQlpZiAodGhpcy0+ZGV2aWNlX2lk ICYgT05FTkFORF9ERVZJQ0VfSVNfRERQKQ0KIAkJCS8qIDFzdCBibG9jayBvbiBhbm90aGVyIGNo aXAgKi8NCiAJCQlvZnMgPSB0aGlzLT5jaGlwc2l6ZSA+PiAxOw0KLQkJCWxlbiA9IDEgPDwgdGhp cy0+ZXJhc2Vfc2hpZnQ7DQogDQotCQkJb25lbmFuZF91bmxvY2sobXRkLCBvZnMsIGxlbik7DQot CQl9DQorCQkvKiBUbyB1cGRhdGUgbG9jayBzdGF0dXMgKi8NCisJCW9uZW5hbmRfdW5sb2NrKG10 ZCwgb2ZzLCBsZW4pOw0KKw0KKwkJLyogVGhlcmUncyBubyByZXR1cm4gdmFsdWUgKi8NCisJCXRo aXMtPndhaXQobXRkLCBGTF9MT0NLSU5HKTsNCiANCiAJCW9uZW5hbmRfY2hlY2tfbG9ja19zdGF0 dXModGhpcyk7DQogDQpAQCAtMTgxMywxMiArMTg5MSwxNCBAQCBzdGF0aWMgaW50IG9uZW5hbmRf bG9ja191c2VyX3Byb3RfcmVnKHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBsb2ZmX3QgZnJvbSwNCiAj ZW5kaWYJLyogQ09ORklHX01URF9PTkVOQU5EX09UUCAqLw0KIA0KIC8qKg0KLSAqIG9uZW5hbmRf bG9ja19zY2hlbWUgLSBDaGVjayBhbmQgc2V0IE9uZU5BTkQgbG9jayBzY2hlbWUNCisgKiBvbmVu YW5kX2NoZWNrX2ZlYXR1cmVzIC0gQ2hlY2sgYW5kIHNldCBPbmVOQU5EIGZlYXR1cmVzDQogICog QHBhcmFtIG10ZAkJTVREIGRhdGEgc3RydWN0dXJlDQogICoNCi0gKiBDaGVjayBhbmQgc2V0IE9u ZU5BTkQgbG9jayBzY2hlbWUNCisgKiBDaGVjayBhbmQgc2V0IE9uZU5BTkQgZmVhdHVycw0KKyAq IC0gbG9jayBzY2hlbWUNCisgKiAtIFN5bmMuIGJ1cnN0IGJsb2NrIHJlYWQNCiAgKi8NCi1zdGF0 aWMgdm9pZCBvbmVuYW5kX2xvY2tfc2NoZW1lKHN0cnVjdCBtdGRfaW5mbyAqbXRkKQ0KK3N0YXRp YyB2b2lkIG9uZW5hbmRfY2hlY2tfZmVhdHVyZXMoc3RydWN0IG10ZF9pbmZvICptdGQpDQogew0K IAlzdHJ1Y3Qgb25lbmFuZF9jaGlwICp0aGlzID0gbXRkLT5wcml2Ow0KIAl1bnNpZ25lZCBpbnQg ZGVuc2l0eSwgcHJvY2VzczsNCkBAIC0xODQxLDYgKzE5MjEsMTggQEAgc3RhdGljIHZvaWQgb25l bmFuZF9sb2NrX3NjaGVtZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCkNCiAJCQl0aGlzLT5vcHRpb25z IHw9IE9ORU5BTkRfSEFTX0NPTlRfTE9DSzsNCiAJCX0NCiAJfQ0KKw0KKwkvKiBDaGVjayBTeW5j LiBCdXJzdCBibG9jayByZWFkIGZlYXR1cmUgKi8NCisJaWYgKGRlbnNpdHkgPj0gT05FTkFORF9E RVZJQ0VfREVOU0lUWV8xR2IgJiYgcHJvY2Vzcykgew0KKwkJaW50IHN5c2NmZzsNCisNCisJCS8q IEl0IGhhcyBkZXBlbmRlbmN5IHdpdGggU3luYy4gQnVyc3QgUmVhZCBNb2RlICovDQorCQlzeXNj ZmcgPSB0aGlzLT5yZWFkX3dvcmQodGhpcy0+YmFzZSArIE9ORU5BTkRfUkVHX1NZU19DRkcxKTsN CisJCWlmIChzeXNjZmcgJiBPTkVOQU5EX1NZU19DRkcxX1NZTkNfUkVBRCkgew0KKwkJCXByaW50 ayhLRVJOX0RFQlVHICJTeW5jLiBCdXJzdCBCbG9jayBSZWFkIHN1cHBvcnRcbiIpOw0KKwkJCXRo aXMtPm9wdGlvbnMgfD0gT05FTkFORF9IQVNfU1lOQ19CTE9DS19SRUFEOw0KKwkJfQ0KKwl9DQog fQ0KIA0KIC8qKg0KQEAgLTE5NjksOCArMjA2MSw4IEBAIHN0YXRpYyBpbnQgb25lbmFuZF9wcm9i ZShzdHJ1Y3QgbXRkX2luZm8gKm10ZCkNCiANCiAJbXRkLT5zaXplID0gdGhpcy0+Y2hpcHNpemU7 DQogDQotCS8qIENoZWNrIE9uZU5BTkQgbG9jayBzY2hlbWUgKi8NCi0Jb25lbmFuZF9sb2NrX3Nj aGVtZShtdGQpOw0KKwkvKiBDaGVjayBPbmVOQU5EIGZlYXR1cmVzICovDQorCW9uZW5hbmRfY2hl Y2tfZmVhdHVyZXMobXRkKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtLWdpdCBhL2luY2x1 ZGUvbGludXgvbXRkL29uZW5hbmQuaCBiL2luY2x1ZGUvbGludXgvbXRkL29uZW5hbmQuaA0KaW5k ZXggZjc3NWE3YS4uZTRjM2ZiOCAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvbGludXgvbXRkL29uZW5h bmQuaA0KKysrIGIvaW5jbHVkZS9saW51eC9tdGQvb25lbmFuZC5oDQpAQCAtMTQwLDYgKzE0MCw3 IEBAIHN0cnVjdCBvbmVuYW5kX2NoaXAgew0KIC8qDQogICogSGVscGVyIG1hY3Jvcw0KICAqLw0K KyNkZWZpbmUgT05FTkFORF9JTklUX0JVRkZFUlJBTSh0aGlzKQkJKHRoaXMtPmJ1ZmZlcnJhbV9p bmRleCA9IDApDQogI2RlZmluZSBPTkVOQU5EX0NVUlJFTlRfQlVGRkVSUkFNKHRoaXMpCQkodGhp cy0+YnVmZmVycmFtX2luZGV4KQ0KICNkZWZpbmUgT05FTkFORF9ORVhUX0JVRkZFUlJBTSh0aGlz KQkJKHRoaXMtPmJ1ZmZlcnJhbV9pbmRleCBeIDEpDQogI2RlZmluZSBPTkVOQU5EX1NFVF9ORVhU X0JVRkZFUlJBTSh0aGlzKQkodGhpcy0+YnVmZmVycmFtX2luZGV4IF49IDEpDQpAQCAtMTUwLDYg KzE1MSw4IEBAIHN0cnVjdCBvbmVuYW5kX2NoaXAgew0KICNkZWZpbmUgT05FTkFORF9TRVRfU1lT X0NGRzEodiwgdGhpcykJCQkJCVwNCiAJKHRoaXMtPndyaXRlX3dvcmQodiwgdGhpcy0+YmFzZSAr IE9ORU5BTkRfUkVHX1NZU19DRkcxKSkNCiANCisjZGVmaW5lIFNZTkNfQkxPQ0tfUkVBRF9TVVBQ T1JUKHRoaXMpCQkodGhpcy0+b3B0aW9ucyAmIE9ORU5BTkRfSEFTX1NZTkNfQkxPQ0tfUkVBRCkN CisNCiAvKiBDaGVjayBieXRlIGFjY2VzcyBpbiBPbmVOQU5EICovDQogI2RlZmluZSBPTkVOQU5E X0NIRUNLX0JZVEVfQUNDRVNTKGFkZHIpCQkoYWRkciAmIDB4MSkNCiANCkBAIC0xNTgsNiArMTYx LDcgQEAgc3RydWN0IG9uZW5hbmRfY2hpcCB7DQogICovDQogI2RlZmluZSBPTkVOQU5EX0hBU19D T05UX0xPQ0sJCSgweDAwMDEpDQogI2RlZmluZSBPTkVOQU5EX0hBU19VTkxPQ0tfQUxMCQkoMHgw MDAyKQ0KKyNkZWZpbmUgT05FTkFORF9IQVNfU1lOQ19CTE9DS19SRUFECSgweDAwMDQpDQogI2Rl ZmluZSBPTkVOQU5EX1BBR0VCVUZfQUxMT0MJCSgweDEwMDApDQogDQogLyoNCmRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L210ZC9vbmVuYW5kX3JlZ3MuaCBiL2luY2x1ZGUvbGludXgvbXRkL29u ZW5hbmRfcmVncy5oDQppbmRleCBlMzFjOGY1Li5kM2IxOWExIDEwMDY0NA0KLS0tIGEvaW5jbHVk ZS9saW51eC9tdGQvb25lbmFuZF9yZWdzLmgNCisrKyBiL2luY2x1ZGUvbGludXgvbXRkL29uZW5h bmRfcmVncy5oDQpAQCAtMTEyLDYgKzExMiw3IEBADQogI2RlZmluZSBPTkVOQU5EX0NNRF9MT0NL CQkoMHgyQSkNCiAjZGVmaW5lIE9ORU5BTkRfQ01EX0xPQ0tfVElHSFQJCSgweDJDKQ0KICNkZWZp bmUgT05FTkFORF9DTURfVU5MT0NLX0FMTAkJKDB4MjcpDQorI2RlZmluZSBPTkVOQU5EX0NNRF9T WU5DX0JMT0NLX1JFQUQJKDB4MEEpDQogI2RlZmluZSBPTkVOQU5EX0NNRF9FUkFTRQkJKDB4OTQp DQogI2RlZmluZSBPTkVOQU5EX0NNRF9SRVNFVAkJKDB4RjApDQogI2RlZmluZSBPTkVOQU5EX0NN RF9PVFBfQUNDRVNTCQkoMHg2NSkNCg==