From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v3 1/4] drm/via: drop use of DRM(READ|WRITE) macros Date: Mon, 22 Jul 2019 22:35:42 +0200 Message-ID: <20190722203545.8612-2-sam@ravnborg.org> References: <20190722203545.8612-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190722203545.8612-1-sam@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, openchrome-devel@lists.freedesktop.org Cc: Thomas Hellstrom , Sam Ravnborg , "Gustavo A. R. Silva" , David Airlie , Daniel Vetter , =?UTF-8?q?Michel=20D=C3=A4nzer?= , Kevin Brace , Mike Marshall , Ira Weiny , Emil Velikov List-Id: dri-devel@lists.freedesktop.org VGhlIERSTV9SRUFELCBEUk1fV1JJVEUgbWFjcm9zIGNvbWVzIGZyb20gdGhlIGRlcHJlY2F0ZWQg ZHJtX29zX2xpbnV4LmgKaGVhZGVyIGZpbGUuIFJlbW92ZSB0aGVpciB1c2UgdG8gcmVtb3ZlIHRo aXMgZGVwZW5kZW5jeS4KClJlcGxhY2UgdGhlIHVzZSBvZiB0aGUgbWFjcm9zIHdpdGggc3RhdGlj IGlubGluZSB2YXJpYW50cy4KCnYzOgotIFVzZSBzdGF0aWMgaW5saW5lIGZ1bmN0aW9ucywgcmF0 aGVyIHRoYW4gbWFjcm9zIChFbWlsKQotIFVzZSBkZWRpY2F0ZWQgbWFzayB2YXJpYW50cyBmb3Ig Ynl0ZSBhY2Nlc3MgKEVtaWwpCgpTaWduZWQtb2ZmLWJ5OiBTYW0gUmF2bmJvcmcgPHNhbUByYXZu Ym9yZy5vcmc+CkNjOiBLZXZpbiBCcmFjZSA8a2V2aW5icmFjZUBnbXguY29tPgpDYzogVGhvbWFz IEhlbGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgpDYzogIkd1c3Rhdm8gQS4gUi4gU2ls dmEiIDxndXN0YXZvQGVtYmVkZGVkb3IuY29tPgpDYzogTWlrZSBNYXJzaGFsbCA8aHViY2FwQG9t bmlib25kLmNvbT4KQ2M6IElyYSBXZWlueSA8aXJhLndlaW55QGludGVsLmNvbT4KQ2M6IERhbmll bCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBFbWlsIFZlbGlrb3YgPGVtaWwu dmVsaWtvdkBjb2xsYWJvcmEuY29tPgpDYzogTWljaGVsIETDpG56ZXIgPG1pY2hlbEBkYWVuemVy Lm5ldD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWEuYyAgICAgIHwgMzQgKysrKysr KysrKystLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5jICB8IDI0 ICsrKysrKysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oICAgICAgfCA0 MCArKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfaXJx LmMgICAgICB8IDQ2ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL3ZpYS92aWFfdmVyaWZpZXIuYyB8IDEyICsrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDky IGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92aWEvdmlhX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKaW5kZXgg ZDE3ZDhmMjQ1YzFhLi4zNDRhMTJiNjM5NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 aWEvdmlhX2RtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYS5jCkBAIC00MzAs MTQgKzQzMCwxNCBAQCBzdGF0aWMgaW50IHZpYV9ob29rX3NlZ21lbnQoZHJtX3ZpYV9wcml2YXRl X3QgKmRldl9wcml2LAogCWRpZmYgPSAodWludDMyX3QpIChwdHIgLSByZWFkZXIpIC0gZGV2X3By aXYtPmRtYV9kaWZmOwogCWNvdW50ID0gMTAwMDAwMDA7CiAJd2hpbGUgKGRpZmYgPT0gMCAmJiBj b3VudC0tKSB7Ci0JCXBhdXNlZCA9IChWSUFfUkVBRCgweDQxYykgJiAweDgwMDAwMDAwKTsKKwkJ cGF1c2VkID0gKHZpYV9yZWFkKGRldl9wcml2LCAweDQxYykgJiAweDgwMDAwMDAwKTsKIAkJaWYg KHBhdXNlZCkKIAkJCWJyZWFrOwogCQlyZWFkZXIgPSAqKGRldl9wcml2LT5od19hZGRyX3B0cik7 CiAJCWRpZmYgPSAodWludDMyX3QpIChwdHIgLSByZWFkZXIpIC0gZGV2X3ByaXYtPmRtYV9kaWZm OwogCX0KIAotCXBhdXNlZCA9IFZJQV9SRUFEKDB4NDFjKSAmIDB4ODAwMDAwMDA7CisJcGF1c2Vk ID0gdmlhX3JlYWQoZGV2X3ByaXYsIDB4NDFjKSAmIDB4ODAwMDAwMDA7CiAKIAlpZiAocGF1c2Vk ICYmICFub19wY2lfZmlyZSkgewogCQlyZWFkZXIgPSAqKGRldl9wcml2LT5od19hZGRyX3B0cik7 CkBAIC00NTQsMTAgKzQ1NCwxMCBAQCBzdGF0aWMgaW50IHZpYV9ob29rX3NlZ21lbnQoZHJtX3Zp YV9wcml2YXRlX3QgKmRldl9wcml2LAogCQkJICogZG9lc24ndCBtYWtlIGEgZGlmZmVyZW5jZS4K IAkJCSAqLwogCi0JCQlWSUFfV1JJVEUoVklBX1JFR19UUkFOU0VULCAoSENfUGFyYVR5cGVfUHJl Q1IgPDwgMTYpKTsKLQkJCVZJQV9XUklURShWSUFfUkVHX1RSQU5TUEFDRSwgcGF1c2VfYWRkcl9o aSk7Ci0JCQlWSUFfV1JJVEUoVklBX1JFR19UUkFOU1BBQ0UsIHBhdXNlX2FkZHJfbG8pOwotCQkJ VklBX1JFQUQoVklBX1JFR19UUkFOU1BBQ0UpOworCQkJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFf UkVHX1RSQU5TRVQsIChIQ19QYXJhVHlwZV9QcmVDUiA8PCAxNikpOworCQkJdmlhX3dyaXRlKGRl dl9wcml2LCBWSUFfUkVHX1RSQU5TUEFDRSwgcGF1c2VfYWRkcl9oaSk7CisJCQl2aWFfd3JpdGUo ZGV2X3ByaXYsIFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2xvKTsKKwkJCXZpYV9yZWFk KGRldl9wcml2LCBWSUFfUkVHX1RSQU5TUEFDRSk7CiAJCX0KIAl9CiAJcmV0dXJuIHBhdXNlZDsK QEAgLTQ2NywxMCArNDY3LDEwIEBAIHN0YXRpYyBpbnQgdmlhX3dhaXRfaWRsZShkcm1fdmlhX3By aXZhdGVfdCAqZGV2X3ByaXYpCiB7CiAJaW50IGNvdW50ID0gMTAwMDAwMDA7CiAKLQl3aGlsZSAo IShWSUFfUkVBRChWSUFfUkVHX1NUQVRVUykgJiBWSUFfVlJfUVVFVUVfQlVTWSkgJiYgLS1jb3Vu dCkKKwl3aGlsZSAoISh2aWFfcmVhZChkZXZfcHJpdiwgVklBX1JFR19TVEFUVVMpICYgVklBX1ZS X1FVRVVFX0JVU1kpICYmIC0tY291bnQpCiAJCTsKIAotCXdoaWxlIChjb3VudCAmJiAoVklBX1JF QUQoVklBX1JFR19TVEFUVVMpICYKKwl3aGlsZSAoY291bnQgJiYgKHZpYV9yZWFkKGRldl9wcml2 LCBWSUFfUkVHX1NUQVRVUykgJgogCQkJICAgKFZJQV9DTURfUkdUUl9CVVNZIHwgVklBXzJEX0VO R19CVVNZIHwKIAkJCSAgICBWSUFfM0RfRU5HX0JVU1kpKSkKIAkJLS1jb3VudDsKQEAgLTUzNiwy MSArNTM2LDIxIEBAIHN0YXRpYyB2b2lkIHZpYV9jbWRidWZfc3RhcnQoZHJtX3ZpYV9wcml2YXRl X3QgKmRldl9wcml2KQogCXZpYV9mbHVzaF93cml0ZV9jb21iaW5lKCk7CiAJKHZvaWQpICoodm9s YXRpbGUgdWludDMyX3QgKilkZXZfcHJpdi0+bGFzdF9wYXVzZV9wdHI7CiAKLQlWSUFfV1JJVEUo VklBX1JFR19UUkFOU0VULCAoSENfUGFyYVR5cGVfUHJlQ1IgPDwgMTYpKTsKLQlWSUFfV1JJVEUo VklBX1JFR19UUkFOU1BBQ0UsIGNvbW1hbmQpOwotCVZJQV9XUklURShWSUFfUkVHX1RSQU5TUEFD RSwgc3RhcnRfYWRkcl9sbyk7Ci0JVklBX1dSSVRFKFZJQV9SRUdfVFJBTlNQQUNFLCBlbmRfYWRk cl9sbyk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX1RSQU5TRVQsIChIQ19QYXJhVHlw ZV9QcmVDUiA8PCAxNikpOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19UUkFOU1BBQ0Us IGNvbW1hbmQpOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19UUkFOU1BBQ0UsIHN0YXJ0 X2FkZHJfbG8pOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19UUkFOU1BBQ0UsIGVuZF9h ZGRyX2xvKTsKIAotCVZJQV9XUklURShWSUFfUkVHX1RSQU5TUEFDRSwgcGF1c2VfYWRkcl9oaSk7 Ci0JVklBX1dSSVRFKFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2xvKTsKKwl2aWFfd3Jp dGUoZGV2X3ByaXYsIFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2hpKTsKKwl2aWFfd3Jp dGUoZGV2X3ByaXYsIFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2xvKTsKIAl3bWIoKTsK LQlWSUFfV1JJVEUoVklBX1JFR19UUkFOU1BBQ0UsIGNvbW1hbmQgfCBIQ19IQUdQQ01OVF9NQVNL KTsKLQlWSUFfUkVBRChWSUFfUkVHX1RSQU5TUEFDRSk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBW SUFfUkVHX1RSQU5TUEFDRSwgY29tbWFuZCB8IEhDX0hBR1BDTU5UX01BU0spOworCXZpYV9yZWFk KGRldl9wcml2LCBWSUFfUkVHX1RSQU5TUEFDRSk7CiAKIAlkZXZfcHJpdi0+ZG1hX2RpZmYgPSAw OwogCiAJY291bnQgPSAxMDAwMDAwMDsKLQl3aGlsZSAoIShWSUFfUkVBRCgweDQxYykgJiAweDgw MDAwMDAwKSAmJiBjb3VudC0tKTsKKwl3aGlsZSAoISh2aWFfcmVhZChkZXZfcHJpdiwgMHg0MWMp ICYgMHg4MDAwMDAwMCkgJiYgY291bnQtLSk7CiAKIAlyZWFkZXIgPSAqKGRldl9wcml2LT5od19h ZGRyX3B0cik7CiAJcHRyID0gKCh2b2xhdGlsZSBjaGFyICopZGV2X3ByaXYtPmxhc3RfcGF1c2Vf cHRyIC0gZGV2X3ByaXYtPmRtYV9wdHIpICsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 aWEvdmlhX2RtYWJsaXQuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYwppbmRl eCAwNjIwNjc0MzhmMWQuLmUxNTU3ZGQ2NzA4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3ZpYS92aWFfZG1hYmxpdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQu YwpAQCAtMjE0LDE2ICsyMTQsMTYgQEAgdmlhX2ZpcmVfZG1hYmxpdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBkcm1fdmlhX3NnX2luZm9fdCAqdnNnLCBpbnQgZW5naW5lKQogewogCWRybV92aWFf cHJpdmF0ZV90ICpkZXZfcHJpdiA9IChkcm1fdmlhX3ByaXZhdGVfdCAqKWRldi0+ZGV2X3ByaXZh dGU7CiAKLQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfTUFSMCArIGVuZ2luZSoweDEwLCAwKTsKLQlW SUFfV1JJVEUoVklBX1BDSV9ETUFfREFSMCArIGVuZ2luZSoweDEwLCAwKTsKLQlWSUFfV1JJVEUo VklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCBWSUFfRE1BX0NTUl9ERCB8IFZJQV9ETUFf Q1NSX1REIHwKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9QQ0lfRE1BX01BUjAgKyBlbmdpbmUq MHgxMCwgMCk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUENJX0RNQV9EQVIwICsgZW5naW5l KjB4MTAsIDApOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1BDSV9ETUFfQ1NSMCArIGVuZ2lu ZSoweDA0LCBWSUFfRE1BX0NTUl9ERCB8IFZJQV9ETUFfQ1NSX1REIHwKIAkJICBWSUFfRE1BX0NT Ul9ERSk7Ci0JVklBX1dSSVRFKFZJQV9QQ0lfRE1BX01SMCAgKyBlbmdpbmUqMHgwNCwgVklBX0RN QV9NUl9DTSB8IFZJQV9ETUFfTVJfVERJRSk7Ci0JVklBX1dSSVRFKFZJQV9QQ0lfRE1BX0JDUjAg KyBlbmdpbmUqMHgxMCwgMCk7Ci0JVklBX1dSSVRFKFZJQV9QQ0lfRE1BX0RQUjAgKyBlbmdpbmUq MHgxMCwgdnNnLT5jaGFpbl9zdGFydCk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUENJX0RN QV9NUjAgICsgZW5naW5lKjB4MDQsIFZJQV9ETUFfTVJfQ00gfCBWSUFfRE1BX01SX1RESUUpOwor CXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1BDSV9ETUFfQkNSMCArIGVuZ2luZSoweDEwLCAwKTsK Kwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9QQ0lfRE1BX0RQUjAgKyBlbmdpbmUqMHgxMCwgdnNn LT5jaGFpbl9zdGFydCk7CiAJd21iKCk7Ci0JVklBX1dSSVRFKFZJQV9QQ0lfRE1BX0NTUjAgKyBl bmdpbmUqMHgwNCwgVklBX0RNQV9DU1JfREUgfCBWSUFfRE1BX0NTUl9UUyk7Ci0JVklBX1JFQUQo VklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0KTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJ QV9QQ0lfRE1BX0NTUjAgKyBlbmdpbmUqMHgwNCwgVklBX0RNQV9DU1JfREUgfCBWSUFfRE1BX0NT Ul9UUyk7CisJdmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9QQ0lfRE1BX0NTUjAgKyBlbmdpbmUqMHgw NCk7CiB9CiAKIC8qCkBAIC0yOTEsNyArMjkxLDcgQEAgdmlhX2Fib3J0X2RtYWJsaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IGVuZ2luZSkKIHsKIAlkcm1fdmlhX3ByaXZhdGVfdCAqZGV2 X3ByaXYgPSAoZHJtX3ZpYV9wcml2YXRlX3QgKilkZXYtPmRldl9wcml2YXRlOwogCi0JVklBX1dS SVRFKFZJQV9QQ0lfRE1BX0NTUjAgKyBlbmdpbmUqMHgwNCwgVklBX0RNQV9DU1JfVEEpOworCXZp YV93cml0ZShkZXZfcHJpdiwgVklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCBWSUFfRE1B X0NTUl9UQSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yOTksNyArMjk5LDcgQEAgdmlhX2RtYWJs aXRfZW5naW5lX29mZihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZW5naW5lKQogewogCWRy bV92aWFfcHJpdmF0ZV90ICpkZXZfcHJpdiA9IChkcm1fdmlhX3ByaXZhdGVfdCAqKWRldi0+ZGV2 X3ByaXZhdGU7CiAKLQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCBW SUFfRE1BX0NTUl9URCB8IFZJQV9ETUFfQ1NSX0REKTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJ QV9QQ0lfRE1BX0NTUjAgKyBlbmdpbmUqMHgwNCwgVklBX0RNQV9DU1JfVEQgfCBWSUFfRE1BX0NT Ul9ERCk7CiB9CiAKIApAQCAtMzMwLDcgKzMzMCw3IEBAIHZpYV9kbWFibGl0X2hhbmRsZXIoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGVuZ2luZSwgaW50IGZyb21faXJxKQogCQlzcGluX2xv Y2tfaXJxc2F2ZSgmYmxpdHEtPmJsaXRfbG9jaywgaXJxc2F2ZSk7CiAKIAlkb25lX3RyYW5zZmVy ID0gYmxpdHEtPmlzX2FjdGl2ZSAmJgotCSAgKChzdGF0dXMgPSBWSUFfUkVBRChWSUFfUENJX0RN QV9DU1IwICsgZW5naW5lKjB4MDQpKSAmIFZJQV9ETUFfQ1NSX1REKTsKKwkgICgoc3RhdHVzID0g dmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9QQ0lfRE1BX0NTUjAgKyBlbmdpbmUqMHgwNCkpICYgVklB X0RNQV9DU1JfVEQpOwogCWRvbmVfdHJhbnNmZXIgPSBkb25lX3RyYW5zZmVyIHx8IChibGl0cS0+ YWJvcnRpbmcgJiYgIShzdGF0dXMgJiBWSUFfRE1BX0NTUl9ERSkpOwogCiAJY3VyID0gYmxpdHEt PmN1cjsKQEAgLTM0OSw3ICszNDksNyBAQCB2aWFfZG1hYmxpdF9oYW5kbGVyKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGludCBlbmdpbmUsIGludCBmcm9tX2lycSkKIAkJICogQ2xlYXIgdHJhbnNm ZXIgZG9uZSBmbGFnLgogCQkgKi8KIAotCQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfQ1NSMCArIGVu Z2luZSoweDA0LCAgVklBX0RNQV9DU1JfVEQpOworCQl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9Q Q0lfRE1BX0NTUjAgKyBlbmdpbmUqMHgwNCwgIFZJQV9ETUFfQ1NSX1REKTsKIAogCQlibGl0cS0+ aXNfYWN0aXZlID0gMDsKIAkJYmxpdHEtPmFib3J0aW5nID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmgK aW5kZXggNmQxYWU4MzQ0ODRjLi44YzE2YzIwOGFlODMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92aWEvdmlhX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oCkBA IC0xMTMsMTIgKzExMyw0MCBAQCBlbnVtIHZpYV9mYW1pbHkgewogfTsKIAogLyogVklBIE1NSU8g cmVnaXN0ZXIgYWNjZXNzICovCi0jZGVmaW5lIFZJQV9CQVNFICgoZGV2X3ByaXYtPm1taW8pKQot Ci0jZGVmaW5lIFZJQV9SRUFEKHJlZykJCURSTV9SRUFEMzIoVklBX0JBU0UsIHJlZykKLSNkZWZp bmUgVklBX1dSSVRFKHJlZywgdmFsKQlEUk1fV1JJVEUzMihWSUFfQkFTRSwgcmVnLCB2YWwpCi0j ZGVmaW5lIFZJQV9SRUFEOChyZWcpCQlEUk1fUkVBRDgoVklBX0JBU0UsIHJlZykKLSNkZWZpbmUg VklBX1dSSVRFOChyZWcsIHZhbCkJRFJNX1dSSVRFOChWSUFfQkFTRSwgcmVnLCB2YWwpCitzdGF0 aWMgaW5saW5lIHUzMiB2aWFfcmVhZChzdHJ1Y3QgZHJtX3ZpYV9wcml2YXRlICpkZXZfcHJpdiwg dTMyIHJlZykKK3sKKwlyZXR1cm4gcmVhZGwoKHZvaWQgX19pb21lbSAqKShkZXZfcHJpdi0+bW1p by0+aGFuZGxlICsgcmVnKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2aWFfd3JpdGUoc3Ry dWN0IGRybV92aWFfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcsCisJCQkgICAgIHUzMiB2YWwp Cit7CisJd3JpdGVsKHZhbCwgKHZvaWQgX19pb21lbSAqKShkZXZfcHJpdi0+bW1pby0+aGFuZGxl ICsgcmVnKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2aWFfd3JpdGU4KHN0cnVjdCBkcm1f dmlhX3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcmVnLAorCQkJICAgICAgdTMyIHZhbCkKK3sKKwl3 cml0ZWIodmFsLCAodm9pZCBfX2lvbWVtICopKGRldl9wcml2LT5tbWlvLT5oYW5kbGUgKyByZWcp KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZpYV93cml0ZThfbWFza19vcihzdHJ1Y3QgZHJt X3ZpYV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICAgICB1MzIgcmVnLCB1MzIgbWFzaykKK3sK Kwl1MzIgdmFsOworCisJdmFsID0gcmVhZGIoKHZvaWQgX19pb21lbSAqKShkZXZfcHJpdi0+bW1p by0+aGFuZGxlICsgcmVnKSk7CisJd3JpdGViKHZhbCB8IG1hc2ssICh2b2lkIF9faW9tZW0gKiko ZGV2X3ByaXYtPm1taW8tPmhhbmRsZSArIHJlZykpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQg dmlhX3dyaXRlOF9tYXNrX2FuZChzdHJ1Y3QgZHJtX3ZpYV9wcml2YXRlICpkZXZfcHJpdiwKKwkJ CQkgICAgICAgdTMyIHJlZywgdTMyIG1hc2spCit7CisJdTMyIHZhbDsKKworCXZhbCA9IHJlYWRi KCh2b2lkIF9faW9tZW0gKikoZGV2X3ByaXYtPm1taW8tPmhhbmRsZSArIHJlZykpOworCXdyaXRl Yih2YWwgJiBtYXNrLCAodm9pZCBfX2lvbWVtICopKGRldl9wcml2LT5tbWlvLT5oYW5kbGUgKyBy ZWcpKTsKK30KIAogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyB2aWFfaW9jdGxz W107CiBleHRlcm4gaW50IHZpYV9tYXhfaW9jdGw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdmlhL3ZpYV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5jCmluZGV4IGM5 NjgzMGNjYzBlYy4uMGVlMGI3NjdjM2Q3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlh L3ZpYV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9pcnEuYwpAQCAtMTA4LDcg KzEwOCw3IEBAIGlycXJldHVybl90IHZpYV9kcml2ZXJfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9p ZCAqYXJnKQogCWRybV92aWFfaXJxX3QgKmN1cl9pcnEgPSBkZXZfcHJpdi0+dmlhX2lycXM7CiAJ aW50IGk7CiAKLQlzdGF0dXMgPSBWSUFfUkVBRChWSUFfUkVHX0lOVEVSUlVQVCk7CisJc3RhdHVz ID0gdmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBUKTsKIAlpZiAoc3RhdHVzICYg VklBX0lSUV9WQkxBTktfUEVORElORykgewogCQlhdG9taWNfaW5jKCZkZXZfcHJpdi0+dmJsX3Jl Y2VpdmVkKTsKIAkJaWYgKCEoYXRvbWljX3JlYWQoJmRldl9wcml2LT52YmxfcmVjZWl2ZWQpICYg MHgwRikpIHsKQEAgLTE0Myw3ICsxNDMsNyBAQCBpcnFyZXR1cm5fdCB2aWFfZHJpdmVyX2lycV9o YW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKIAl9CiAKIAkvKiBBY2tub3dsZWRnZSBpbnRlcnJ1 cHRzICovCi0JVklBX1dSSVRFKFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMpOworCXZpYV93cml0 ZShkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyk7CiAKIAogCWlmIChoYW5kbGVk KQpAQCAtMTU4LDggKzE1OCw4IEBAIHN0YXRpYyBfX2lubGluZV9fIHZvaWQgdmlhZHJ2X2Fja25v d2xlZGdlX2lycXMoZHJtX3ZpYV9wcml2YXRlX3QgKmRldl9wcml2KQogCiAJaWYgKGRldl9wcml2 KSB7CiAJCS8qIEFja25vd2xlZGdlIGludGVycnVwdHMgKi8KLQkJc3RhdHVzID0gVklBX1JFQUQo VklBX1JFR19JTlRFUlJVUFQpOwotCQlWSUFfV1JJVEUoVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1 cyB8CisJCXN0YXR1cyA9IHZpYV9yZWFkKGRldl9wcml2LCBWSUFfUkVHX0lOVEVSUlVQVCk7CisJ CXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyB8CiAJCQkgIGRl dl9wcml2LT5pcnFfcGVuZGluZ19tYXNrKTsKIAl9CiB9CkBAIC0xNzQsMTEgKzE3NCwxMSBAQCBp bnQgdmlhX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50 IHBpcGUpCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9S RUdfSU5URVJSVVBUKTsKLQlWSUFfV1JJVEUoVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyB8IFZJ QV9JUlFfVkJMQU5LX0VOQUJMRSk7CisJc3RhdHVzID0gdmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9S RUdfSU5URVJSVVBUKTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBULCBz dGF0dXMgfCBWSUFfSVJRX1ZCTEFOS19FTkFCTEUpOwogCi0JVklBX1dSSVRFOCgweDgzZDQsIDB4 MTEpOwotCVZJQV9XUklURTgoMHg4M2Q1LCBWSUFfUkVBRDgoMHg4M2Q1KSB8IDB4MzApOworCXZp YV93cml0ZTgoZGV2X3ByaXYsIDB4ODNkNCwgMHgxMSk7CisJdmlhX3dyaXRlOF9tYXNrX29yKGRl dl9wcml2LCAweDgzZDUsIDB4MzApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xODgsMTEgKzE4OCwx MSBAQCB2b2lkIHZpYV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcGlwZSkKIAlkcm1fdmlhX3ByaXZhdGVfdCAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwogCXUzMiBzdGF0dXM7CiAKLQlzdGF0dXMgPSBWSUFfUkVBRChWSUFfUkVHX0lOVEVS UlVQVCk7Ci0JVklBX1dSSVRFKFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgJiB+VklBX0lSUV9W QkxBTktfRU5BQkxFKTsKKwlzdGF0dXMgPSB2aWFfcmVhZChkZXZfcHJpdiwgVklBX1JFR19JTlRF UlJVUFQpOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyAm IH5WSUFfSVJRX1ZCTEFOS19FTkFCTEUpOwogCi0JVklBX1dSSVRFOCgweDgzZDQsIDB4MTEpOwot CVZJQV9XUklURTgoMHg4M2Q1LCBWSUFfUkVBRDgoMHg4M2Q1KSAmIH4weDMwKTsKKwl2aWFfd3Jp dGU4KGRldl9wcml2LCAweDgzZDQsIDB4MTEpOworCXZpYV93cml0ZThfbWFza19hbmQoZGV2X3By aXYsIDB4ODNkNSwgfjB4MzApOwogCiAJaWYgKHBpcGUgIT0gMCkKIAkJRFJNX0VSUk9SKCIlczog IGJhZCBjcnRjICV1XG4iLCBfX2Z1bmNfXywgcGlwZSk7CkBAIC0yMzQsNyArMjM0LDcgQEAgdmlh X2RyaXZlcl9pcnFfd2FpdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgaXJx LCBpbnQgZm9yY2Vfc2VxdWVuY2UKIAogCWlmIChtYXNrc1tyZWFsX2lycV1bMl0gJiYgIWZvcmNl X3NlcXVlbmNlKSB7CiAJCURSTV9XQUlUX09OKHJldCwgY3VyX2lycS0+aXJxX3F1ZXVlLCAzICog SFosCi0JCQkgICAgKChWSUFfUkVBRChtYXNrc1tpcnFdWzJdKSAmIG1hc2tzW2lycV1bM10pID09 CisJCQkgICAgKCh2aWFfcmVhZChkZXZfcHJpdiwgbWFza3NbaXJxXVsyXSkgJiBtYXNrc1tpcnFd WzNdKSA9PQogCQkJICAgICBtYXNrc1tpcnFdWzRdKSk7CiAJCWN1cl9pcnFfc2VxdWVuY2UgPSBh dG9taWNfcmVhZCgmY3VyX2lycS0+aXJxX3JlY2VpdmVkKTsKIAl9IGVsc2UgewpAQCAtMjkyLDgg KzI5Miw4IEBAIHZvaWQgdmlhX2RyaXZlcl9pcnFfcHJlaW5zdGFsbChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCQlkZXZfcHJpdi0+bGFzdF92YmxhbmtfdmFsaWQgPSAwOwogCiAJCS8qIENsZWFy IFZTeW5jIGludGVycnVwdCByZWdzICovCi0JCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9SRUdfSU5U RVJSVVBUKTsKLQkJVklBX1dSSVRFKFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgJgorCQlzdGF0 dXMgPSB2aWFfcmVhZChkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQpOworCQl2aWFfd3JpdGUo ZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgJgogCQkJICB+KGRldl9wcml2LT5p cnFfZW5hYmxlX21hc2spKTsKIAogCQkvKiBDbGVhciBiaXRzIGlmIHRoZXkncmUgYWxyZWFkeSBo aWdoICovCkBAIC0zMTAsMTMgKzMxMCwxMyBAQCBpbnQgdmlhX2RyaXZlcl9pcnFfcG9zdGluc3Rh bGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAoIWRldl9wcml2KQogCQlyZXR1cm4gLUVJ TlZBTDsKIAotCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9SRUdfSU5URVJSVVBUKTsKLQlWSUFfV1JJ VEUoVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyB8IFZJQV9JUlFfR0xPQkFMCisJc3RhdHVzID0g dmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBUKTsKKwl2aWFfd3JpdGUoZGV2X3By aXYsIFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgfCBWSUFfSVJRX0dMT0JBTAogCQkgIHwgZGV2 X3ByaXYtPmlycV9lbmFibGVfbWFzayk7CiAKIAkvKiBTb21lIG1hZ2ljLCBvaCBmb3Igc29tZSBk YXRhIHNoZWV0cyAhICovCi0JVklBX1dSSVRFOCgweDgzZDQsIDB4MTEpOwotCVZJQV9XUklURTgo MHg4M2Q1LCBWSUFfUkVBRDgoMHg4M2Q1KSB8IDB4MzApOworCXZpYV93cml0ZTgoZGV2X3ByaXYs IDB4ODNkNCwgMHgxMSk7CisJdmlhX3dyaXRlOF9tYXNrX29yKGRldl9wcml2LCAweDgzZDUsIDB4 MzApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zMzEsMTEgKzMzMSwxMSBAQCB2b2lkIHZpYV9kcml2 ZXJfaXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJCS8qIFNvbWUgbW9y ZSBtYWdpYywgb2ggZm9yIHNvbWUgZGF0YSBzaGVldHMgISAqLwogCi0JCVZJQV9XUklURTgoMHg4 M2Q0LCAweDExKTsKLQkJVklBX1dSSVRFOCgweDgzZDUsIFZJQV9SRUFEOCgweDgzZDUpICYgfjB4 MzApOworCQl2aWFfd3JpdGU4KGRldl9wcml2LCAweDgzZDQsIDB4MTEpOworCQl2aWFfd3JpdGU4 X21hc2tfYW5kKGRldl9wcml2LCAweDgzZDUsIH4weDMwKTsKIAotCQlzdGF0dXMgPSBWSUFfUkVB RChWSUFfUkVHX0lOVEVSUlVQVCk7Ci0JCVZJQV9XUklURShWSUFfUkVHX0lOVEVSUlVQVCwgc3Rh dHVzICYKKwkJc3RhdHVzID0gdmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBUKTsK KwkJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX0lOVEVSUlVQVCwgc3RhdHVzICYKIAkJCSAg fihWSUFfSVJRX1ZCTEFOS19FTkFCTEUgfCBkZXZfcHJpdi0+aXJxX2VuYWJsZV9tYXNrKSk7CiAJ fQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmMKaW5kZXggZmIyNjA5NDM0ZGY3Li4wMDJj ODgzYjBkNGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmVyaWZpZXIuYwpAQCAtNzI1LDE0ICs3MjUs MTQgQEAgdmlhX3BhcnNlX2hlYWRlcjIoZHJtX3ZpYV9wcml2YXRlX3QgKmRldl9wcml2LCB1aW50 MzJfdCBjb25zdCAqKmJ1ZmZlciwKIAluZXh0X2ZpcmUgPSBkZXZfcHJpdi0+ZmlyZV9vZmZzZXRz WypmaXJlX2NvdW50XTsKIAlidWYrKzsKIAljbWQgPSAoKmJ1ZiAmIDB4RkZGRjAwMDApID4+IDE2 OwotCVZJQV9XUklURShIQ19SRUdfVFJBTlNfU0VUICsgSENfUkVHX0JBU0UsICpidWYrKyk7CisJ dmlhX3dyaXRlKGRldl9wcml2LCBIQ19SRUdfVFJBTlNfU0VUICsgSENfUkVHX0JBU0UsICpidWYr Kyk7CiAJc3dpdGNoIChjbWQpIHsKIAljYXNlIEhDX1BhcmFUeXBlX0NtZFZkYXRhOgogCQl3aGls ZSAoKGJ1ZiA8IGJ1Zl9lbmQpICYmCiAJCSAgICAgICAoKmZpcmVfY291bnQgPCBkZXZfcHJpdi0+ bnVtX2ZpcmVfb2Zmc2V0cykgJiYKIAkJICAgICAgICgqYnVmICYgSENfQUNNRF9NQVNLKSA9PSBI Q19BQ01EX0hDbWRCKSB7CiAJCQl3aGlsZSAoYnVmIDw9IG5leHRfZmlyZSkgewotCQkJCVZJQV9X UklURShIQ19SRUdfVFJBTlNfU1BBQ0UgKyBIQ19SRUdfQkFTRSArCisJCQkJdmlhX3dyaXRlKGRl dl9wcml2LCBIQ19SRUdfVFJBTlNfU1BBQ0UgKyBIQ19SRUdfQkFTRSArCiAJCQkJCSAgKGJ1cnN0 ICYgNjMpLCAqYnVmKyspOwogCQkJCWJ1cnN0ICs9IDQ7CiAJCQl9CkBAIC03NTMsNyArNzUzLDcg QEAgdmlhX3BhcnNlX2hlYWRlcjIoZHJtX3ZpYV9wcml2YXRlX3QgKmRldl9wcml2LCB1aW50MzJf dCBjb25zdCAqKmJ1ZmZlciwKIAkJCSAgICAoKmJ1ZiAmIFZJQV9WSURFT01BU0spID09IFZJQV9W SURFT19IRUFERVI2KQogCQkJCWJyZWFrOwogCi0JCQlWSUFfV1JJVEUoSENfUkVHX1RSQU5TX1NQ QUNFICsgSENfUkVHX0JBU0UgKworCQkJdmlhX3dyaXRlKGRldl9wcml2LCBIQ19SRUdfVFJBTlNf U1BBQ0UgKyBIQ19SRUdfQkFTRSArCiAJCQkJICAoYnVyc3QgJiA2MyksICpidWYrKyk7CiAJCQli dXJzdCArPSA0OwogCQl9CkBAIC04NDMsNyArODQzLDcgQEAgdmlhX3BhcnNlX2hlYWRlcjEoZHJt X3ZpYV9wcml2YXRlX3QgKmRldl9wcml2LCB1aW50MzJfdCBjb25zdCAqKmJ1ZmZlciwKIAkJY21k ID0gKmJ1ZjsKIAkJaWYgKChjbWQgJiBIQUxDWU9OX0hFQURFUjFNQVNLKSAhPSBIQUxDWU9OX0hF QURFUjEpCiAJCQlicmVhazsKLQkJVklBX1dSSVRFKChjbWQgJiB+SEFMQ1lPTl9IRUFERVIxTUFT SykgPDwgMiwgKisrYnVmKTsKKwkJdmlhX3dyaXRlKGRldl9wcml2LCAoY21kICYgfkhBTENZT05f SEVBREVSMU1BU0spIDw8IDIsICorK2J1Zik7CiAJCWJ1ZisrOwogCX0KIAkqYnVmZmVyID0gYnVm OwpAQCAtODk0LDcgKzg5NCw3IEBAIHZpYV9wYXJzZV92aGVhZGVyNShkcm1fdmlhX3ByaXZhdGVf dCAqZGV2X3ByaXYsIHVpbnQzMl90IGNvbnN0ICoqYnVmZmVyLAogCWkgPSBjb3VudCA9ICpidWY7 CiAJYnVmICs9IDM7CiAJd2hpbGUgKGktLSkKLQkJVklBX1dSSVRFKGFkZHIsICpidWYrKyk7CisJ CXZpYV93cml0ZShkZXZfcHJpdiwgYWRkciwgKmJ1ZisrKTsKIAlpZiAoY291bnQgJiAzKQogCQli dWYgKz0gNCAtIChjb3VudCAmIDMpOwogCSpidWZmZXIgPSBidWY7CkBAIC05NTAsNyArOTUwLDcg QEAgdmlhX3BhcnNlX3ZoZWFkZXI2KGRybV92aWFfcHJpdmF0ZV90ICpkZXZfcHJpdiwgdWludDMy X3QgY29uc3QgKipidWZmZXIsCiAJYnVmICs9IDM7CiAJd2hpbGUgKGktLSkgewogCQlhZGRyID0g KmJ1ZisrOwotCQlWSUFfV1JJVEUoYWRkciwgKmJ1ZisrKTsKKwkJdmlhX3dyaXRlKGRldl9wcml2 LCBhZGRyLCAqYnVmKyspOwogCX0KIAljb3VudCA8PD0gMTsKIAlpZiAoY291bnQgJiAzKQotLSAK Mi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=