From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 14/14] drm/msm/a5xx: Support per-instance pagetables Date: Wed, 21 Feb 2018 15:59:24 -0700 Message-ID: <20180221225924.30737-15-jcrouse@codeaurora.org> References: <20180221225924.30737-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221225924.30737-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: jean-philippe.brucker-5wv7dgnIgG8@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, vivek.gautam-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org QWRkIHN1cHBvcnQgZm9yIHBlci1pbnN0YW5jZSBwYWdldGFibGVzIGZvciA1WFggdGFyZ2V0cy4g Q3JlYXRlIGEgc3VwcG9ydApidWZmZXIgZm9yIHByZWVtcHRpb24gdG8gaG9sZCB0aGUgU01NVSBw YWdldGFibGUgaW5mb3JtYXRpb24gZm9yIGEgcHJlZW1wdGVkCnJpbmcsIGVuYWJsZSBUVEJSMSB0 byBzdXBwb3J0IHNwbGl0IHBhZ2V0YWJsZXMgYW5kIGFkZCB0aGUgbmVjZXNzYXJ5IFBNNApjb21t YW5kcyB0byB0cmlnZ2VyIGEgcGFnZXRhYmxlIHN3aXRjaCBhdCB0aGUgYmVnaW5uaW5nIG9mIGEg dXNlciBjb21tYW5kLgoKU2lnbmVkLW9mZi1ieTogSm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2Rl YXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2dwdS5jICAg ICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5v L2E1eHhfZ3B1LmggICAgIHwgMTcgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8v YTV4eF9wcmVlbXB0LmMgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMgICB8IDExICsrKysrCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmggICB8ICA1ICsrCiBkcml2ZXJzL2dwdS9k cm0vbXNtL21zbV9yaW5nYnVmZmVyLmggICAgICB8ICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgMTUy IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9h NXh4X2dwdS5jCmluZGV4IGMxMDY2MDY4ODdlMi4uZTVkOGRmOGU4ZTEyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2dwdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2E1eHhfZ3B1LmMKQEAgLTE0MCw2ICsxNDAsNTkgQEAgc3RhdGljIHZvaWQg YTV4eF9mbHVzaChzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1Y3QgbXNtX3JpbmdidWZmZXIgKnJp bmcpCiAJCWdwdV93cml0ZShncHUsIFJFR19BNVhYX0NQX1JCX1dQVFIsIHdwdHIpOwogfQogCitz dGF0aWMgdm9pZCBhNXh4X3NldF9wYWdldGFibGUoc3RydWN0IG1zbV9ncHUgKmdwdSwgc3RydWN0 IG1zbV9yaW5nYnVmZmVyICpyaW5nLAorCXN0cnVjdCBtc21fZmlsZV9wcml2YXRlICpjdHgpCit7 CisJdTY0IHR0YnI7CisJdTMyIGFzaWQ7CisKKwlpZiAobXNtX2lvbW11X3Bhc2lkX2luZm8oY3R4 LT5hc3BhY2UtPm1tdSwgJnR0YnIsICZhc2lkKSkKKwkJcmV0dXJuOworCisJdHRiciA9IHR0YnIg fCAoKHU2NCkgYXNpZCkgPDwgNDg7CisKKwkvKiBUdXJuIG9mZiBwcm90ZWN0ZWQgbW9kZSAqLwor CU9VVF9QS1Q3KHJpbmcsIENQX1NFVF9QUk9URUNURURfTU9ERSwgMSk7CisJT1VUX1JJTkcocmlu ZywgMCk7CisKKwkvKiBUdXJuIG9uIEFQSVYgbW9kZSB0byBhY2Nlc3MgY3JpdGljYWwgcmVnaW9u cyAqLworCU9VVF9QS1Q0KHJpbmcsIFJFR19BNVhYX0NQX0NOVEwsIDEpOworCU9VVF9SSU5HKHJp bmcsIDEpOworCisJLyogTWFrZSBzdXJlIHRoZSBNRSBpcyBzeW5jaHJvbml6ZWQgYmVmb3JlIHN0 YXJpbmcgdGhlIHVwZGF0ZSAqLworCU9VVF9QS1Q3KHJpbmcsIENQX1dBSVRfRk9SX01FLCAwKTsK KworCS8qIEV4ZWN1dGUgdGhlIHRhYmxlIHVwZGF0ZSAqLworCU9VVF9QS1Q3KHJpbmcsIENQX1NN TVVfVEFCTEVfVVBEQVRFLCAzKTsKKwlPVVRfUklORyhyaW5nLCBsb3dlcl8zMl9iaXRzKHR0YnIp KTsKKwlPVVRfUklORyhyaW5nLCB1cHBlcl8zMl9iaXRzKHR0YnIpKTsKKwlPVVRfUklORyhyaW5n LCAwKTsKKworCS8qCisJICogV3JpdGUgdGhlIG5ldyBUVEJSMCB0byB0aGUgcHJlZW1wdGlvbiBy ZWNvcmRzIC0gdGhpcyB3aWxsIGJlIHVzZWQgdG8KKwkgKiByZWxvYWQgdGhlIHBhZ2V0YWJsZSBp ZiB0aGUgY3VycmVudCByaW5nIGdldHMgcHJlZW1wdGVkIG91dC4KKwkgKi8KKwlPVVRfUEtUNyhy aW5nLCBDUF9NRU1fV1JJVEUsIDQpOworCU9VVF9SSU5HKHJpbmcsIGxvd2VyXzMyX2JpdHMocmJt ZW1wdHIocmluZywgdHRicjApKSk7CisJT1VUX1JJTkcocmluZywgdXBwZXJfMzJfYml0cyhyYm1l bXB0cihyaW5nLCB0dGJyMCkpKTsKKwlPVVRfUklORyhyaW5nLCBsb3dlcl8zMl9iaXRzKHR0YnIp KTsKKwlPVVRfUklORyhyaW5nLCB1cHBlcl8zMl9iaXRzKHR0YnIpKTsKKworCS8qIEludmFsaWRh dGUgdGhlIGRyYXcgc3RhdGUgc28gd2Ugc3RhcnQgb2ZmIGZyZXNoICovCisJT1VUX1BLVDcocmlu ZywgQ1BfU0VUX0RSQVdfU1RBVEUsIDMpOworCU9VVF9SSU5HKHJpbmcsIDB4NDAwMDApOworCU9V VF9SSU5HKHJpbmcsIDEpOworCU9VVF9SSU5HKHJpbmcsIDApOworCisJLyogVHVybiBvZmYgQVBS SVYgKi8KKwlPVVRfUEtUNChyaW5nLCBSRUdfQTVYWF9DUF9DTlRMLCAxKTsKKwlPVVRfUklORyhy aW5nLCAwKTsKKworCS8qIFR1cm4gb2ZmIHByb3RlY3RlZCBtb2RlICovCisJT1VUX1BLVDcocmlu ZywgQ1BfU0VUX1BST1RFQ1RFRF9NT0RFLCAxKTsKKwlPVVRfUklORyhyaW5nLCAxKTsKK30KKwog c3RhdGljIHZvaWQgYTV4eF9zdWJtaXQoc3RydWN0IG1zbV9ncHUgKmdwdSwgc3RydWN0IG1zbV9n ZW1fc3VibWl0ICpzdWJtaXQsCiAJc3RydWN0IG1zbV9maWxlX3ByaXZhdGUgKmN0eCkKIHsKQEAg LTE0OSw2ICsyMDIsOCBAQCBzdGF0aWMgdm9pZCBhNXh4X3N1Ym1pdChzdHJ1Y3QgbXNtX2dwdSAq Z3B1LCBzdHJ1Y3QgbXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCwKIAlzdHJ1Y3QgbXNtX3JpbmdidWZm ZXIgKnJpbmcgPSBzdWJtaXQtPnJpbmc7CiAJdW5zaWduZWQgaW50IGksIGlicyA9IDA7CiAKKwlh NXh4X3NldF9wYWdldGFibGUoZ3B1LCByaW5nLCBjdHgpOworCiAJT1VUX1BLVDcocmluZywgQ1Bf UFJFRU1QVF9FTkFCTEVfR0xPQkFMLCAxKTsKIAlPVVRfUklORyhyaW5nLCAweDAyKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuaCBiL2RyaXZlcnMv Z3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1LmgKaW5kZXggNmZiOGMyZjliOWU0Li41MDcwY2Ix N2Q2NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZ3B1LmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuaApAQCAtNDUsNiArNDUs OSBAQCBzdHJ1Y3QgYTV4eF9ncHUgewogCiAJYXRvbWljX3QgcHJlZW1wdF9zdGF0ZTsKIAlzdHJ1 Y3QgdGltZXJfbGlzdCBwcmVlbXB0X3RpbWVyOworCXN0cnVjdCBhNXh4X3NtbXVfaW5mbyAqc21t dV9pbmZvOworCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqc21tdV9pbmZvX2JvOworCXVpbnQ2NF90 IHNtbXVfaW5mb19pb3ZhOwogfTsKIAogI2RlZmluZSB0b19hNXh4X2dwdSh4KSBjb250YWluZXJf b2YoeCwgc3RydWN0IGE1eHhfZ3B1LCBiYXNlKQpAQCAtMTI4LDYgKzEzMSwyMCBAQCBzdHJ1Y3Qg YTV4eF9wcmVlbXB0X3JlY29yZCB7CiAgKi8KICNkZWZpbmUgQTVYWF9QUkVFTVBUX0NPVU5URVJf U0laRSAoMTYgKiA0KQogCisvKgorICogVGhpcyBpcyBhIGdsb2JhbCBzdHJ1Y3R1cmUgdGhhdCB0 aGUgcHJlZW1wdGlvbiBjb2RlIHVzZXMgdG8gc3dpdGNoIGluIHRoZQorICogcGFnZXRhYmxlIGZv ciB0aGUgcHJlZW1wdGVkIHByb2Nlc3MgLSB0aGUgY29kZSBzd2l0Y2hlcyBpbiB3aGF0ZXZlciB3 ZQorICogYWZ0ZXIgcHJlZW1wdGluZyBpbiBhIG5ldyByaW5nLgorICovCitzdHJ1Y3QgYTV4eF9z bW11X2luZm8geworCXVpbnQzMl90ICBtYWdpYzsKKwl1aW50MzJfdCAgX3BhZDQ7CisJdWludDY0 X3QgIHR0YnIwOworCXVpbnQzMl90ICBhc2lkOworCXVpbnQzMl90ICBjb250ZXh0aWRyOworfTsK KworI2RlZmluZSBBNVhYX1NNTVVfSU5GT19NQUdJQyAweDM2MThDREEzVUwKIAogaW50IGE1eHhf cG93ZXJfaW5pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KTsKIHZvaWQgYTV4eF9ncG11X3Vjb2RlX2lu aXQoc3RydWN0IG1zbV9ncHUgKmdwdSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hNXh4X3ByZWVtcHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhf cHJlZW1wdC5jCmluZGV4IDk3MGM3OTYzYWUyOS4uOGE2NjE4ZjUxZWI4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X3ByZWVtcHQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2FkcmVuby9hNXh4X3ByZWVtcHQuYwpAQCAtMTIsNiArMTIsNyBAQAogICovCiAK ICNpbmNsdWRlICJtc21fZ2VtLmgiCisjaW5jbHVkZSAibXNtX21tdS5oIgogI2luY2x1ZGUgImE1 eHhfZ3B1LmgiCiAKIC8qCkBAIC0xNDUsNiArMTQ2LDE1IEBAIHZvaWQgYTV4eF9wcmVlbXB0X3Ry aWdnZXIoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAlhNXh4X2dwdS0+cHJlZW1wdFtyaW5nLT5pZF0t PndwdHIgPSBnZXRfd3B0cihyaW5nKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyaW5nLT5s b2NrLCBmbGFncyk7CiAKKwkvKiBEbyByZWFkIGJhcnJpZXIgdG8gbWFrZSBzdXJlIHdlIGhhdmUg dXBkYXRlZCBwYWdldGFibGUgaW5mbyAqLworCXJtYigpOworCisJLyogU2V0IHRoZSBTTU1VIGlu Zm8gZm9yIHRoZSBwcmVlbXB0aW9uICovCisJaWYgKGE1eHhfZ3B1LT5zbW11X2luZm8pIHsKKwkJ YTV4eF9ncHUtPnNtbXVfaW5mby0+dHRicjAgPSByaW5nLT5tZW1wdHJzLT50dGJyMDsKKwkJYTV4 eF9ncHUtPnNtbXVfaW5mby0+Y29udGV4dGlkciA9IDA7CisJfQorCiAJLyogU2V0IHRoZSBhZGRy ZXNzIG9mIHRoZSBpbmNvbWluZyBwcmVlbXB0aW9uIHJlY29yZCAqLwogCWdwdV93cml0ZTY0KGdw dSwgUkVHX0E1WFhfQ1BfQ09OVEVYVF9TV0lUQ0hfUkVTVE9SRV9BRERSX0xPLAogCQlSRUdfQTVY WF9DUF9DT05URVhUX1NXSVRDSF9SRVNUT1JFX0FERFJfSEksCkBAIC0yMTQsOSArMjI0LDEwIEBA IHZvaWQgYTV4eF9wcmVlbXB0X2h3X2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAkJYTV4eF9n cHUtPnByZWVtcHRbaV0tPnJiYXNlID0gZ3B1LT5yYltpXS0+aW92YTsKIAl9CiAKLQkvKiBXcml0 ZSBhIDAgdG8gc2lnbmFsIHRoYXQgd2UgYXJlbid0IHN3aXRjaGluZyBwYWdldGFibGVzICovCisJ LyogVGVsbCB0aGUgQ1Agd2hlcmUgdG8gZmluZCB0aGUgc21tdV9pbmZvIGJ1ZmZlciovCiAJZ3B1 X3dyaXRlNjQoZ3B1LCBSRUdfQTVYWF9DUF9DT05URVhUX1NXSVRDSF9TTU1VX0lORk9fTE8sCi0J CVJFR19BNVhYX0NQX0NPTlRFWFRfU1dJVENIX1NNTVVfSU5GT19ISSwgMCk7CisJCVJFR19BNVhY X0NQX0NPTlRFWFRfU1dJVENIX1NNTVVfSU5GT19ISSwKKwkJYTV4eF9ncHUtPnNtbXVfaW5mb19p b3ZhKTsKIAogCS8qIFJlc2V0IHRoZSBwcmVlbXB0aW9uIHN0YXRlICovCiAJc2V0X3ByZWVtcHRf c3RhdGUoYTV4eF9ncHUsIFBSRUVNUFRfTk9ORSk7CkBAIC0yNzUsOCArMjg2LDQzIEBAIHZvaWQg YTV4eF9wcmVlbXB0X2Zpbmkoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAkJZHJtX2dlbV9vYmplY3Rf dW5yZWZlcmVuY2UoYTV4eF9ncHUtPnByZWVtcHRfYm9baV0pOwogCQlhNXh4X2dwdS0+cHJlZW1w dF9ib1tpXSA9IE5VTEw7CiAJfQorCisJaWYgKGE1eHhfZ3B1LT5zbW11X2luZm9fYm8pIHsKKwkJ aWYgKGE1eHhfZ3B1LT5zbW11X2luZm9faW92YSkKKwkJCW1zbV9nZW1fcHV0X2lvdmEoYTV4eF9n cHUtPnNtbXVfaW5mb19ibywgZ3B1LT5hc3BhY2UpOworCQlkcm1fZ2VtX29iamVjdF91bnJlZmVy ZW5jZV91bmxvY2tlZChhNXh4X2dwdS0+c21tdV9pbmZvX2JvKTsKKwkJYTV4eF9ncHUtPnNtbXVf aW5mb19ibyA9IE5VTEw7CisJfQogfQogCitzdGF0aWMgaW50IGE1eHhfc21tdV9pbmZvX2luaXQo c3RydWN0IG1zbV9ncHUgKmdwdSkKK3sKKwlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSA9 IHRvX2FkcmVub19ncHUoZ3B1KTsKKwlzdHJ1Y3QgYTV4eF9ncHUgKmE1eHhfZ3B1ID0gdG9fYTV4 eF9ncHUoYWRyZW5vX2dwdSk7CisJc3RydWN0IGE1eHhfc21tdV9pbmZvICpwdHI7CisJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpibzsKKwl1NjQgaW92YTsKKworCWlmICghbXNtX21tdV9oYXNfZmVh dHVyZShncHUtPmFzcGFjZS0+bW11LAorCQkJTU1VX0ZFQVRVUkVfUEVSX0lOU1RBTkNFX1RBQkxF UykpCisJCXJldHVybiAwOworCisJcHRyID0gbXNtX2dlbV9rZXJuZWxfbmV3KGdwdS0+ZGV2LCBz aXplb2Yoc3RydWN0IGE1eHhfc21tdV9pbmZvKSwKKwkJTVNNX0JPX1VOQ0FDSEVELCBncHUtPmFz cGFjZSwgJmJvLCAmaW92YSk7CisKKwlpZiAoSVNfRVJSKHB0cikpCisJCXJldHVybiBQVFJfRVJS KHB0cik7CisKKwlwdHItPm1hZ2ljID0gQTVYWF9TTU1VX0lORk9fTUFHSUM7CisKKwlhNXh4X2dw dS0+c21tdV9pbmZvX2JvID0gYm87CisJYTV4eF9ncHUtPnNtbXVfaW5mb19pb3ZhID0gaW92YTsK KwlhNXh4X2dwdS0+c21tdV9pbmZvID0gcHRyOworCisJcmV0dXJuIDA7Cit9CisKKwogdm9pZCBh NXh4X3ByZWVtcHRfaW5pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogewogCXN0cnVjdCBhZHJlbm9f Z3B1ICphZHJlbm9fZ3B1ID0gdG9fYWRyZW5vX2dwdShncHUpOwpAQCAtMjg4LDE3ICszMzQsMjEg QEAgdm9pZCBhNXh4X3ByZWVtcHRfaW5pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCQlyZXR1cm47 CiAKIAlmb3IgKGkgPSAwOyBpIDwgZ3B1LT5ucl9yaW5nczsgaSsrKSB7Ci0JCWlmIChwcmVlbXB0 X2luaXRfcmluZyhhNXh4X2dwdSwgZ3B1LT5yYltpXSkpIHsKLQkJCS8qCi0JCQkgKiBPbiBhbnkg ZmFpbHVyZSBvdXIgYWR2ZW50dXJlIGlzIG92ZXIuIENsZWFuIHVwIGFuZAotCQkJICogc2V0IG5y X3JpbmdzIHRvIDEgdG8gZm9yY2UgcHJlZW1wdGlvbiBvZmYKLQkJCSAqLwotCQkJYTV4eF9wcmVl bXB0X2ZpbmkoZ3B1KTsKLQkJCWdwdS0+bnJfcmluZ3MgPSAxOwotCi0JCQlyZXR1cm47Ci0JCX0K KwkJaWYgKHByZWVtcHRfaW5pdF9yaW5nKGE1eHhfZ3B1LCBncHUtPnJiW2ldKSkKKwkJCWdvdG8g ZmFpbDsKIAl9CiAKLQl0aW1lcl9zZXR1cCgmYTV4eF9ncHUtPnByZWVtcHRfdGltZXIsIGE1eHhf cHJlZW1wdF90aW1lciwgMCk7CisJaWYgKGE1eHhfc21tdV9pbmZvX2luaXQoZ3B1KSkKKwkJZ290 byBmYWlsOworCisJCXRpbWVyX3NldHVwKCZhNXh4X2dwdS0+cHJlZW1wdF90aW1lciwgYTV4eF9w cmVlbXB0X3RpbWVyLCAwKTsKKworCXJldHVybjsKK2ZhaWw6CisJLyoKKwkgKiBPbiBhbnkgZmFp bHVyZSBvdXIgYWR2ZW50dXJlIGlzIG92ZXIuIENsZWFuIHVwIGFuZAorCSAqIHNldCBucl9yaW5n cyB0byAxIHRvIGZvcmNlIHByZWVtcHRpb24gb2ZmCisJICovCisJYTV4eF9wcmVlbXB0X2Zpbmko Z3B1KTsKKwlncHUtPm5yX3JpbmdzID0gMTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2Fk cmVub19ncHUuYwppbmRleCBkZTYzZmYyNmEwNjIuLmNjY2Q0MzdlNmVhMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYwpAQCAtNTUyLDYgKzU1MiwxNyBAQCBpbnQgYWRy ZW5vX2dwdV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYsCiAJYWRyZW5vX2dwdV9jb25maWcuaW9uYW1lID0gImtnc2xfM2QwX3JlZ19tZW1v cnkiOwogCWFkcmVub19ncHVfY29uZmlnLmlycW5hbWUgPSAia2dzbF8zZDBfaXJxIjsKIAorCWlm IChhZHJlbm9faXNfYTV4eChhZHJlbm9fZ3B1KSkgeworCQkvKgorCQkgKiBJZiBwb3NzaWJsZSB1 c2UgdGhlIFRUQlIxIHZpcnR1YWwgYWRkcmVzcyBzcGFjZSBmb3IgYWxsIHRoZQorCQkgKiAiZ2xv YmFsIiBidWZmZXIgb2JqZWN0cyB3aGljaCBhcmUgc2hhcmVkIGJldHdlZW4gcHJvY2Vzc2VzLgor CQkgKiBUaGlzIGxlYXZlcyB0aGUgbG93ZXIgdmlydHVhbCBhZGRyZXNzIHNwYWNlIG9wZW4gZm9y CisJCSAqIHBlci1pbnN0YW5jZSBwYWdhYmxlcyBpZiB0aGV5IGFyZSBhdmFpbGFibGUKKwkJICov CisJCWFkcmVub19ncHVfY29uZmlnLnZhX3N0YXJ0X2dsb2JhbCA9IDB4ZmZmZmZmZjgwMDAwMDAw MFVMTDsKKwkJYWRyZW5vX2dwdV9jb25maWcudmFfZW5kX2dsb2JhbCA9IDB4ZmZmZmZmZjhmZmZm ZmZmZlVMTDsKKwl9CisKIAlhZHJlbm9fZ3B1X2NvbmZpZy52YV9zdGFydCA9IFNaXzE2TTsKIAlh ZHJlbm9fZ3B1X2NvbmZpZy52YV9lbmQgPSAweGZmZmZmZmZmOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hZHJlbm9fZ3B1LmgKaW5kZXggOGQzZDBhOTI0OTA4Li4xYjIwMjFjODg0ZjcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmgKQEAgLTE5Nyw2ICsxOTcsMTEg QEAgc3RhdGljIGlubGluZSBpbnQgYWRyZW5vX2lzX2E1MzAoc3RydWN0IGFkcmVub19ncHUgKmdw dSkKIAlyZXR1cm4gZ3B1LT5yZXZuID09IDUzMDsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGFk cmVub19pc19hNXh4KHN0cnVjdCBhZHJlbm9fZ3B1ICpncHUpCit7CisJcmV0dXJuICgoZ3B1LT5y ZXZuID49IDUwMCkgJiAoZ3B1LT5yZXZuIDwgNjAwKSk7Cit9CisKIGludCBhZHJlbm9fZ2V0X3Bh cmFtKHN0cnVjdCBtc21fZ3B1ICpncHUsIHVpbnQzMl90IHBhcmFtLCB1aW50NjRfdCAqdmFsdWUp OwogY29uc3Qgc3RydWN0IGZpcm13YXJlICphZHJlbm9fcmVxdWVzdF9mdyhzdHJ1Y3QgYWRyZW5v X2dwdSAqYWRyZW5vX2dwdSwKIAkJY29uc3QgY2hhciAqZnduYW1lKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX3JpbmdidWZmZXIuaAppbmRleCBjZmZjZTA5NGFlY2IuLmZkNzE0ODRkNTg5NCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX3JpbmdidWZmZXIuaApAQCAtMjYsNiArMjYsNyBAQAogc3RydWN0IG1z bV9yYm1lbXB0cnMgewogCXZvbGF0aWxlIHVpbnQzMl90IHJwdHI7CiAJdm9sYXRpbGUgdWludDMy X3QgZmVuY2U7CisJdm9sYXRpbGUgdWludDY0X3QgdHRicjA7CiB9OwogCiBzdHJ1Y3QgbXNtX3Jp bmdidWZmZXIgewotLSAKMi4xNi4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9mcmVlZHJlbm8K