From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH 3/6] drm/qxl: use embedded gem object Date: Thu, 20 Jun 2019 09:44:21 +0200 Message-ID: <20190620074424.1677-4-kraxel@redhat.com> References: <20190620074424.1677-1-kraxel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190620074424.1677-1-kraxel@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spice-devel-bounces@lists.freedesktop.org Sender: "Spice-devel" To: dri-devel@lists.freedesktop.org Cc: David Airlie , open list , "open list:DRM DRIVER FOR QXL VIRTUAL GPU" , Gerd Hoffmann , Daniel Vetter , "open list:DRM DRIVER FOR QXL VIRTUAL GPU" , Dave Airlie List-Id: dri-devel@lists.freedesktop.org RHJvcCBkcm1fZ2VtX29iamVjdCBmcm9tIHF4bF9ibywgdXNlIHRoZQp0dG1fYnVmZmVyX29iamVj dC5iYXNlIGluc3RlYWQuCgpTaWduZWQtb2ZmLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVk aGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuaCAgICAgfCAgNiArKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX29iamVjdC5oICB8ICA0ICsrLS0KIGRyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2NtZC5jICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9xeGwv cXhsX2RlYnVnZnMuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMg fCAgOCArKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZ2VtLmMgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX29iamVjdC5jICB8IDIwICsrKysrKysrKystLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9yZWxlYXNlLmMgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfdHRtLmMgICAgIHwgIDQgKystLQogOSBmaWxlcyBjaGFuZ2VkLCAyNiBp bnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rydi5oCmluZGV4IDI4 OTZiYjZmZGJmNC4uYjgwZDRhNDM2MWNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhs L3F4bF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYuaApAQCAtNzIsMTIg KzcyLDEzIEBAIGV4dGVybiBpbnQgcXhsX21heF9pb2N0bHM7CiAJUVhMX0lOVEVSUlVQVF9DTElF TlRfTU9OSVRPUlNfQ09ORklHKQogCiBzdHJ1Y3QgcXhsX2JvIHsKKwlzdHJ1Y3QgdHRtX2J1ZmZl cl9vYmplY3QJdGJvOworCiAJLyogUHJvdGVjdGVkIGJ5IGdlbS5tdXRleCAqLwogCXN0cnVjdCBs aXN0X2hlYWQJCWxpc3Q7CiAJLyogUHJvdGVjdGVkIGJ5IHRiby5yZXNlcnZlZCAqLwogCXN0cnVj dCB0dG1fcGxhY2UJCXBsYWNlbWVudHNbM107CiAJc3RydWN0IHR0bV9wbGFjZW1lbnQJCXBsYWNl bWVudDsKLQlzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QJdGJvOwogCXN0cnVjdCB0dG1fYm9fa21h cF9vYmoJCWttYXA7CiAJdW5zaWduZWQgaW50IHBpbl9jb3VudDsKIAl2b2lkCQkJCSprcHRyOwpA QCAtODUsNyArODYsNiBAQCBzdHJ1Y3QgcXhsX2JvIHsKIAlpbnQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHR5cGU7CiAKIAkvKiBDb25zdGFudCBhZnRlciBpbml0aWFsaXphdGlvbiAqLwot CXN0cnVjdCBkcm1fZ2VtX29iamVjdAkJZ2VtX2Jhc2U7CiAJdW5zaWduZWQgaW50IGlzX3ByaW1h cnk6MTsgLyogaXMgdGhpcyBub3cgYSBwcmltYXJ5IHN1cmZhY2UgKi8KIAl1bnNpZ25lZCBpbnQg aXNfZHVtYjoxOwogCXN0cnVjdCBxeGxfYm8gKnNoYWRvdzsKQEAgLTk0LDcgKzk0LDcgQEAgc3Ry dWN0IHF4bF9ibyB7CiAJdWludDMyX3Qgc3VyZmFjZV9pZDsKIAlzdHJ1Y3QgcXhsX3JlbGVhc2Ug KnN1cmZfY3JlYXRlOwogfTsKLSNkZWZpbmUgZ2VtX3RvX3F4bF9ibyhnb2JqKSBjb250YWluZXJf b2YoKGdvYmopLCBzdHJ1Y3QgcXhsX2JvLCBnZW1fYmFzZSkKKyNkZWZpbmUgZ2VtX3RvX3F4bF9i byhnb2JqKSBjb250YWluZXJfb2YoKGdvYmopLCBzdHJ1Y3QgcXhsX2JvLCB0Ym8uYmFzZSkKICNk ZWZpbmUgdG9fcXhsX2JvKHRvYmopIGNvbnRhaW5lcl9vZigodG9iaiksIHN0cnVjdCBxeGxfYm8s IHRibykKIAogc3RydWN0IHF4bF9nZW0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4 bC9xeGxfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmplY3QuaAppbmRleCAy NTViOTE0ZTJhN2IuLmI4MTJkNGFlOWQwZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4 bC9xeGxfb2JqZWN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfb2JqZWN0LmgKQEAg LTM0LDcgKzM0LDcgQEAgc3RhdGljIGlubGluZSBpbnQgcXhsX2JvX3Jlc2VydmUoc3RydWN0IHF4 bF9ibyAqYm8sIGJvb2wgbm9fd2FpdCkKIAlyID0gdHRtX2JvX3Jlc2VydmUoJmJvLT50Ym8sIHRy dWUsIG5vX3dhaXQsIE5VTEwpOwogCWlmICh1bmxpa2VseShyICE9IDApKSB7CiAJCWlmIChyICE9 IC1FUkVTVEFSVFNZUykgewotCQkJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBiby0+Z2VtX2Jh c2UuZGV2OworCQkJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBiby0+dGJvLmJhc2UuZGV2Owog CiAJCQlkZXZfZXJyKGRkZXYtPmRldiwgIiVwIHJlc2VydmUgZmFpbGVkXG4iLCBibyk7CiAJCX0K QEAgLTcxLDcgKzcxLDcgQEAgc3RhdGljIGlubGluZSBpbnQgcXhsX2JvX3dhaXQoc3RydWN0IHF4 bF9ibyAqYm8sIHUzMiAqbWVtX3R5cGUsCiAJciA9IHR0bV9ib19yZXNlcnZlKCZiby0+dGJvLCB0 cnVlLCBub193YWl0LCBOVUxMKTsKIAlpZiAodW5saWtlbHkociAhPSAwKSkgewogCQlpZiAociAh PSAtRVJFU1RBUlRTWVMpIHsKLQkJCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gYm8tPmdlbV9i YXNlLmRldjsKKwkJCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gYm8tPnRiby5iYXNlLmRldjsK IAogCQkJZGV2X2VycihkZGV2LT5kZXYsICIlcCByZXNlcnZlIGZhaWxlZCBmb3Igd2FpdFxuIiwK IAkJCQlibyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9jbWQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2NtZC5jCmluZGV4IDBhMmU1MWFmMTIzMC4uNDk4MDAwODk5 YmZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9jbWQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcXhsL3F4bF9jbWQuYwpAQCAtMzc1LDcgKzM3NSw3IEBAIHZvaWQgcXhsX2lv X2Rlc3Ryb3lfcHJpbWFyeShzdHJ1Y3QgcXhsX2RldmljZSAqcWRldikKIHsKIAl3YWl0X2Zvcl9p b19jbWQocWRldiwgMCwgUVhMX0lPX0RFU1RST1lfUFJJTUFSWV9BU1lOQyk7CiAJcWRldi0+cHJp bWFyeV9iby0+aXNfcHJpbWFyeSA9IGZhbHNlOwotCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tl ZCgmcWRldi0+cHJpbWFyeV9iby0+Z2VtX2Jhc2UpOworCWRybV9nZW1fb2JqZWN0X3B1dF91bmxv Y2tlZCgmcWRldi0+cHJpbWFyeV9iby0+dGJvLmJhc2UpOwogCXFkZXYtPnByaW1hcnlfYm8gPSBO VUxMOwogfQogCkBAIC00MDIsNyArNDAyLDcgQEAgdm9pZCBxeGxfaW9fY3JlYXRlX3ByaW1hcnko c3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsIHN0cnVjdCBxeGxfYm8gKmJvKQogCXdhaXRfZm9yX2lv X2NtZChxZGV2LCAwLCBRWExfSU9fQ1JFQVRFX1BSSU1BUllfQVNZTkMpOwogCXFkZXYtPnByaW1h cnlfYm8gPSBibzsKIAlxZGV2LT5wcmltYXJ5X2JvLT5pc19wcmltYXJ5ID0gdHJ1ZTsKLQlkcm1f Z2VtX29iamVjdF9nZXQoJnFkZXYtPnByaW1hcnlfYm8tPmdlbV9iYXNlKTsKKwlkcm1fZ2VtX29i amVjdF9nZXQoJnFkZXYtPnByaW1hcnlfYm8tPnRiby5iYXNlKTsKIH0KIAogdm9pZCBxeGxfaW9f bWVtc2xvdF9hZGQoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsIHVpbnQ4X3QgaWQpCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0v cXhsL3F4bF9kZWJ1Z2ZzLmMKaW5kZXggMTE4NDIyNTQ5ODI4Li4wMTNiOTM4OTg2YzcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcXhsL3F4bF9kZWJ1Z2ZzLmMKQEAgLTY2LDcgKzY2LDcgQEAgcXhsX2RlYnVnZnNfYnVm ZmVyc19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJcmN1X3JlYWRfdW5s b2NrKCk7CiAKIAkJc2VxX3ByaW50ZihtLCAic2l6ZSAlbGQsIHBjICVkLCBudW0gcmVsZWFzZXMg JWRcbiIsCi0JCQkgICAodW5zaWduZWQgbG9uZyliby0+Z2VtX2Jhc2Uuc2l6ZSwKKwkJCSAgICh1 bnNpZ25lZCBsb25nKWJvLT50Ym8uYmFzZS5zaXplLAogCQkJICAgYm8tPnBpbl9jb3VudCwgcmVs KTsKIAl9CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKaW5kZXggOGIzMTll YmJiMGZiLi45M2UzMWQwNjI4NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhs X2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKQEAgLTc5 NCw3ICs3OTQsNyBAQCBzdGF0aWMgaW50IHF4bF9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCQkgICAgcWRldi0+ZHVtYl9zaGFkb3dfYm8tPnN1cmYuaGVpZ2h0ICE9 IHN1cmYuaGVpZ2h0KSB7CiAJCQlpZiAocWRldi0+ZHVtYl9zaGFkb3dfYm8pIHsKIAkJCQlkcm1f Z2VtX29iamVjdF9wdXRfdW5sb2NrZWQKLQkJCQkJKCZxZGV2LT5kdW1iX3NoYWRvd19iby0+Z2Vt X2Jhc2UpOworCQkJCQkoJnFkZXYtPmR1bWJfc2hhZG93X2JvLT50Ym8uYmFzZSk7CiAJCQkJcWRl di0+ZHVtYl9zaGFkb3dfYm8gPSBOVUxMOwogCQkJfQogCQkJcXhsX2JvX2NyZWF0ZShxZGV2LCBz dXJmLmhlaWdodCAqIHN1cmYuc3RyaWRlLApAQCAtODA0LDEwICs4MDQsMTAgQEAgc3RhdGljIGlu dCBxeGxfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJaWYgKHVz ZXJfYm8tPnNoYWRvdyAhPSBxZGV2LT5kdW1iX3NoYWRvd19ibykgewogCQkJaWYgKHVzZXJfYm8t PnNoYWRvdykgewogCQkJCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZAotCQkJCQkoJnVzZXJf Ym8tPnNoYWRvdy0+Z2VtX2Jhc2UpOworCQkJCQkoJnVzZXJfYm8tPnNoYWRvdy0+dGJvLmJhc2Up OwogCQkJCXVzZXJfYm8tPnNoYWRvdyA9IE5VTEw7CiAJCQl9Ci0JCQlkcm1fZ2VtX29iamVjdF9n ZXQoJnFkZXYtPmR1bWJfc2hhZG93X2JvLT5nZW1fYmFzZSk7CisJCQlkcm1fZ2VtX29iamVjdF9n ZXQoJnFkZXYtPmR1bWJfc2hhZG93X2JvLT50Ym8uYmFzZSk7CiAJCQl1c2VyX2JvLT5zaGFkb3cg PSBxZGV2LT5kdW1iX3NoYWRvd19ibzsKIAkJfQogCX0KQEAgLTgzOCw3ICs4MzgsNyBAQCBzdGF0 aWMgdm9pZCBxeGxfcGxhbmVfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlx eGxfYm9fdW5waW4odXNlcl9ibyk7CiAKIAlpZiAob2xkX3N0YXRlLT5mYiAhPSBwbGFuZS0+c3Rh dGUtPmZiICYmIHVzZXJfYm8tPnNoYWRvdykgewotCQlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2Nr ZWQoJnVzZXJfYm8tPnNoYWRvdy0+Z2VtX2Jhc2UpOworCQlkcm1fZ2VtX29iamVjdF9wdXRfdW5s b2NrZWQoJnVzZXJfYm8tPnNoYWRvdy0+dGJvLmJhc2UpOwogCQl1c2VyX2JvLT5zaGFkb3cgPSBO VUxMOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZ2VtLmMKaW5kZXggODk2MDZjODE5ZDgyLi4wMDJkYzVh N2M0NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2dlbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2dlbS5jCkBAIC02NCw3ICs2NCw3IEBAIGludCBxeGxfZ2Vt X29iamVjdF9jcmVhdGUoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYsIGludCBzaXplLAogCQkJCSAg c2l6ZSwgaW5pdGlhbF9kb21haW4sIGFsaWdubWVudCwgcik7CiAJCXJldHVybiByOwogCX0KLQkq b2JqID0gJnFiby0+Z2VtX2Jhc2U7CisJKm9iaiA9ICZxYm8tPnRiby5iYXNlOwogCiAJbXV0ZXhf bG9jaygmcWRldi0+Z2VtLm11dGV4KTsKIAlsaXN0X2FkZF90YWlsKCZxYm8tPmxpc3QsICZxZGV2 LT5nZW0ub2JqZWN0cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmpl Y3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX29iamVjdC5jCmluZGV4IDQ5MjhmYTYwMjk0 NC4uNTQ4ZGZlNmYzYjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmpl Y3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9vYmplY3QuYwpAQCAtMzMsMTQgKzMz LDE0IEBAIHN0YXRpYyB2b2lkIHF4bF90dG1fYm9fZGVzdHJveShzdHJ1Y3QgdHRtX2J1ZmZlcl9v YmplY3QgKnRibykKIAlzdHJ1Y3QgcXhsX2RldmljZSAqcWRldjsKIAogCWJvID0gdG9fcXhsX2Jv KHRibyk7Ci0JcWRldiA9IChzdHJ1Y3QgcXhsX2RldmljZSAqKWJvLT5nZW1fYmFzZS5kZXYtPmRl dl9wcml2YXRlOworCXFkZXYgPSAoc3RydWN0IHF4bF9kZXZpY2UgKiliby0+dGJvLmJhc2UuZGV2 LT5kZXZfcHJpdmF0ZTsKIAogCXF4bF9zdXJmYWNlX2V2aWN0KHFkZXYsIGJvLCBmYWxzZSk7CiAJ V0FSTl9PTl9PTkNFKGJvLT5tYXBfY291bnQgPiAwKTsKIAltdXRleF9sb2NrKCZxZGV2LT5nZW0u bXV0ZXgpOwogCWxpc3RfZGVsX2luaXQoJmJvLT5saXN0KTsKIAltdXRleF91bmxvY2soJnFkZXYt PmdlbS5tdXRleCk7Ci0JZHJtX2dlbV9vYmplY3RfcmVsZWFzZSgmYm8tPmdlbV9iYXNlKTsKKwlk cm1fZ2VtX29iamVjdF9yZWxlYXNlKCZiby0+dGJvLmJhc2UpOwogCWtmcmVlKGJvKTsKIH0KIApA QCAtOTUsNyArOTUsNyBAQCBpbnQgcXhsX2JvX2NyZWF0ZShzdHJ1Y3QgcXhsX2RldmljZSAqcWRl diwKIAlpZiAoYm8gPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAJc2l6ZSA9IHJvdW5kdXAo c2l6ZSwgUEFHRV9TSVpFKTsKLQlyID0gZHJtX2dlbV9vYmplY3RfaW5pdCgmcWRldi0+ZGRldiwg JmJvLT5nZW1fYmFzZSwgc2l6ZSk7CisJciA9IGRybV9nZW1fb2JqZWN0X2luaXQoJnFkZXYtPmRk ZXYsICZiby0+dGJvLmJhc2UsIHNpemUpOwogCWlmICh1bmxpa2VseShyKSkgewogCQlrZnJlZShi byk7CiAJCXJldHVybiByOwpAQCAtMjE0LDIwICsyMTQsMjAgQEAgdm9pZCBxeGxfYm9fdW5yZWYo c3RydWN0IHF4bF9ibyAqKmJvKQogCWlmICgoKmJvKSA9PSBOVUxMKQogCQlyZXR1cm47CiAKLQlk cm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQoJigqYm8pLT5nZW1fYmFzZSk7CisJZHJtX2dlbV9v YmplY3RfcHV0X3VubG9ja2VkKCYoKmJvKS0+dGJvLmJhc2UpOwogCSpibyA9IE5VTEw7CiB9CiAK IHN0cnVjdCBxeGxfYm8gKnF4bF9ib19yZWYoc3RydWN0IHF4bF9ibyAqYm8pCiB7Ci0JZHJtX2dl bV9vYmplY3RfZ2V0KCZiby0+Z2VtX2Jhc2UpOworCWRybV9nZW1fb2JqZWN0X2dldCgmYm8tPnRi by5iYXNlKTsKIAlyZXR1cm4gYm87CiB9CiAKIHN0YXRpYyBpbnQgX19xeGxfYm9fcGluKHN0cnVj dCBxeGxfYm8gKmJvKQogewogCXN0cnVjdCB0dG1fb3BlcmF0aW9uX2N0eCBjdHggPSB7IGZhbHNl LCBmYWxzZSB9OwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gYm8tPmdlbV9iYXNlLmRldjsK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiA9IGJvLT50Ym8uYmFzZS5kZXY7CiAJaW50IHI7CiAK IAlpZiAoYm8tPnBpbl9jb3VudCkgewpAQCAtMjQ3LDcgKzI0Nyw3IEBAIHN0YXRpYyBpbnQgX19x eGxfYm9fcGluKHN0cnVjdCBxeGxfYm8gKmJvKQogc3RhdGljIGludCBfX3F4bF9ib191bnBpbihz dHJ1Y3QgcXhsX2JvICpibykKIHsKIAlzdHJ1Y3QgdHRtX29wZXJhdGlvbl9jdHggY3R4ID0geyBm YWxzZSwgZmFsc2UgfTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiA9IGJvLT5nZW1fYmFzZS5k ZXY7CisJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBiby0+dGJvLmJhc2UuZGV2OwogCWludCBy LCBpOwogCiAJaWYgKCFiby0+cGluX2NvdW50KSB7CkBAIC0zMTAsMTMgKzMxMCwxMyBAQCB2b2lk IHF4bF9ib19mb3JjZV9kZWxldGUoc3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCiAJZGV2X2Vycihx ZGV2LT5kZGV2LmRldiwgIlVzZXJzcGFjZSBzdGlsbCBoYXMgYWN0aXZlIG9iamVjdHMgIVxuIik7 CiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGJvLCBuLCAmcWRldi0+Z2VtLm9iamVjdHMsIGxp c3QpIHsKIAkJZGV2X2VycihxZGV2LT5kZGV2LmRldiwgIiVwICVwICVsdSAlbHUgZm9yY2UgZnJl ZVxuIiwKLQkJCSZiby0+Z2VtX2Jhc2UsIGJvLCAodW5zaWduZWQgbG9uZyliby0+Z2VtX2Jhc2Uu c2l6ZSwKLQkJCSooKHVuc2lnbmVkIGxvbmcgKikmYm8tPmdlbV9iYXNlLnJlZmNvdW50KSk7CisJ CQkmYm8tPnRiby5iYXNlLCBibywgKHVuc2lnbmVkIGxvbmcpYm8tPnRiby5iYXNlLnNpemUsCisJ CQkqKCh1bnNpZ25lZCBsb25nICopJmJvLT50Ym8uYmFzZS5yZWZjb3VudCkpOwogCQltdXRleF9s b2NrKCZxZGV2LT5nZW0ubXV0ZXgpOwogCQlsaXN0X2RlbF9pbml0KCZiby0+bGlzdCk7CiAJCW11 dGV4X3VubG9jaygmcWRldi0+Z2VtLm11dGV4KTsKIAkJLyogdGhpcyBzaG91bGQgdW5yZWYgdGhl IHR0bSBibyAqLwotCQlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQoJmJvLT5nZW1fYmFzZSk7 CisJCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZCgmYm8tPnRiby5iYXNlKTsKIAl9CiB9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3JlbGVhc2UuYyBiL2RyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX3JlbGVhc2UuYwppbmRleCA0OWY5YTkzODUzOTMuLjMyMTI2ZTg4MzZi MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfcmVsZWFzZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX3JlbGVhc2UuYwpAQCAtMjM5LDcgKzIzOSw3IEBAIHN0YXRp YyBpbnQgcXhsX3JlbGVhc2VfdmFsaWRhdGVfYm8oc3RydWN0IHF4bF9ibyAqYm8pCiAJCXJldHVy biByZXQ7CiAKIAkvKiBhbGxvY2F0ZSBhIHN1cmZhY2UgZm9yIHJlc2VydmVkICsgdmFsaWRhdGVk IGJ1ZmZlcnMgKi8KLQlyZXQgPSBxeGxfYm9fY2hlY2tfaWQoYm8tPmdlbV9iYXNlLmRldi0+ZGV2 X3ByaXZhdGUsIGJvKTsKKwlyZXQgPSBxeGxfYm9fY2hlY2tfaWQoYm8tPnRiby5iYXNlLmRldi0+ ZGV2X3ByaXZhdGUsIGJvKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCXJldHVybiAwOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMgYi9kcml2ZXJzL2dwdS9k cm0vcXhsL3F4bF90dG0uYwppbmRleCAwMjM0Zjg1NTZhZGEuLjJhNTc0Y2M0ZDk1ZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L3F4bC9xeGxfdHRtLmMKQEAgLTE1Myw3ICsxNTMsNyBAQCBzdGF0aWMgaW50IHF4bF92ZXJpZnlf YWNjZXNzKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sIHN0cnVjdCBmaWxlICpmaWxwKQog ewogCXN0cnVjdCBxeGxfYm8gKnFibyA9IHRvX3F4bF9ibyhibyk7CiAKLQlyZXR1cm4gZHJtX3Zt YV9ub2RlX3ZlcmlmeV9hY2Nlc3MoJnFiby0+Z2VtX2Jhc2Uudm1hX25vZGUsCisJcmV0dXJuIGRy bV92bWFfbm9kZV92ZXJpZnlfYWNjZXNzKCZxYm8tPnRiby5iYXNlLnZtYV9ub2RlLAogCQkJCQkg IGZpbHAtPnByaXZhdGVfZGF0YSk7CiB9CiAKQEAgLTI5NSw3ICsyOTUsNyBAQCBzdGF0aWMgdm9p ZCBxeGxfYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKIAlpZiAo IXF4bF90dG1fYm9faXNfcXhsX2JvKGJvKSkKIAkJcmV0dXJuOwogCXFibyA9IHRvX3F4bF9ibyhi byk7Ci0JcWRldiA9IHFiby0+Z2VtX2Jhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKKwlxZGV2ID0gcWJv LT50Ym8uYmFzZS5kZXYtPmRldl9wcml2YXRlOwogCiAJaWYgKGJvLT5tZW0ubWVtX3R5cGUgPT0g VFRNX1BMX1BSSVYgJiYgcWJvLT5zdXJmYWNlX2lkKQogCQlxeGxfc3VyZmFjZV9ldmljdChxZGV2 LCBxYm8sIG5ld19tZW0gPyB0cnVlIDogZmFsc2UpOwotLSAKMi4xOC4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpTcGljZS1kZXZlbCBtYWlsaW5nIGxp c3QKU3BpY2UtZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vc3BpY2UtZGV2ZWw=