From: Dave Airlie Subject: [PATCH] amdgpu/pp: remove ci_smc/smumgr split. Date: Thu, 28 Sep 2017 09:04:05 +1000 Message-ID: <20170927230405.15861-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgc3BsaXQgc2VydmVz IG5vIHB1cnBvc2UsIGFuZCB3ZSBjYW4gbWFrZSBhIGJ1bmNoIG9mIGZ1bmN0aW9ucwpzdGF0aWMg bm93LgoKVGhlcmUgYXJlIGxvdHMgb2YgY2FzZXMgb2YgdGhpcyBzb3J0IG9mIHNwbGl0IGluIHRo ZSBwb3dlcnBsYXkgY29kZSwKcGxlYXNlIHN0YXJ0IGNsZWFuaW5nIHRoZW0gdXAuIElkZWFsbHkg dGhlIGZ1bmN0aW9uIHRhYmxlIGlzIGluIHRoZQpzYW1lIGZpbGUgYXMgYWxsIHRoZSBpbXBsZW1l bnRhdGlvbnMgdXNlZCBpbiBpdC4KClNpZ25lZC1vZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVk QHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL01h a2VmaWxlICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9j aV9zbWMuYyAgICB8IDg1ICsrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9zbXVtZ3IvY2lfc21jLmggICAgfCA1MiAtLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2NpX3NtdW1nci5jIHwgODYgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDE1 NCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9zbXVtZ3IvY2lfc21jLmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY2lfc211bWdyLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9zbXVtZ3IvTWFrZWZpbGUKaW5kZXggYTQyM2MwYS4uNGUyOTg4OCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL01ha2VmaWxlCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9NYWtlZmlsZQpAQCAtNCw3 ICs0LDcgQEAKIAogU01VX01HUiA9IHNtdW1nci5vIGN6X3NtdW1nci5vIHRvbmdhX3NtdW1nci5v IGZpamlfc211bWdyLm8gZmlqaV9zbWMubyBcCiAJICBwb2xhcmlzMTBfc211bWdyLm8gaWNlbGFu ZF9zbXVtZ3IubyBwb2xhcmlzMTBfc21jLm8gdG9uZ2Ffc21jLm8gXAotCSAgc211N19zbXVtZ3Iu byBpY2VsYW5kX3NtYy5vIHZlZ2ExMF9zbXVtZ3IubyBydl9zbXVtZ3IubyBjaV9zbWMubyBjaV9z bXVtZ3IubworCSAgc211N19zbXVtZ3IubyBpY2VsYW5kX3NtYy5vIHZlZ2ExMF9zbXVtZ3IubyBy dl9zbXVtZ3IubyBjaV9zbWMubwogCiBBTURfUFBfU01VTUdSID0gJChhZGRwcmVmaXggJChBTURf UFBfUEFUSCkvc211bWdyLywkKFNNVV9NR1IpKQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY2lfc21jLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9zbXVtZ3IvY2lfc21jLmMKaW5kZXggOWVlMTQzMS4uOGZiMGFhMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2NpX3NtYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jaV9zbWMuYwpAQCAtMjgsNyArMjgs NiBAQAogCiAjaW5jbHVkZSAic211bWdyLmgiCiAjaW5jbHVkZSAicHBfZGVidWcuaCIKLSNpbmNs dWRlICJjaV9zbWMuaCIKICNpbmNsdWRlICJjaV9zbXVtZ3IuaCIKICNpbmNsdWRlICJwcHNtYy5o IgogI2luY2x1ZGUgInNtdTdfaHdtZ3IuaCIKQEAgLTIwOCw3ICsyMDcsNyBAQCBzdGF0aWMgaW50 IGNpX3JlYWRfc21jX3NyYW1fZHdvcmQoc3RydWN0IHBwX2h3bWdyICpod21nciwgdWludDMyX3Qg c21jX2FkZHIsCiAJcmV0dXJuIDA7CiB9CiAKLWludCBjaV9zZW5kX21zZ190b19zbWMoc3RydWN0 IHBwX2h3bWdyICpod21nciwgdWludDE2X3QgbXNnKQorc3RhdGljIGludCBjaV9zZW5kX21zZ190 b19zbWMoc3RydWN0IHBwX2h3bWdyICpod21nciwgdWludDE2X3QgbXNnKQogewogCWludCByZXQ7 CiAKQEAgLTIyNyw3ICsyMjYsNyBAQCBpbnQgY2lfc2VuZF9tc2dfdG9fc21jKHN0cnVjdCBwcF9o d21nciAqaHdtZ3IsIHVpbnQxNl90IG1zZykKIAlyZXR1cm4gMDsKIH0KIAotaW50IGNpX3NlbmRf bXNnX3RvX3NtY193aXRoX3BhcmFtZXRlcihzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAorc3RhdGlj IGludCBjaV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoc3RydWN0IHBwX2h3bWdyICpo d21nciwKIAkJCQkJdWludDE2X3QgbXNnLCB1aW50MzJfdCBwYXJhbWV0ZXIpCiB7CiAJY2dzX3dy aXRlX3JlZ2lzdGVyKGh3bWdyLT5kZXZpY2UsIG1tU01DX01TR19BUkdfMCwgcGFyYW1ldGVyKTsK QEAgLTQ3Niw3ICs0NzUsNyBAQCBzdGF0aWMgaW50IGNpX3BvcHVsYXRlX3NpbmdsZV9ncmFwaGlj X2xldmVsKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotaW50 IGNpX3BvcHVsYXRlX2FsbF9ncmFwaGljX2xldmVscyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQor c3RhdGljIGludCBjaV9wb3B1bGF0ZV9hbGxfZ3JhcGhpY19sZXZlbHMoc3RydWN0IHBwX2h3bWdy ICpod21ncikKIHsKIAlzdHJ1Y3Qgc211N19od21nciAqZGF0YSA9IChzdHJ1Y3Qgc211N19od21n ciAqKShod21nci0+YmFja2VuZCk7CiAJc3RydWN0IGNpX3NtdW1nciAqc211X2RhdGEgPSAoc3Ry dWN0IGNpX3NtdW1nciAqKShod21nci0+c211X2JhY2tlbmQpOwpAQCAtMTI5Nyw3ICsxMjk2LDcg QEAgc3RhdGljIGludCBjaV9wb3B1bGF0ZV9zaW5nbGVfbWVtb3J5X2xldmVsKAogCXJldHVybiBy ZXN1bHQ7CiB9CiAKLWludCBjaV9wb3B1bGF0ZV9hbGxfbWVtb3J5X2xldmVscyhzdHJ1Y3QgcHBf aHdtZ3IgKmh3bWdyKQorc3RhdGljIGludCBjaV9wb3B1bGF0ZV9hbGxfbWVtb3J5X2xldmVscyhz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogewogCXN0cnVjdCBzbXU3X2h3bWdyICpkYXRhID0gKHN0 cnVjdCBzbXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKIAlzdHJ1Y3QgY2lfc211bWdyICpz bXVfZGF0YSA9IChzdHJ1Y3QgY2lfc211bWdyICopKGh3bWdyLT5zbXVfYmFja2VuZCk7CkBAIC0x OTQ0LDcgKzE5NDMsNyBAQCBzdGF0aWMgaW50IGNpX3N0YXJ0X3NtYyhzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyKQogCXJldHVybiAwOwogfQogCi1pbnQgY2lfaW5pdF9zbWNfdGFibGUoc3RydWN0IHBw X2h3bWdyICpod21ncikKK3N0YXRpYyBpbnQgY2lfaW5pdF9zbWNfdGFibGUoc3RydWN0IHBwX2h3 bWdyICpod21ncikKIHsKIAlpbnQgcmVzdWx0OwogCXN0cnVjdCBzbXU3X2h3bWdyICpkYXRhID0g KHN0cnVjdCBzbXU3X2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKQEAgLTIxMjUsNyArMjEyNCw3 IEBAIGludCBjaV9pbml0X3NtY190YWJsZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCXJldHVy biAwOwogfQogCi1pbnQgY2lfdGhlcm1hbF9zZXR1cF9mYW5fdGFibGUoc3RydWN0IHBwX2h3bWdy ICpod21ncikKK3N0YXRpYyBpbnQgY2lfdGhlcm1hbF9zZXR1cF9mYW5fdGFibGUoc3RydWN0IHBw X2h3bWdyICpod21ncikKIHsKIAlzdHJ1Y3QgY2lfc211bWdyICpjaV9kYXRhID0gKHN0cnVjdCBj aV9zbXVtZ3IgKikoaHdtZ3ItPnNtdV9iYWNrZW5kKTsKIAlTTVU3X0Rpc2NyZXRlX0ZhblRhYmxl IGZhbl90YWJsZSA9IHsgRkRPX01PREVfSEFSRFdBUkUgfTsKQEAgLTIyMTEsNyArMjIxMCw3IEBA IHN0YXRpYyBpbnQgY2lfcHJvZ3JhbV9tZW1fdGltaW5nX3BhcmFtZXRlcnMoc3RydWN0IHBwX2h3 bWdyICpod21ncikKIAlyZXR1cm4gMDsKIH0KIAotaW50IGNpX3VwZGF0ZV9zY2xrX3RocmVzaG9s ZChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQorc3RhdGljIGludCBjaV91cGRhdGVfc2Nsa190aHJl c2hvbGQoc3RydWN0IHBwX2h3bWdyICpod21ncikKIHsKIAlzdHJ1Y3Qgc211N19od21nciAqZGF0 YSA9IChzdHJ1Y3Qgc211N19od21nciAqKShod21nci0+YmFja2VuZCk7CiAJc3RydWN0IGNpX3Nt dW1nciAqc211X2RhdGEgPSAoc3RydWN0IGNpX3NtdW1nciAqKShod21nci0+c211X2JhY2tlbmQp OwpAQCAtMjI1Miw3ICsyMjUxLDcgQEAgaW50IGNpX3VwZGF0ZV9zY2xrX3RocmVzaG9sZChzdHJ1 Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCXJldHVybiByZXN1bHQ7CiB9CiAKLXVpbnQzMl90IGNpX2dl dF9vZmZzZXRvZih1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBtZW1iZXIpCitzdGF0aWMgdWludDMy X3QgY2lfZ2V0X29mZnNldG9mKHVpbnQzMl90IHR5cGUsIHVpbnQzMl90IG1lbWJlcikKIHsKIAlz d2l0Y2ggKHR5cGUpIHsKIAljYXNlIFNNVV9Tb2Z0UmVnaXN0ZXJzOgpAQCAtMjI3OCw3ICsyMjc3 LDcgQEAgdWludDMyX3QgY2lfZ2V0X29mZnNldG9mKHVpbnQzMl90IHR5cGUsIHVpbnQzMl90IG1l bWJlcikKIAlyZXR1cm4gMDsKIH0KIAotdWludDMyX3QgY2lfZ2V0X21hY19kZWZpbml0aW9uKHVp bnQzMl90IHZhbHVlKQorc3RhdGljIHVpbnQzMl90IGNpX2dldF9tYWNfZGVmaW5pdGlvbih1aW50 MzJfdCB2YWx1ZSkKIHsKIAlzd2l0Y2ggKHZhbHVlKSB7CiAJY2FzZSBTTVVfTUFYX0xFVkVMU19H UkFQSElDUzoKQEAgLTIzNTUsNyArMjM1NCw3IEBAIHN0YXRpYyBpbnQgY2lfdXBsb2FkX2Zpcm13 YXJlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJcmV0dXJuIGNpX2xvYWRfc21jX3Vjb2RlKGh3 bWdyKTsKIH0KIAotaW50IGNpX3Byb2Nlc3NfZmlybXdhcmVfaGVhZGVyKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IpCitzdGF0aWMgaW50IGNpX3Byb2Nlc3NfZmlybXdhcmVfaGVhZGVyKHN0cnVjdCBw cF9od21nciAqaHdtZ3IpCiB7CiAJc3RydWN0IHNtdTdfaHdtZ3IgKmRhdGEgPSAoc3RydWN0IHNt dTdfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQpOwogCXN0cnVjdCBjaV9zbXVtZ3IgKmNpX2RhdGEg PSAoc3RydWN0IGNpX3NtdW1nciAqKShod21nci0+c211X2JhY2tlbmQpOwpAQCAtMjY2Nyw3ICsy NjY2LDcgQEAgc3RhdGljIGludCBjaV9zZXRfdmFsaWRfZmxhZyhzdHJ1Y3QgY2lfbWNfcmVnX3Rh YmxlICp0YWJsZSkKIAlyZXR1cm4gMDsKIH0KIAotaW50IGNpX2luaXRpYWxpemVfbWNfcmVnX3Rh YmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCitzdGF0aWMgaW50IGNpX2luaXRpYWxpemVfbWNf cmVnX3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiB7CiAJaW50IHJlc3VsdDsKIAlzdHJ1 Y3QgY2lfc211bWdyICpzbXVfZGF0YSA9IChzdHJ1Y3QgY2lfc211bWdyICopKGh3bWdyLT5zbXVf YmFja2VuZCk7CkBAIC0yNzIyLDEzICsyNzIxLDEzIEBAIGludCBjaV9pbml0aWFsaXplX21jX3Jl Z190YWJsZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCXJldHVybiByZXN1bHQ7CiB9CiAKLWJv b2wgY2lfaXNfZHBtX3J1bm5pbmcoc3RydWN0IHBwX2h3bWdyICpod21ncikKK3N0YXRpYyBib29s IGNpX2lzX2RwbV9ydW5uaW5nKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiB7CiAJcmV0dXJuIGNp X2lzX3NtY19yYW1fcnVubmluZyhod21ncik7CiB9CiAKLWludCBjaV9wb3B1bGF0ZV9yZXF1ZXN0 ZWRfZ3JhcGhpY19sZXZlbHMoc3RydWN0IHBwX2h3bWdyICpod21nciwKLQkJc3RydWN0IGFtZF9w cF9wcm9maWxlICpyZXF1ZXN0KQorc3RhdGljIGludCBjaV9wb3B1bGF0ZV9yZXF1ZXN0ZWRfZ3Jh cGhpY19sZXZlbHMoc3RydWN0IHBwX2h3bWdyICpod21nciwKKwkJCQkJCXN0cnVjdCBhbWRfcHBf cHJvZmlsZSAqcmVxdWVzdCkKIHsKIAlzdHJ1Y3QgY2lfc211bWdyICpzbXVfZGF0YSA9IChzdHJ1 Y3QgY2lfc211bWdyICopCiAJCQkoaHdtZ3ItPnNtdV9iYWNrZW5kKTsKQEAgLTI3NTEsMyArMjc1 MCw1OSBAQCBpbnQgY2lfcG9wdWxhdGVfcmVxdWVzdGVkX2dyYXBoaWNfbGV2ZWxzKHN0cnVjdCBw cF9od21nciAqaHdtZ3IsCiAJcmV0dXJuIGNpX2NvcHlfYnl0ZXNfdG9fc21jKGh3bWdyLCBhcnJh eSwgKHVpbnQ4X3QgKilsZXZlbHMsCiAJCQkJYXJyYXlfc2l6ZSwgU01DX1JBTV9FTkQpOwogfQor CisKK3N0YXRpYyBpbnQgY2lfc211X2luaXQoc3RydWN0IHBwX2h3bWdyICpod21ncikKK3sKKwlp bnQgaTsKKwlzdHJ1Y3QgY2lfc211bWdyICpjaV9wcml2ID0gTlVMTDsKKworCWNpX3ByaXYgPSBr emFsbG9jKHNpemVvZihzdHJ1Y3QgY2lfc211bWdyKSwgR0ZQX0tFUk5FTCk7CisKKwlpZiAoY2lf cHJpdiA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZvciAoaSA9IDA7IGkgPCBTTVU3 X01BWF9MRVZFTFNfR1JBUEhJQ1M7IGkrKykKKwkJY2lfcHJpdi0+YWN0aXZpdHlfdGFyZ2V0W2ld ID0gMzA7CisKKwlod21nci0+c211X2JhY2tlbmQgPSBjaV9wcml2OworCisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQgY2lfc211X2Zpbmkoc3RydWN0IHBwX2h3bWdyICpod21ncikKK3sKKwlr ZnJlZShod21nci0+c211X2JhY2tlbmQpOworCWh3bWdyLT5zbXVfYmFja2VuZCA9IE5VTEw7CisJ Y2dzX3JlbF9maXJtd2FyZShod21nci0+ZGV2aWNlLCBDR1NfVUNPREVfSURfU01VKTsKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIGludCBjaV9zdGFydF9zbXUoc3RydWN0IHBwX2h3bWdyICpod21n cikKK3sKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IHBwX3NtdW1ncl9mdW5jIGNpX3Nt dV9mdW5jcyA9IHsKKwkuc211X2luaXQgPSBjaV9zbXVfaW5pdCwKKwkuc211X2ZpbmkgPSBjaV9z bXVfZmluaSwKKwkuc3RhcnRfc211ID0gY2lfc3RhcnRfc211LAorCS5jaGVja19md19sb2FkX2Zp bmlzaCA9IE5VTEwsCisJLnJlcXVlc3Rfc211X2xvYWRfZncgPSBOVUxMLAorCS5yZXF1ZXN0X3Nt dV9sb2FkX3NwZWNpZmljX2Z3ID0gTlVMTCwKKwkuc2VuZF9tc2dfdG9fc21jID0gY2lfc2VuZF9t c2dfdG9fc21jLAorCS5zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIgPSBjaV9zZW5kX21z Z190b19zbWNfd2l0aF9wYXJhbWV0ZXIsCisJLmRvd25sb2FkX3BwdGFibGVfc2V0dGluZ3MgPSBO VUxMLAorCS51cGxvYWRfcHB0YWJsZV9zZXR0aW5ncyA9IE5VTEwsCisJLmdldF9vZmZzZXRvZiA9 IGNpX2dldF9vZmZzZXRvZiwKKwkucHJvY2Vzc19maXJtd2FyZV9oZWFkZXIgPSBjaV9wcm9jZXNz X2Zpcm13YXJlX2hlYWRlciwKKwkuaW5pdF9zbWNfdGFibGUgPSBjaV9pbml0X3NtY190YWJsZSwK KwkudXBkYXRlX3NjbGtfdGhyZXNob2xkID0gY2lfdXBkYXRlX3NjbGtfdGhyZXNob2xkLAorCS50 aGVybWFsX3NldHVwX2Zhbl90YWJsZSA9IGNpX3RoZXJtYWxfc2V0dXBfZmFuX3RhYmxlLAorCS5w b3B1bGF0ZV9hbGxfZ3JhcGhpY19sZXZlbHMgPSBjaV9wb3B1bGF0ZV9hbGxfZ3JhcGhpY19sZXZl bHMsCisJLnBvcHVsYXRlX2FsbF9tZW1vcnlfbGV2ZWxzID0gY2lfcG9wdWxhdGVfYWxsX21lbW9y eV9sZXZlbHMsCisJLmdldF9tYWNfZGVmaW5pdGlvbiA9IGNpX2dldF9tYWNfZGVmaW5pdGlvbiwK KwkuaW5pdGlhbGl6ZV9tY19yZWdfdGFibGUgPSBjaV9pbml0aWFsaXplX21jX3JlZ190YWJsZSwK KwkuaXNfZHBtX3J1bm5pbmcgPSBjaV9pc19kcG1fcnVubmluZywKKwkucG9wdWxhdGVfcmVxdWVz dGVkX2dyYXBoaWNfbGV2ZWxzID0gY2lfcG9wdWxhdGVfcmVxdWVzdGVkX2dyYXBoaWNfbGV2ZWxz LAorfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9j aV9zbWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jaV9zbWMuaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2M0MTc2ZC4uMDAwMDAwMAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY2lfc21jLmgKKysrIC9kZXYvbnVsbApA QCAtMSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTcgQWR2YW5jZWQgTWljcm8gRGV2 aWNlcywgSW5jLgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCi0gKiBjb3B5IG9mIHRoaXMgc29mdHdh cmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAot ICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n IHdpdGhvdXQgbGltaXRhdGlvbgotICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg bWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCi0gKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK LSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93 aW5nIGNvbmRpdGlvbnM6Ci0gKgotICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KLSAqIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotICoKLSAqIFRIRSBTT0ZU V0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBF WFBSRVNTIE9SCi0gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAotICogVEhF IENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN LCBEQU1BR0VTIE9SCi0gKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKLSAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgotICogT1RIRVIg REVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgotICoKLSAqLwotI2lmbmRlZiBDSV9TTUNfSAotI2Rl ZmluZSBDSV9TTUNfSAotCi0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLQotCi1zdHJ1Y3QgcHBf c211bWdyOwotc3RydWN0IHBwX2h3bWdyOwotc3RydWN0IGFtZF9wcF9wcm9maWxlOwotCi1pbnQg Y2lfc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyKHN0cnVjdCBwcF9od21nciAqaHdtZ3Is Ci0JCQkJCXVpbnQxNl90IG1zZywgdWludDMyX3QgcGFyYW1ldGVyKTsKLWludCBjaV9zZW5kX21z Z190b19zbWMoc3RydWN0IHBwX2h3bWdyICpod21nciwgdWludDE2X3QgbXNnKTsKLWludCBjaV9w b3B1bGF0ZV9hbGxfZ3JhcGhpY19sZXZlbHMoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci1pbnQg Y2lfcG9wdWxhdGVfYWxsX21lbW9yeV9sZXZlbHMoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci1p bnQgY2lfaW5pdF9zbWNfdGFibGUoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci1pbnQgY2lfdGhl cm1hbF9zZXR1cF9mYW5fdGFibGUoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci1pbnQgY2lfdXBk YXRlX3NtY190YWJsZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCB1aW50MzJfdCB0eXBlKTsKLWlu dCBjaV91cGRhdGVfc2Nsa190aHJlc2hvbGQoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci11aW50 MzJfdCBjaV9nZXRfb2Zmc2V0b2YodWludDMyX3QgdHlwZSwgdWludDMyX3QgbWVtYmVyKTsKLXVp bnQzMl90IGNpX2dldF9tYWNfZGVmaW5pdGlvbih1aW50MzJfdCB2YWx1ZSk7Ci1pbnQgY2lfcHJv Y2Vzc19maXJtd2FyZV9oZWFkZXIoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci1pbnQgY2lfaW5p dGlhbGl6ZV9tY19yZWdfdGFibGUoc3RydWN0IHBwX2h3bWdyICpod21ncik7Ci1ib29sIGNpX2lz X2RwbV9ydW5uaW5nKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpOwotaW50IGNpX3BvcHVsYXRlX3Jl cXVlc3RlZF9ncmFwaGljX2xldmVscyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAotCQkJCQlzdHJ1 Y3QgYW1kX3BwX3Byb2ZpbGUgKnJlcXVlc3QpOwotCi0KLSNlbmRpZgotCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY2lfc211bWdyLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3IvY2lfc211bWdyLmMKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGYyNjVmNDIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvc211bWdyL2NpX3NtdW1nci5jCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAs MCBAQAotLyoKLSAqIENvcHlyaWdodCAyMDE1IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4K LSAqCi0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g YW55IHBlcnNvbiBvYnRhaW5pbmcgYQotICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3Nv Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKLSAqIHRvIGRlYWwg aW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxp bWl0YXRpb24KLSAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs aXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAotICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRo ZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCi0gKiBTb2Z0d2Fy ZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp b25zOgotICoKLSAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCi0gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50 aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLSAqCi0gKiBUSEUgU09GVFdBUkUgSVMgUFJP VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgot ICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP RiBNRVJDSEFOVEFCSUxJVFksCi0gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB TkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKLSAqIFRIRSBDT1BZUklHSFQg SE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBP UgotICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwg VE9SVCBPUiBPVEhFUldJU0UsCi0gKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKLSAqIE9USEVSIERFQUxJTkdTIElO IFRIRSBTT0ZUV0FSRS4KLSAqCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNs dWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvZmIuaD4KLSNpbmNsdWRlICJsaW51 eC9kZWxheS5oIgotCi0jaW5jbHVkZSAic211bWdyLmgiCi0jaW5jbHVkZSAiY2lfc211bWdyLmgi Ci0jaW5jbHVkZSAiY2dzX2NvbW1vbi5oIgotI2luY2x1ZGUgImNpX3NtYy5oIgotCi1zdGF0aWMg aW50IGNpX3NtdV9pbml0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCi17Ci0JaW50IGk7Ci0Jc3Ry dWN0IGNpX3NtdW1nciAqY2lfcHJpdiA9IE5VTEw7Ci0KLQljaV9wcml2ID0ga3phbGxvYyhzaXpl b2Yoc3RydWN0IGNpX3NtdW1nciksIEdGUF9LRVJORUwpOwotCi0JaWYgKGNpX3ByaXYgPT0gTlVM TCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlmb3IgKGkgPSAwOyBpIDwgU01VN19NQVhfTEVWRUxT X0dSQVBISUNTOyBpKyspCi0JCWNpX3ByaXYtPmFjdGl2aXR5X3RhcmdldFtpXSA9IDMwOwotCi0J aHdtZ3ItPnNtdV9iYWNrZW5kID0gY2lfcHJpdjsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMg aW50IGNpX3NtdV9maW5pKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCi17Ci0Ja2ZyZWUoaHdtZ3It PnNtdV9iYWNrZW5kKTsKLQlod21nci0+c211X2JhY2tlbmQgPSBOVUxMOwotCWNnc19yZWxfZmly bXdhcmUoaHdtZ3ItPmRldmljZSwgQ0dTX1VDT0RFX0lEX1NNVSk7Ci0JcmV0dXJuIDA7Ci19Ci0K LXN0YXRpYyBpbnQgY2lfc3RhcnRfc211KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCi17Ci0JcmV0 dXJuIDA7Ci19Ci0KLWNvbnN0IHN0cnVjdCBwcF9zbXVtZ3JfZnVuYyBjaV9zbXVfZnVuY3MgPSB7 Ci0JLnNtdV9pbml0ID0gY2lfc211X2luaXQsCi0JLnNtdV9maW5pID0gY2lfc211X2ZpbmksCi0J LnN0YXJ0X3NtdSA9IGNpX3N0YXJ0X3NtdSwKLQkuY2hlY2tfZndfbG9hZF9maW5pc2ggPSBOVUxM LAotCS5yZXF1ZXN0X3NtdV9sb2FkX2Z3ID0gTlVMTCwKLQkucmVxdWVzdF9zbXVfbG9hZF9zcGVj aWZpY19mdyA9IE5VTEwsCi0JLnNlbmRfbXNnX3RvX3NtYyA9IGNpX3NlbmRfbXNnX3RvX3NtYywK LQkuc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyID0gY2lfc2VuZF9tc2dfdG9fc21jX3dp dGhfcGFyYW1ldGVyLAotCS5kb3dubG9hZF9wcHRhYmxlX3NldHRpbmdzID0gTlVMTCwKLQkudXBs b2FkX3BwdGFibGVfc2V0dGluZ3MgPSBOVUxMLAotCS5nZXRfb2Zmc2V0b2YgPSBjaV9nZXRfb2Zm c2V0b2YsCi0JLnByb2Nlc3NfZmlybXdhcmVfaGVhZGVyID0gY2lfcHJvY2Vzc19maXJtd2FyZV9o ZWFkZXIsCi0JLmluaXRfc21jX3RhYmxlID0gY2lfaW5pdF9zbWNfdGFibGUsCi0JLnVwZGF0ZV9z Y2xrX3RocmVzaG9sZCA9IGNpX3VwZGF0ZV9zY2xrX3RocmVzaG9sZCwKLQkudGhlcm1hbF9zZXR1 cF9mYW5fdGFibGUgPSBjaV90aGVybWFsX3NldHVwX2Zhbl90YWJsZSwKLQkucG9wdWxhdGVfYWxs X2dyYXBoaWNfbGV2ZWxzID0gY2lfcG9wdWxhdGVfYWxsX2dyYXBoaWNfbGV2ZWxzLAotCS5wb3B1 bGF0ZV9hbGxfbWVtb3J5X2xldmVscyA9IGNpX3BvcHVsYXRlX2FsbF9tZW1vcnlfbGV2ZWxzLAot CS5nZXRfbWFjX2RlZmluaXRpb24gPSBjaV9nZXRfbWFjX2RlZmluaXRpb24sCi0JLmluaXRpYWxp emVfbWNfcmVnX3RhYmxlID0gY2lfaW5pdGlhbGl6ZV9tY19yZWdfdGFibGUsCi0JLmlzX2RwbV9y dW5uaW5nID0gY2lfaXNfZHBtX3J1bm5pbmcsCi0JLnBvcHVsYXRlX3JlcXVlc3RlZF9ncmFwaGlj X2xldmVscyA9IGNpX3BvcHVsYXRlX3JlcXVlc3RlZF9ncmFwaGljX2xldmVscywKLX07Ci0tIAoy LjkuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==