From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v4 1/4] drm/via: drop use of DRM(READ|WRITE) macros Date: Tue, 23 Jul 2019 22:09:41 +0200 Message-ID: <20190723200944.17285-2-sam@ravnborg.org> References: <20190723200944.17285-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190723200944.17285-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 IGlubGluZSB2YXJpYW50cy4KCnY0OgotIFVzZSBhIG1vcmUgc3RhbmRhcmQgdmlhX3dyaXRlOF9t YXNrKCkgZnVuY3Rpb24gKEVtaWwpCgp2MzoKLSBVc2Ugc3RhdGljIGlubGluZSBmdW5jdGlvbnMs IHJhdGhlciB0aGFuIG1hY3JvcyAoRW1pbCkKLSBVc2UgZGVkaWNhdGVkIG1hc2sgdmFyaWFudHMg Zm9yIGJ5dGUgYWNjZXNzIChFbWlsKQoKU2lnbmVkLW9mZi1ieTogU2FtIFJhdm5ib3JnIDxzYW1A cmF2bmJvcmcub3JnPgpDYzogS2V2aW4gQnJhY2UgPGtldmluYnJhY2VAZ214LmNvbT4KQ2M6IFRo b21hcyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13YXJlLmNvbT4KQ2M6ICJHdXN0YXZvIEEuIFIu IFNpbHZhIiA8Z3VzdGF2b0BlbWJlZGRlZG9yLmNvbT4KQ2M6IE1pa2UgTWFyc2hhbGwgPGh1YmNh cEBvbW5pYm9uZC5jb20+CkNjOiBJcmEgV2VpbnkgPGlyYS53ZWlueUBpbnRlbC5jb20+CkNjOiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogRW1pbCBWZWxpa292IDxl bWlsLnZlbGlrb3ZAY29sbGFib3JhLmNvbT4KQ2M6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWxAZGFl bnplci5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMgICAgICB8IDM0ICsr KysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYyAg fCAyNCArKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuaCAgICAg IHwgMzIgKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9pcnEu YyAgICAgIHwgNDYgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vdmlhL3ZpYV92ZXJpZmllci5jIHwgMTIgKysrKy0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgODQg aW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3ZpYS92aWFfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWEuYwppbmRleCBk MTdkOGYyNDVjMWEuLjM0NGExMmI2Mzk2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zp YS92aWFfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKQEAgLTQzMCwx NCArNDMwLDE0IEBAIHN0YXRpYyBpbnQgdmlhX2hvb2tfc2VnbWVudChkcm1fdmlhX3ByaXZhdGVf dCAqZGV2X3ByaXYsCiAJZGlmZiA9ICh1aW50MzJfdCkgKHB0ciAtIHJlYWRlcikgLSBkZXZfcHJp di0+ZG1hX2RpZmY7CiAJY291bnQgPSAxMDAwMDAwMDsKIAl3aGlsZSAoZGlmZiA9PSAwICYmIGNv dW50LS0pIHsKLQkJcGF1c2VkID0gKFZJQV9SRUFEKDB4NDFjKSAmIDB4ODAwMDAwMDApOworCQlw YXVzZWQgPSAodmlhX3JlYWQoZGV2X3ByaXYsIDB4NDFjKSAmIDB4ODAwMDAwMDApOwogCQlpZiAo cGF1c2VkKQogCQkJYnJlYWs7CiAJCXJlYWRlciA9ICooZGV2X3ByaXYtPmh3X2FkZHJfcHRyKTsK IAkJZGlmZiA9ICh1aW50MzJfdCkgKHB0ciAtIHJlYWRlcikgLSBkZXZfcHJpdi0+ZG1hX2RpZmY7 CiAJfQogCi0JcGF1c2VkID0gVklBX1JFQUQoMHg0MWMpICYgMHg4MDAwMDAwMDsKKwlwYXVzZWQg PSB2aWFfcmVhZChkZXZfcHJpdiwgMHg0MWMpICYgMHg4MDAwMDAwMDsKIAogCWlmIChwYXVzZWQg JiYgIW5vX3BjaV9maXJlKSB7CiAJCXJlYWRlciA9ICooZGV2X3ByaXYtPmh3X2FkZHJfcHRyKTsK QEAgLTQ1NCwxMCArNDU0LDEwIEBAIHN0YXRpYyBpbnQgdmlhX2hvb2tfc2VnbWVudChkcm1fdmlh X3ByaXZhdGVfdCAqZGV2X3ByaXYsCiAJCQkgKiBkb2Vzbid0IG1ha2UgYSBkaWZmZXJlbmNlLgog CQkJICovCiAKLQkJCVZJQV9XUklURShWSUFfUkVHX1RSQU5TRVQsIChIQ19QYXJhVHlwZV9QcmVD UiA8PCAxNikpOwotCQkJVklBX1dSSVRFKFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2hp KTsKLQkJCVZJQV9XUklURShWSUFfUkVHX1RSQU5TUEFDRSwgcGF1c2VfYWRkcl9sbyk7Ci0JCQlW SUFfUkVBRChWSUFfUkVHX1RSQU5TUEFDRSk7CisJCQl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9S RUdfVFJBTlNFVCwgKEhDX1BhcmFUeXBlX1ByZUNSIDw8IDE2KSk7CisJCQl2aWFfd3JpdGUoZGV2 X3ByaXYsIFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2hpKTsKKwkJCXZpYV93cml0ZShk ZXZfcHJpdiwgVklBX1JFR19UUkFOU1BBQ0UsIHBhdXNlX2FkZHJfbG8pOworCQkJdmlhX3JlYWQo ZGV2X3ByaXYsIFZJQV9SRUdfVFJBTlNQQUNFKTsKIAkJfQogCX0KIAlyZXR1cm4gcGF1c2VkOwpA QCAtNDY3LDEwICs0NjcsMTAgQEAgc3RhdGljIGludCB2aWFfd2FpdF9pZGxlKGRybV92aWFfcHJp dmF0ZV90ICpkZXZfcHJpdikKIHsKIAlpbnQgY291bnQgPSAxMDAwMDAwMDsKIAotCXdoaWxlICgh KFZJQV9SRUFEKFZJQV9SRUdfU1RBVFVTKSAmIFZJQV9WUl9RVUVVRV9CVVNZKSAmJiAtLWNvdW50 KQorCXdoaWxlICghKHZpYV9yZWFkKGRldl9wcml2LCBWSUFfUkVHX1NUQVRVUykgJiBWSUFfVlJf UVVFVUVfQlVTWSkgJiYgLS1jb3VudCkKIAkJOwogCi0Jd2hpbGUgKGNvdW50ICYmIChWSUFfUkVB RChWSUFfUkVHX1NUQVRVUykgJgorCXdoaWxlIChjb3VudCAmJiAodmlhX3JlYWQoZGV2X3ByaXYs IFZJQV9SRUdfU1RBVFVTKSAmCiAJCQkgICAoVklBX0NNRF9SR1RSX0JVU1kgfCBWSUFfMkRfRU5H X0JVU1kgfAogCQkJICAgIFZJQV8zRF9FTkdfQlVTWSkpKQogCQktLWNvdW50OwpAQCAtNTM2LDIx ICs1MzYsMjEgQEAgc3RhdGljIHZvaWQgdmlhX2NtZGJ1Zl9zdGFydChkcm1fdmlhX3ByaXZhdGVf dCAqZGV2X3ByaXYpCiAJdmlhX2ZsdXNoX3dyaXRlX2NvbWJpbmUoKTsKIAkodm9pZCkgKih2b2xh dGlsZSB1aW50MzJfdCAqKWRldl9wcml2LT5sYXN0X3BhdXNlX3B0cjsKIAotCVZJQV9XUklURShW SUFfUkVHX1RSQU5TRVQsIChIQ19QYXJhVHlwZV9QcmVDUiA8PCAxNikpOwotCVZJQV9XUklURShW SUFfUkVHX1RSQU5TUEFDRSwgY29tbWFuZCk7Ci0JVklBX1dSSVRFKFZJQV9SRUdfVFJBTlNQQUNF LCBzdGFydF9hZGRyX2xvKTsKLQlWSUFfV1JJVEUoVklBX1JFR19UUkFOU1BBQ0UsIGVuZF9hZGRy X2xvKTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9SRUdfVFJBTlNFVCwgKEhDX1BhcmFUeXBl X1ByZUNSIDw8IDE2KSk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX1RSQU5TUEFDRSwg Y29tbWFuZCk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX1RSQU5TUEFDRSwgc3RhcnRf YWRkcl9sbyk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX1RSQU5TUEFDRSwgZW5kX2Fk ZHJfbG8pOwogCi0JVklBX1dSSVRFKFZJQV9SRUdfVFJBTlNQQUNFLCBwYXVzZV9hZGRyX2hpKTsK LQlWSUFfV1JJVEUoVklBX1JFR19UUkFOU1BBQ0UsIHBhdXNlX2FkZHJfbG8pOworCXZpYV93cml0 ZShkZXZfcHJpdiwgVklBX1JFR19UUkFOU1BBQ0UsIHBhdXNlX2FkZHJfaGkpOworCXZpYV93cml0 ZShkZXZfcHJpdiwgVklBX1JFR19UUkFOU1BBQ0UsIHBhdXNlX2FkZHJfbG8pOwogCXdtYigpOwot CVZJQV9XUklURShWSUFfUkVHX1RSQU5TUEFDRSwgY29tbWFuZCB8IEhDX0hBR1BDTU5UX01BU0sp OwotCVZJQV9SRUFEKFZJQV9SRUdfVFJBTlNQQUNFKTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJ QV9SRUdfVFJBTlNQQUNFLCBjb21tYW5kIHwgSENfSEFHUENNTlRfTUFTSyk7CisJdmlhX3JlYWQo ZGV2X3ByaXYsIFZJQV9SRUdfVFJBTlNQQUNFKTsKIAogCWRldl9wcml2LT5kbWFfZGlmZiA9IDA7 CiAKIAljb3VudCA9IDEwMDAwMDAwOwotCXdoaWxlICghKFZJQV9SRUFEKDB4NDFjKSAmIDB4ODAw MDAwMDApICYmIGNvdW50LS0pOworCXdoaWxlICghKHZpYV9yZWFkKGRldl9wcml2LCAweDQxYykg JiAweDgwMDAwMDAwKSAmJiBjb3VudC0tKTsKIAogCXJlYWRlciA9ICooZGV2X3ByaXYtPmh3X2Fk ZHJfcHRyKTsKIAlwdHIgPSAoKHZvbGF0aWxlIGNoYXIgKilkZXZfcHJpdi0+bGFzdF9wYXVzZV9w dHIgLSBkZXZfcHJpdi0+ZG1hX3B0cikgKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Zp YS92aWFfZG1hYmxpdC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5jCmluZGV4 IDA2MjA2NzQzOGYxZC4uZTE1NTdkZDY3MDgzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v dmlhL3ZpYV9kbWFibGl0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5j CkBAIC0yMTQsMTYgKzIxNCwxNiBAQCB2aWFfZmlyZV9kbWFibGl0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGRybV92aWFfc2dfaW5mb190ICp2c2csIGludCBlbmdpbmUpCiB7CiAJZHJtX3ZpYV9w cml2YXRlX3QgKmRldl9wcml2ID0gKGRybV92aWFfcHJpdmF0ZV90ICopZGV2LT5kZXZfcHJpdmF0 ZTsKIAotCVZJQV9XUklURShWSUFfUENJX0RNQV9NQVIwICsgZW5naW5lKjB4MTAsIDApOwotCVZJ QV9XUklURShWSUFfUENJX0RNQV9EQVIwICsgZW5naW5lKjB4MTAsIDApOwotCVZJQV9XUklURShW SUFfUENJX0RNQV9DU1IwICsgZW5naW5lKjB4MDQsIFZJQV9ETUFfQ1NSX0REIHwgVklBX0RNQV9D U1JfVEQgfAorCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1BDSV9ETUFfTUFSMCArIGVuZ2luZSow eDEwLCAwKTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9QQ0lfRE1BX0RBUjAgKyBlbmdpbmUq MHgxMCwgMCk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUENJX0RNQV9DU1IwICsgZW5naW5l KjB4MDQsIFZJQV9ETUFfQ1NSX0REIHwgVklBX0RNQV9DU1JfVEQgfAogCQkgIFZJQV9ETUFfQ1NS X0RFKTsKLQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfTVIwICArIGVuZ2luZSoweDA0LCBWSUFfRE1B X01SX0NNIHwgVklBX0RNQV9NUl9URElFKTsKLQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfQkNSMCAr IGVuZ2luZSoweDEwLCAwKTsKLQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfRFBSMCArIGVuZ2luZSow eDEwLCB2c2ctPmNoYWluX3N0YXJ0KTsKKwl2aWFfd3JpdGUoZGV2X3ByaXYsIFZJQV9QQ0lfRE1B X01SMCAgKyBlbmdpbmUqMHgwNCwgVklBX0RNQV9NUl9DTSB8IFZJQV9ETUFfTVJfVERJRSk7CisJ dmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUENJX0RNQV9CQ1IwICsgZW5naW5lKjB4MTAsIDApOwor CXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1BDSV9ETUFfRFBSMCArIGVuZ2luZSoweDEwLCB2c2ct PmNoYWluX3N0YXJ0KTsKIAl3bWIoKTsKLQlWSUFfV1JJVEUoVklBX1BDSV9ETUFfQ1NSMCArIGVu Z2luZSoweDA0LCBWSUFfRE1BX0NTUl9ERSB8IFZJQV9ETUFfQ1NSX1RTKTsKLQlWSUFfUkVBRChW SUFfUENJX0RNQV9DU1IwICsgZW5naW5lKjB4MDQpOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklB X1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCBWSUFfRE1BX0NTUl9ERSB8IFZJQV9ETUFfQ1NS X1RTKTsKKwl2aWFfcmVhZChkZXZfcHJpdiwgVklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0 KTsKIH0KIAogLyoKQEAgLTI5MSw3ICsyOTEsNyBAQCB2aWFfYWJvcnRfZG1hYmxpdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBpbnQgZW5naW5lKQogewogCWRybV92aWFfcHJpdmF0ZV90ICpkZXZf cHJpdiA9IChkcm1fdmlhX3ByaXZhdGVfdCAqKWRldi0+ZGV2X3ByaXZhdGU7CiAKLQlWSUFfV1JJ VEUoVklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCBWSUFfRE1BX0NTUl9UQSk7CisJdmlh X3dyaXRlKGRldl9wcml2LCBWSUFfUENJX0RNQV9DU1IwICsgZW5naW5lKjB4MDQsIFZJQV9ETUFf Q1NSX1RBKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTI5OSw3ICsyOTksNyBAQCB2aWFfZG1hYmxp dF9lbmdpbmVfb2ZmKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBlbmdpbmUpCiB7CiAJZHJt X3ZpYV9wcml2YXRlX3QgKmRldl9wcml2ID0gKGRybV92aWFfcHJpdmF0ZV90ICopZGV2LT5kZXZf cHJpdmF0ZTsKIAotCVZJQV9XUklURShWSUFfUENJX0RNQV9DU1IwICsgZW5naW5lKjB4MDQsIFZJ QV9ETUFfQ1NSX1REIHwgVklBX0RNQV9DU1JfREQpOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklB X1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCBWSUFfRE1BX0NTUl9URCB8IFZJQV9ETUFfQ1NS X0REKTsKIH0KIAogCkBAIC0zMzAsNyArMzMwLDcgQEAgdmlhX2RtYWJsaXRfaGFuZGxlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgZW5naW5lLCBpbnQgZnJvbV9pcnEpCiAJCXNwaW5fbG9j a19pcnFzYXZlKCZibGl0cS0+YmxpdF9sb2NrLCBpcnFzYXZlKTsKIAogCWRvbmVfdHJhbnNmZXIg PSBibGl0cS0+aXNfYWN0aXZlICYmCi0JICAoKHN0YXR1cyA9IFZJQV9SRUFEKFZJQV9QQ0lfRE1B X0NTUjAgKyBlbmdpbmUqMHgwNCkpICYgVklBX0RNQV9DU1JfVEQpOworCSAgKChzdGF0dXMgPSB2 aWFfcmVhZChkZXZfcHJpdiwgVklBX1BDSV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0KSkgJiBWSUFf RE1BX0NTUl9URCk7CiAJZG9uZV90cmFuc2ZlciA9IGRvbmVfdHJhbnNmZXIgfHwgKGJsaXRxLT5h Ym9ydGluZyAmJiAhKHN0YXR1cyAmIFZJQV9ETUFfQ1NSX0RFKSk7CiAKIAljdXIgPSBibGl0cS0+ Y3VyOwpAQCAtMzQ5LDcgKzM0OSw3IEBAIHZpYV9kbWFibGl0X2hhbmRsZXIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgaW50IGVuZ2luZSwgaW50IGZyb21faXJxKQogCQkgKiBDbGVhciB0cmFuc2Zl ciBkb25lIGZsYWcuCiAJCSAqLwogCi0JCVZJQV9XUklURShWSUFfUENJX0RNQV9DU1IwICsgZW5n aW5lKjB4MDQsICBWSUFfRE1BX0NTUl9URCk7CisJCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1BD SV9ETUFfQ1NSMCArIGVuZ2luZSoweDA0LCAgVklBX0RNQV9DU1JfVEQpOwogCiAJCWJsaXRxLT5p c19hY3RpdmUgPSAwOwogCQlibGl0cS0+YWJvcnRpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuaApp bmRleCA2ZDFhZTgzNDQ4NGMuLjM2ODE4NWI4MDE4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3ZpYS92aWFfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmgKQEAg LTExMywxMiArMTEzLDMyIEBAIGVudW0gdmlhX2ZhbWlseSB7CiB9OwogCiAvKiBWSUEgTU1JTyBy ZWdpc3RlciBhY2Nlc3MgKi8KLSNkZWZpbmUgVklBX0JBU0UgKChkZXZfcHJpdi0+bW1pbykpCi0K LSNkZWZpbmUgVklBX1JFQUQocmVnKQkJRFJNX1JFQUQzMihWSUFfQkFTRSwgcmVnKQotI2RlZmlu ZSBWSUFfV1JJVEUocmVnLCB2YWwpCURSTV9XUklURTMyKFZJQV9CQVNFLCByZWcsIHZhbCkKLSNk ZWZpbmUgVklBX1JFQUQ4KHJlZykJCURSTV9SRUFEOChWSUFfQkFTRSwgcmVnKQotI2RlZmluZSBW SUFfV1JJVEU4KHJlZywgdmFsKQlEUk1fV1JJVEU4KFZJQV9CQVNFLCByZWcsIHZhbCkKK3N0YXRp YyBpbmxpbmUgdTMyIHZpYV9yZWFkKHN0cnVjdCBkcm1fdmlhX3ByaXZhdGUgKmRldl9wcml2LCB1 MzIgcmVnKQoreworCXJldHVybiByZWFkbCgodm9pZCBfX2lvbWVtICopKGRldl9wcml2LT5tbWlv LT5oYW5kbGUgKyByZWcpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZpYV93cml0ZShzdHJ1 Y3QgZHJtX3ZpYV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHJlZywKKwkJCSAgICAgdTMyIHZhbCkK K3sKKwl3cml0ZWwodmFsLCAodm9pZCBfX2lvbWVtICopKGRldl9wcml2LT5tbWlvLT5oYW5kbGUg KyByZWcpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZpYV93cml0ZTgoc3RydWN0IGRybV92 aWFfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcsCisJCQkgICAgICB1MzIgdmFsKQoreworCXdy aXRlYih2YWwsICh2b2lkIF9faW9tZW0gKikoZGV2X3ByaXYtPm1taW8tPmhhbmRsZSArIHJlZykp OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdmlhX3dyaXRlOF9tYXNrKHN0cnVjdCBkcm1fdmlh X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSAgIHUzMiByZWcsIHUzMiBtYXNrLCB1MzIgdmFsKQor eworCXUzMiB0bXA7CisKKwl0bXAgPSByZWFkYigodm9pZCBfX2lvbWVtICopKGRldl9wcml2LT5t bWlvLT5oYW5kbGUgKyByZWcpKTsKKwl0bXAgPSAodG1wICYgfm1hc2spIHwgKHZhbCAmIG1hc2sp OworCXdyaXRlYih0bXAsICh2b2lkIF9faW9tZW0gKikoZGV2X3ByaXYtPm1taW8tPmhhbmRsZSAr IHJlZykpOworfQogCiBleHRlcm4gY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIHZpYV9pb2N0 bHNbXTsKIGV4dGVybiBpbnQgdmlhX21heF9pb2N0bDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92aWEvdmlhX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfaXJxLmMKaW5kZXgg Yzk2ODMwY2NjMGVjLi4wOGM4NzEyN2YxNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 aWEvdmlhX2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2lycS5jCkBAIC0xMDgs NyArMTA4LDcgQEAgaXJxcmV0dXJuX3QgdmlhX2RyaXZlcl9pcnFfaGFuZGxlcihpbnQgaXJxLCB2 b2lkICphcmcpCiAJZHJtX3ZpYV9pcnFfdCAqY3VyX2lycSA9IGRldl9wcml2LT52aWFfaXJxczsK IAlpbnQgaTsKIAotCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9SRUdfSU5URVJSVVBUKTsKKwlzdGF0 dXMgPSB2aWFfcmVhZChkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQpOwogCWlmIChzdGF0dXMg JiBWSUFfSVJRX1ZCTEFOS19QRU5ESU5HKSB7CiAJCWF0b21pY19pbmMoJmRldl9wcml2LT52Ymxf cmVjZWl2ZWQpOwogCQlpZiAoIShhdG9taWNfcmVhZCgmZGV2X3ByaXYtPnZibF9yZWNlaXZlZCkg JiAweDBGKSkgewpAQCAtMTQzLDcgKzE0Myw3IEBAIGlycXJldHVybl90IHZpYV9kcml2ZXJfaXJx X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQogCX0KIAogCS8qIEFja25vd2xlZGdlIGludGVy cnVwdHMgKi8KLQlWSUFfV1JJVEUoVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyk7CisJdmlhX3dy aXRlKGRldl9wcml2LCBWSUFfUkVHX0lOVEVSUlVQVCwgc3RhdHVzKTsKIAogCiAJaWYgKGhhbmRs ZWQpCkBAIC0xNTgsOCArMTU4LDggQEAgc3RhdGljIF9faW5saW5lX18gdm9pZCB2aWFkcnZfYWNr bm93bGVkZ2VfaXJxcyhkcm1fdmlhX3ByaXZhdGVfdCAqZGV2X3ByaXYpCiAKIAlpZiAoZGV2X3By aXYpIHsKIAkJLyogQWNrbm93bGVkZ2UgaW50ZXJydXB0cyAqLwotCQlzdGF0dXMgPSBWSUFfUkVB RChWSUFfUkVHX0lOVEVSUlVQVCk7Ci0JCVZJQV9XUklURShWSUFfUkVHX0lOVEVSUlVQVCwgc3Rh dHVzIHwKKwkJc3RhdHVzID0gdmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBUKTsK KwkJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX0lOVEVSUlVQVCwgc3RhdHVzIHwKIAkJCSAg ZGV2X3ByaXYtPmlycV9wZW5kaW5nX21hc2spOwogCX0KIH0KQEAgLTE3NCwxMSArMTc0LDExIEBA IGludCB2aWFfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcGlwZSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0Jc3RhdHVzID0gVklBX1JFQUQoVklB X1JFR19JTlRFUlJVUFQpOwotCVZJQV9XUklURShWSUFfUkVHX0lOVEVSUlVQVCwgc3RhdHVzIHwg VklBX0lSUV9WQkxBTktfRU5BQkxFKTsKKwlzdGF0dXMgPSB2aWFfcmVhZChkZXZfcHJpdiwgVklB X1JFR19JTlRFUlJVUFQpOworCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQs IHN0YXR1cyB8IFZJQV9JUlFfVkJMQU5LX0VOQUJMRSk7CiAKLQlWSUFfV1JJVEU4KDB4ODNkNCwg MHgxMSk7Ci0JVklBX1dSSVRFOCgweDgzZDUsIFZJQV9SRUFEOCgweDgzZDUpIHwgMHgzMCk7CisJ dmlhX3dyaXRlOChkZXZfcHJpdiwgMHg4M2Q0LCAweDExKTsKKwl2aWFfd3JpdGU4X21hc2soZGV2 X3ByaXYsIDB4ODNkNSwgMHgzMCwgMHgzMCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE4OCwxMSAr MTg4LDExIEBAIHZvaWQgdmlhX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHVuc2lnbmVkIGludCBwaXBlKQogCWRybV92aWFfcHJpdmF0ZV90ICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJdTMyIHN0YXR1czsKIAotCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9SRUdf SU5URVJSVVBUKTsKLQlWSUFfV1JJVEUoVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyAmIH5WSUFf SVJRX1ZCTEFOS19FTkFCTEUpOworCXN0YXR1cyA9IHZpYV9yZWFkKGRldl9wcml2LCBWSUFfUkVH X0lOVEVSUlVQVCk7CisJdmlhX3dyaXRlKGRldl9wcml2LCBWSUFfUkVHX0lOVEVSUlVQVCwgc3Rh dHVzICYgflZJQV9JUlFfVkJMQU5LX0VOQUJMRSk7CiAKLQlWSUFfV1JJVEU4KDB4ODNkNCwgMHgx MSk7Ci0JVklBX1dSSVRFOCgweDgzZDUsIFZJQV9SRUFEOCgweDgzZDUpICYgfjB4MzApOworCXZp YV93cml0ZTgoZGV2X3ByaXYsIDB4ODNkNCwgMHgxMSk7CisJdmlhX3dyaXRlOF9tYXNrKGRldl9w cml2LCAweDgzZDUsIDB4MzAsIDApOwogCiAJaWYgKHBpcGUgIT0gMCkKIAkJRFJNX0VSUk9SKCIl czogIGJhZCBjcnRjICV1XG4iLCBfX2Z1bmNfXywgcGlwZSk7CkBAIC0yMzQsNyArMjM0LDcgQEAg dmlhX2RyaXZlcl9pcnFfd2FpdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQg aXJxLCBpbnQgZm9yY2Vfc2VxdWVuY2UKIAogCWlmIChtYXNrc1tyZWFsX2lycV1bMl0gJiYgIWZv cmNlX3NlcXVlbmNlKSB7CiAJCURSTV9XQUlUX09OKHJldCwgY3VyX2lycS0+aXJxX3F1ZXVlLCAz ICogSFosCi0JCQkgICAgKChWSUFfUkVBRChtYXNrc1tpcnFdWzJdKSAmIG1hc2tzW2lycV1bM10p ID09CisJCQkgICAgKCh2aWFfcmVhZChkZXZfcHJpdiwgbWFza3NbaXJxXVsyXSkgJiBtYXNrc1tp cnFdWzNdKSA9PQogCQkJICAgICBtYXNrc1tpcnFdWzRdKSk7CiAJCWN1cl9pcnFfc2VxdWVuY2Ug PSBhdG9taWNfcmVhZCgmY3VyX2lycS0+aXJxX3JlY2VpdmVkKTsKIAl9IGVsc2UgewpAQCAtMjky LDggKzI5Miw4IEBAIHZvaWQgdmlhX2RyaXZlcl9pcnFfcHJlaW5zdGFsbChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQlkZXZfcHJpdi0+bGFzdF92YmxhbmtfdmFsaWQgPSAwOwogCiAJCS8qIENs ZWFyIFZTeW5jIGludGVycnVwdCByZWdzICovCi0JCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9SRUdf SU5URVJSVVBUKTsKLQkJVklBX1dSSVRFKFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgJgorCQlz dGF0dXMgPSB2aWFfcmVhZChkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQpOworCQl2aWFfd3Jp dGUoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgJgogCQkJICB+KGRldl9wcml2 LT5pcnFfZW5hYmxlX21hc2spKTsKIAogCQkvKiBDbGVhciBiaXRzIGlmIHRoZXkncmUgYWxyZWFk eSBoaWdoICovCkBAIC0zMTAsMTMgKzMxMCwxMyBAQCBpbnQgdmlhX2RyaXZlcl9pcnFfcG9zdGlu c3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAoIWRldl9wcml2KQogCQlyZXR1cm4g LUVJTlZBTDsKIAotCXN0YXR1cyA9IFZJQV9SRUFEKFZJQV9SRUdfSU5URVJSVVBUKTsKLQlWSUFf V1JJVEUoVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyB8IFZJQV9JUlFfR0xPQkFMCisJc3RhdHVz ID0gdmlhX3JlYWQoZGV2X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBUKTsKKwl2aWFfd3JpdGUoZGV2 X3ByaXYsIFZJQV9SRUdfSU5URVJSVVBULCBzdGF0dXMgfCBWSUFfSVJRX0dMT0JBTAogCQkgIHwg ZGV2X3ByaXYtPmlycV9lbmFibGVfbWFzayk7CiAKIAkvKiBTb21lIG1hZ2ljLCBvaCBmb3Igc29t ZSBkYXRhIHNoZWV0cyAhICovCi0JVklBX1dSSVRFOCgweDgzZDQsIDB4MTEpOwotCVZJQV9XUklU RTgoMHg4M2Q1LCBWSUFfUkVBRDgoMHg4M2Q1KSB8IDB4MzApOworCXZpYV93cml0ZTgoZGV2X3By aXYsIDB4ODNkNCwgMHgxMSk7CisJdmlhX3dyaXRlOF9tYXNrKGRldl9wcml2LCAweDgzZDUsIDB4 MzAsIDB4MzApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zMzEsMTEgKzMzMSwxMSBAQCB2b2lkIHZp YV9kcml2ZXJfaXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJCS8qIFNv bWUgbW9yZSBtYWdpYywgb2ggZm9yIHNvbWUgZGF0YSBzaGVldHMgISAqLwogCi0JCVZJQV9XUklU RTgoMHg4M2Q0LCAweDExKTsKLQkJVklBX1dSSVRFOCgweDgzZDUsIFZJQV9SRUFEOCgweDgzZDUp ICYgfjB4MzApOworCQl2aWFfd3JpdGU4KGRldl9wcml2LCAweDgzZDQsIDB4MTEpOworCQl2aWFf d3JpdGU4X21hc2soZGV2X3ByaXYsIDB4ODNkNSwgMHgzMCwgMCk7CiAKLQkJc3RhdHVzID0gVklB X1JFQUQoVklBX1JFR19JTlRFUlJVUFQpOwotCQlWSUFfV1JJVEUoVklBX1JFR19JTlRFUlJVUFQs IHN0YXR1cyAmCisJCXN0YXR1cyA9IHZpYV9yZWFkKGRldl9wcml2LCBWSUFfUkVHX0lOVEVSUlVQ VCk7CisJCXZpYV93cml0ZShkZXZfcHJpdiwgVklBX1JFR19JTlRFUlJVUFQsIHN0YXR1cyAmCiAJ CQkgIH4oVklBX0lSUV9WQkxBTktfRU5BQkxFIHwgZGV2X3ByaXYtPmlycV9lbmFibGVfbWFzaykp OwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5jCmluZGV4IGZiMjYwOTQzNGRmNy4u MDAyYzg4M2IwZDRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmll ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmMKQEAgLTcyNSwxNCAr NzI1LDE0IEBAIHZpYV9wYXJzZV9oZWFkZXIyKGRybV92aWFfcHJpdmF0ZV90ICpkZXZfcHJpdiwg dWludDMyX3QgY29uc3QgKipidWZmZXIsCiAJbmV4dF9maXJlID0gZGV2X3ByaXYtPmZpcmVfb2Zm c2V0c1sqZmlyZV9jb3VudF07CiAJYnVmKys7CiAJY21kID0gKCpidWYgJiAweEZGRkYwMDAwKSA+ PiAxNjsKLQlWSUFfV1JJVEUoSENfUkVHX1RSQU5TX1NFVCArIEhDX1JFR19CQVNFLCAqYnVmKysp OworCXZpYV93cml0ZShkZXZfcHJpdiwgSENfUkVHX1RSQU5TX1NFVCArIEhDX1JFR19CQVNFLCAq YnVmKyspOwogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBIQ19QYXJhVHlwZV9DbWRWZGF0YToKIAkJ d2hpbGUgKChidWYgPCBidWZfZW5kKSAmJgogCQkgICAgICAgKCpmaXJlX2NvdW50IDwgZGV2X3By aXYtPm51bV9maXJlX29mZnNldHMpICYmCiAJCSAgICAgICAoKmJ1ZiAmIEhDX0FDTURfTUFTSykg PT0gSENfQUNNRF9IQ21kQikgewogCQkJd2hpbGUgKGJ1ZiA8PSBuZXh0X2ZpcmUpIHsKLQkJCQlW SUFfV1JJVEUoSENfUkVHX1RSQU5TX1NQQUNFICsgSENfUkVHX0JBU0UgKworCQkJCXZpYV93cml0 ZShkZXZfcHJpdiwgSENfUkVHX1RSQU5TX1NQQUNFICsgSENfUkVHX0JBU0UgKwogCQkJCQkgIChi dXJzdCAmIDYzKSwgKmJ1ZisrKTsKIAkJCQlidXJzdCArPSA0OwogCQkJfQpAQCAtNzUzLDcgKzc1 Myw3IEBAIHZpYV9wYXJzZV9oZWFkZXIyKGRybV92aWFfcHJpdmF0ZV90ICpkZXZfcHJpdiwgdWlu dDMyX3QgY29uc3QgKipidWZmZXIsCiAJCQkgICAgKCpidWYgJiBWSUFfVklERU9NQVNLKSA9PSBW SUFfVklERU9fSEVBREVSNikKIAkJCQlicmVhazsKIAotCQkJVklBX1dSSVRFKEhDX1JFR19UUkFO U19TUEFDRSArIEhDX1JFR19CQVNFICsKKwkJCXZpYV93cml0ZShkZXZfcHJpdiwgSENfUkVHX1RS QU5TX1NQQUNFICsgSENfUkVHX0JBU0UgKwogCQkJCSAgKGJ1cnN0ICYgNjMpLCAqYnVmKyspOwog CQkJYnVyc3QgKz0gNDsKIAkJfQpAQCAtODQzLDcgKzg0Myw3IEBAIHZpYV9wYXJzZV9oZWFkZXIx KGRybV92aWFfcHJpdmF0ZV90ICpkZXZfcHJpdiwgdWludDMyX3QgY29uc3QgKipidWZmZXIsCiAJ CWNtZCA9ICpidWY7CiAJCWlmICgoY21kICYgSEFMQ1lPTl9IRUFERVIxTUFTSykgIT0gSEFMQ1lP Tl9IRUFERVIxKQogCQkJYnJlYWs7Ci0JCVZJQV9XUklURSgoY21kICYgfkhBTENZT05fSEVBREVS MU1BU0spIDw8IDIsICorK2J1Zik7CisJCXZpYV93cml0ZShkZXZfcHJpdiwgKGNtZCAmIH5IQUxD WU9OX0hFQURFUjFNQVNLKSA8PCAyLCAqKytidWYpOwogCQlidWYrKzsKIAl9CiAJKmJ1ZmZlciA9 IGJ1ZjsKQEAgLTg5NCw3ICs4OTQsNyBAQCB2aWFfcGFyc2VfdmhlYWRlcjUoZHJtX3ZpYV9wcml2 YXRlX3QgKmRldl9wcml2LCB1aW50MzJfdCBjb25zdCAqKmJ1ZmZlciwKIAlpID0gY291bnQgPSAq YnVmOwogCWJ1ZiArPSAzOwogCXdoaWxlIChpLS0pCi0JCVZJQV9XUklURShhZGRyLCAqYnVmKysp OworCQl2aWFfd3JpdGUoZGV2X3ByaXYsIGFkZHIsICpidWYrKyk7CiAJaWYgKGNvdW50ICYgMykK IAkJYnVmICs9IDQgLSAoY291bnQgJiAzKTsKIAkqYnVmZmVyID0gYnVmOwpAQCAtOTUwLDcgKzk1 MCw3IEBAIHZpYV9wYXJzZV92aGVhZGVyNihkcm1fdmlhX3ByaXZhdGVfdCAqZGV2X3ByaXYsIHVp bnQzMl90IGNvbnN0ICoqYnVmZmVyLAogCWJ1ZiArPSAzOwogCXdoaWxlIChpLS0pIHsKIAkJYWRk ciA9ICpidWYrKzsKLQkJVklBX1dSSVRFKGFkZHIsICpidWYrKyk7CisJCXZpYV93cml0ZShkZXZf cHJpdiwgYWRkciwgKmJ1ZisrKTsKIAl9CiAJY291bnQgPDw9IDE7CiAJaWYgKGNvdW50ICYgMykK LS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs