From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH v3] drm/atomic: integrate modeset lock with private objects Date: Mon, 22 Oct 2018 14:31:22 +0200 Message-ID: <20181022123122.30468-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 7C557897E0 for ; Mon, 22 Oct 2018 12:31:35 +0000 (UTC) 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 Cc: Daniel Vetter , Boris Brezillon List-Id: dri-devel@lists.freedesktop.org RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgoKRm9sbG93IHRoZSBzYW1lIHBh dHRlcm4gb2YgbG9ja2luZyBhcyB3aXRoIG90aGVyIHN0YXRlIG9iamVjdHMuIFRoaXMKYXZvaWRz IGJvaWxlcnBsYXRlIGluIHRoZSBkcml2ZXIuCgpTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJv YmRjbGFya0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMu YnJlemlsbG9uQGJvb3RsaW4uY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVs LnZldHRlckBmZndsbC5jaD4KLS0tCkNoYW5nZXMgaW4gdjM6Ci0gSW1wcm92ZSBkb2MgYXMgc3Vn Z2VzdGVkIGJ5IERhbmllbAotIEFkZCBEYW5pZWwncyBSLWIKCkNoYW5nZXMgaW4gdjI6Ci0gTWFr ZSBzdXJlIGFsbCBwcml2IG9ianMgYXJlIGxvY2tlZCBmcm9tIGRybV9tb2Rlc2V0X2xvY2tfYWxs X2N0eCgpLgogIFRoaXMgaW1wbGllcyBhZGRpbmcgYWxsIHByaXYgb2JqcyB0byBtb2RlX2NvbmZp Zy5wcml2b2JqX2xpc3QsIGFuZAogIGluIHR1cm4gbWVhbnMgd2UgaGF2ZSB0byBjaGFuZ2UgdGhl IGRybV9hdG9taWNfcHJpdmF0ZV9vYmpfaW5pdCgpCiAgcHJvdG90eXBlIGFuZCBwYXNzIGl0IGEg ZHJtX2RldmljZS4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgICAg IHwgMTkgKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5j ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYyAgICAgICAgfCAg MSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jICAgICAgIHwgIDggKysrKysK IGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2h1Yi5jICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9rbXMuYyAgICAgICAgICAgIHwgIDMgKy0KIGluY2x1ZGUvZHJtL2RybV9hdG9t aWMuaCAgICAgICAgICAgICAgICAgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKy0KIGluY2x1 ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oICAgICAgICAgICAgfCAgOSArKysrKysKIDkgZmlsZXMg Y2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YwppbmRleCAyODcwYWUyMDUyMzcuLjBlMjdkNDVmZWJhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCkBA IC02NTcsNiArNjU3LDcgQEAgc3RhdGljIHZvaWQgZHJtX2F0b21pY19wbGFuZV9wcmludF9zdGF0 ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCiAKIC8qKgogICogZHJtX2F0b21pY19wcml2YXRlX29i al9pbml0IC0gaW5pdGlhbGl6ZSBwcml2YXRlIG9iamVjdAorICogQGRldjogRFJNIGRldmljZSB0 aGlzIG9iamVjdCB3aWxsIGJlIGF0dGFjaGVkIHRvCiAgKiBAb2JqOiBwcml2YXRlIG9iamVjdAog ICogQHN0YXRlOiBpbml0aWFsIHByaXZhdGUgb2JqZWN0IHN0YXRlCiAgKiBAZnVuY3M6IHBvaW50 ZXIgdG8gdGhlIHN0cnVjdCBvZiBmdW5jdGlvbiBwb2ludGVycyB0aGF0IGlkZW50aWZ5IHRoZSBv YmplY3QKQEAgLTY2NiwxNCArNjY3LDE4IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfcGxhbmVf cHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAogICogZHJpdmVyIHByaXZhdGUgb2Jq ZWN0IHRoYXQgbmVlZHMgaXRzIG93biBhdG9taWMgc3RhdGUuCiAgKi8KIHZvaWQKLWRybV9hdG9t aWNfcHJpdmF0ZV9vYmpfaW5pdChzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmosCitkcm1fYXRv bWljX3ByaXZhdGVfb2JqX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgICBzdHJ1 Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmosCiAJCQkgICAgc3RydWN0IGRybV9wcml2YXRlX3N0YXRl ICpzdGF0ZSwKIAkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgKmZ1 bmNzKQogewogCW1lbXNldChvYmosIDAsIHNpemVvZigqb2JqKSk7CiAKKwlkcm1fbW9kZXNldF9s b2NrX2luaXQoJm9iai0+bG9jayk7CisKIAlvYmotPnN0YXRlID0gc3RhdGU7CiAJb2JqLT5mdW5j cyA9IGZ1bmNzOworCWxpc3RfYWRkX3RhaWwoJm9iai0+aGVhZCwgJmRldi0+bW9kZV9jb25maWcu cHJpdm9ial9saXN0KTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19wcml2YXRlX29ial9p bml0KTsKIApAQCAtNjg2LDcgKzY5MSw5IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19wcml2 YXRlX29ial9pbml0KTsKIHZvaWQKIGRybV9hdG9taWNfcHJpdmF0ZV9vYmpfZmluaShzdHJ1Y3Qg ZHJtX3ByaXZhdGVfb2JqICpvYmopCiB7CisJbGlzdF9kZWwoJm9iai0+aGVhZCk7CiAJb2JqLT5m dW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3RhdGUob2JqLCBvYmotPnN0YXRlKTsKKwlkcm1fbW9kZXNl dF9sb2NrX2ZpbmkoJm9iai0+bG9jayk7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfcHJp dmF0ZV9vYmpfZmluaSk7CiAKQEAgLTY5Niw4ICs3MDMsOCBAQCBFWFBPUlRfU1lNQk9MKGRybV9h dG9taWNfcHJpdmF0ZV9vYmpfZmluaSk7CiAgKiBAb2JqOiBwcml2YXRlIG9iamVjdCB0byBnZXQg dGhlIHN0YXRlIGZvcgogICoKICAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcHJpdmF0ZSBv YmplY3Qgc3RhdGUgZm9yIHRoZSBnaXZlbiBwcml2YXRlIG9iamVjdCwKLSAqIGFsbG9jYXRpbmcg dGhlIHN0YXRlIGlmIG5lZWRlZC4gSXQgZG9lcyBub3QgZ3JhYiBhbnkgbG9ja3MgYXMgdGhlIGNh bGxlciBpcwotICogZXhwZWN0ZWQgdG8gY2FyZSBvZiBhbnkgcmVxdWlyZWQgbG9ja2luZy4KKyAq IGFsbG9jYXRpbmcgdGhlIHN0YXRlIGlmIG5lZWRlZC4gSXQgd2lsbCBhbHNvIGdyYWIgdGhlIHJl bGV2YW50IHByaXZhdGUKKyAqIG9iamVjdCBsb2NrIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBzdGF0 ZSBpcyBjb25zaXN0ZW50LgogICoKICAqIFJFVFVSTlM6CiAgKgpAQCAtNzA3LDcgKzcxNCw3IEBA IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAqCiBkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9z dGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJIHN0cnVjdCBkcm1fcHJp dmF0ZV9vYmogKm9iaikKIHsKLQlpbnQgaW5kZXgsIG51bV9vYmpzLCBpOworCWludCBpbmRleCwg bnVtX29ianMsIGksIHJldDsKIAlzaXplX3Qgc2l6ZTsKIAlzdHJ1Y3QgX19kcm1fcHJpdmF0ZV9v YmpzX3N0YXRlICphcnI7CiAJc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICpvYmpfc3RhdGU7CkBA IC03MTYsNiArNzIzLDEwIEBAIGRybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJaWYgKG9iaiA9PSBzdGF0ZS0+cHJpdmF0ZV9v YmpzW2ldLnB0cikKIAkJCXJldHVybiBzdGF0ZS0+cHJpdmF0ZV9vYmpzW2ldLnN0YXRlOwogCisJ cmV0ID0gZHJtX21vZGVzZXRfbG9jaygmb2JqLT5sb2NrLCBzdGF0ZS0+YWNxdWlyZV9jdHgpOwor CWlmIChyZXQpCisJCXJldHVybiBFUlJfUFRSKHJldCk7CisKIAludW1fb2JqcyA9IHN0YXRlLT5u dW1fcHJpdmF0ZV9vYmpzICsgMTsKIAlzaXplID0gc2l6ZW9mKCpzdGF0ZS0+cHJpdmF0ZV9vYmpz KSAqIG51bV9vYmpzOwogCWFyciA9IGtyZWFsbG9jKHN0YXRlLT5wcml2YXRlX29ianMsIHNpemUs IEdGUF9LRVJORUwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9w b2xvZ3kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKaW5kZXggNWZm MWQ3OWI4NmM0Li4wYWI0N2NkNDRhMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHBfbXN0X3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xv Z3kuYwpAQCAtMzIxMCw3ICszMjEwLDcgQEAgaW50IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2lu aXQoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJLyogbWF4LiB0aW1lIHNs b3RzIC0gb25lIHNsb3QgZm9yIE1UUCBoZWFkZXIgKi8KIAltc3Rfc3RhdGUtPmF2YWlsX3Nsb3Rz ID0gNjM7CiAKLQlkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2luaXQoJm1nci0+YmFzZSwKKwlkcm1f YXRvbWljX3ByaXZhdGVfb2JqX2luaXQoZGV2LCAmbWdyLT5iYXNlLAogCQkJCSAgICAmbXN0X3N0 YXRlLT5iYXNlLAogCQkJCSAgICAmbXN0X3N0YXRlX2Z1bmNzKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZpZy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl X2NvbmZpZy5jCmluZGV4IGVlODA3ODhmMmM0MC4uOTMxNTIzYzViYzlkIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfY29uZmlnLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5jCkBAIC0zODEsNiArMzgxLDcgQEAgdm9pZCBkcm1fbW9kZV9jb25maWdf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCUlOSVRfTElTVF9IRUFEKCZkZXYtPm1vZGVf Y29uZmlnLnByb3BlcnR5X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZkZXYtPm1vZGVfY29uZmln LnByb3BlcnR5X2Jsb2JfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmRldi0+bW9kZV9jb25maWcu cGxhbmVfbGlzdCk7CisJSU5JVF9MSVNUX0hFQUQoJmRldi0+bW9kZV9jb25maWcucHJpdm9ial9s aXN0KTsKIAlpZHJfaW5pdCgmZGV2LT5tb2RlX2NvbmZpZy5jcnRjX2lkcik7CiAJaWRyX2luaXQo JmRldi0+bW9kZV9jb25maWcudGlsZV9pZHIpOwogCWlkYV9pbml0KCZkZXYtPm1vZGVfY29uZmln LmNvbm5lY3Rvcl9pZGEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0 X2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9sb2NrLmMKaW5kZXggOGE1MTAw Njg1ODc1Li4wODhiZTJlM2MzOTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9k ZXNldF9sb2NrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2suYwpAQCAt MjIsNiArMjIsNyBAQAogICovCiAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRy bS9kcm1fYXRvbWljLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9tb2Rlc2V0X2xvY2suaD4KIApAQCAtMzg4LDYgKzM4OSw3IEBAIEVYUE9SVF9TWU1CT0wo ZHJtX21vZGVzZXRfdW5sb2NrKTsKIGludCBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHgoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4 ICpjdHgpCiB7CisJc3RydWN0IGRybV9wcml2YXRlX29iaiAqcHJpdm9iajsKIAlzdHJ1Y3QgZHJt X2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJaW50IHJldDsKQEAgLTQw OCw2ICs0MTAsMTIgQEAgaW50IGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0eChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJcmV0dXJuIHJldDsKIAl9CiAKKwlkcm1fZm9yX2VhY2hfcHJpdm9iaihw cml2b2JqLCBkZXYpIHsKKwkJcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmcHJpdm9iai0+bG9jaywg Y3R4KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCiAJcmV0dXJuIDA7CiB9CiBF WFBPUlRfU1lNQk9MKGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0eCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL21kcDUvbWRwNV9rbXMuYwppbmRleCBiZGRkNjI1YWI5MWIuLmY3MWQ4Y2YyMjYxYiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCkBAIC0xNDQsNyArMTQ0 LDcgQEAgc3RhdGljIGludCBtZHA1X2dsb2JhbF9vYmpfaW5pdChzdHJ1Y3QgbWRwNV9rbXMgKm1k cDVfa21zKQogCiAJc3RhdGUtPm1kcDVfa21zID0gbWRwNV9rbXM7CiAKLQlkcm1fYXRvbWljX3By aXZhdGVfb2JqX2luaXQoJm1kcDVfa21zLT5nbG9iX3N0YXRlLAorCWRybV9hdG9taWNfcHJpdmF0 ZV9vYmpfaW5pdChtZHA1X2ttcy0+ZGV2LCAmbWRwNV9rbXMtPmdsb2Jfc3RhdGUsCiAJCQkJICAg ICZzdGF0ZS0+YmFzZSwKIAkJCQkgICAgJm1kcDVfZ2xvYmFsX3N0YXRlX2Z1bmNzKTsKIAlyZXR1 cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9odWIuYyBiL2RyaXZlcnMv Z3B1L2RybS90ZWdyYS9odWIuYwppbmRleCA4ZjRmY2JiNTE1ZmIuLjIwYzQ0YjQxMjE0OCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2h1Yi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS90ZWdyYS9odWIuYwpAQCAtNzE2LDcgKzcxNiw3IEBAIHN0YXRpYyBpbnQgdGVncmFfZGlzcGxh eV9odWJfaW5pdChzdHJ1Y3QgaG9zdDF4X2NsaWVudCAqY2xpZW50KQogCWlmICghc3RhdGUpCiAJ CXJldHVybiAtRU5PTUVNOwogCi0JZHJtX2F0b21pY19wcml2YXRlX29ial9pbml0KCZodWItPmJh c2UsICZzdGF0ZS0+YmFzZSwKKwlkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2luaXQoZHJtLCAmaHVi LT5iYXNlLCAmc3RhdGUtPmJhc2UsCiAJCQkJICAgICZ0ZWdyYV9kaXNwbGF5X2h1Yl9zdGF0ZV9m dW5jcyk7CiAKIAl0ZWdyYS0+aHViID0gaHViOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9rbXMuYwppbmRleCAxMjc0 Njg3ODVmNzQuLjVjOTgyM2NjYjNmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMKQEAgLTQyNiw3ICs0 MjYsOCBAQCBpbnQgdmM0X2ttc19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJY3RtX3N0 YXRlID0ga3phbGxvYyhzaXplb2YoKmN0bV9zdGF0ZSksIEdGUF9LRVJORUwpOwogCWlmICghY3Rt X3N0YXRlKQogCQlyZXR1cm4gLUVOT01FTTsKLQlkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2luaXQo JnZjNC0+Y3RtX21hbmFnZXIsICZjdG1fc3RhdGUtPmJhc2UsCisKKwlkcm1fYXRvbWljX3ByaXZh dGVfb2JqX2luaXQoZGV2LCAmdmM0LT5jdG1fbWFuYWdlciwgJmN0bV9zdGF0ZS0+YmFzZSwKIAkJ CQkgICAgJnZjNF9jdG1fc3RhdGVfZnVuY3MpOwogCiAJZHJtX21vZGVfY29uZmlnX3Jlc2V0KGRl dik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmggYi9pbmNsdWRlL2RybS9k cm1fYXRvbWljLmgKaW5kZXggYzA5ZWNhZjQzODI1Li5hZmFhOGE2NTA0OWUgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgK QEAgLTIxNyw4ICsyMTcsMzAgQEAgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzIHsKICAq IEN1cnJlbnRseSBvbmx5IHRyYWNrcyB0aGUgc3RhdGUgdXBkYXRlIGZ1bmN0aW9ucyBhbmQgdGhl IG9wYXF1ZSBkcml2ZXIKICAqIHByaXZhdGUgc3RhdGUgaXRzZWxmLCBidXQgaW4gdGhlIGZ1dHVy ZSBtaWdodCBhbHNvIHRyYWNrIHdoaWNoCiAgKiAmZHJtX21vZGVzZXRfbG9jayBpcyByZXF1aXJl ZCB0byBkdXBsaWNhdGUgYW5kIHVwZGF0ZSB0aGlzIG9iamVjdCdzIHN0YXRlLgorICoKKyAqIEFs bCBwcml2YXRlIG9iamVjdHMgbXVzdCBiZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIERSTSBkZXZp Y2UgdGhleSBhcmUKKyAqIGF0dGFjaGVkIHRvIGlzIHJlZ2lzdGVyZWQgdG8gdGhlIERSTSBzdWJz eXN0ZW0gKGNhbGwgdG8gZHJtX2Rldl9yZWdpc3RlcigpKQorICogYW5kIHNob3VsZCBzdGF5IGFy b3VuZCB1bnRpbCB0aGlzIERSTSBkZXZpY2UgaXMgdW5yZWdpc3RlcmVkIChjYWxsIHRvCisgKiBk cm1fZGV2X3VucmVnaXN0ZXIoKSkuIEluIG90aGVyIHdvcmRzLCBwcml2YXRlIG9iamVjdHMgbGlm ZXRpbWUgaXMgdGllZAorICogdG8gdGhlIERSTSBkZXZpY2UgbGlmZXRpbWUuIFRoaXMgaW1wbGll cyB0aGF0OgorICoKKyAqIDEvIGFsbCBjYWxscyB0byBkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2lu aXQoKSBtdXN0IGJlIGRvbmUgYmVmb3JlIGNhbGxpbmcKKyAqICAgIGRybV9kZXZfcmVnaXN0ZXIo KQorICogMi8gYWxsIGNhbGxzIHRvIGRybV9hdG9taWNfcHJpdmF0ZV9vYmpfZmluaSgpIG11c3Qg YmUgZG9uZSBhZnRlciBjYWxsaW5nCisgKiAgICBkcm1fZGV2X3VucmVnaXN0ZXIoKQogICovCiBz dHJ1Y3QgZHJtX3ByaXZhdGVfb2JqIHsKKwkvKioKKwkgKiBAaGVhZDogTGlzdCBlbnRyeSB1c2Vk IHRvIGF0dGFjaCBhIHByaXZhdGUgb2JqZWN0IHRvIGEgJmRybV9kZXZpY2UKKwkgKiAocXVldWVk IHRvICZkcm1fbW9kZV9jb25maWcucHJpdm9ial9saXN0KS4KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9o ZWFkIGhlYWQ7CisKKwkvKioKKwkgKiBAbG9jazogTW9kZXNldCBsb2NrIHRvIHByb3RlY3QgdGhl IHN0YXRlIG9iamVjdC4KKwkgKi8KKwlzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayBsb2NrOworCiAJ LyoqCiAJICogQHN0YXRlOiBDdXJyZW50IGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBkcml2ZXIgcHJp dmF0ZSBvYmplY3QuCiAJICovCkBAIC0yMzMsNiArMjU1LDE4IEBAIHN0cnVjdCBkcm1fcHJpdmF0 ZV9vYmogewogCWNvbnN0IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyAqZnVuY3M7CiB9 OwogCisvKioKKyAqIGRybV9mb3JfZWFjaF9wcml2b2JqKCkgLSBwcml2YXRlIG9iamVjdCBpdGVy YXRvcgorICoKKyAqIEBwcml2b2JqOiBwb2ludGVyIHRvIHRoZSBjdXJyZW50IHByaXZhdGUgb2Jq ZWN0LiBVcGRhdGVkIGFmdGVyIGVhY2gKKyAqCSAgICAgaXRlcmF0aW9uCisgKiBAZGV2OiB0aGUg RFJNIGRldmljZSB3ZSB3YW50IGdldCBwcml2YXRlIG9iamVjdHMgZnJvbQorICoKKyAqIEFsbG93 cyBvbmUgdG8gaXRlcmF0ZSBvdmVyIGFsbCBwcml2YXRlIG9iamVjdHMgYXR0YWNoZWQgdG8gQGRl dgorICovCisjZGVmaW5lIGRybV9mb3JfZWFjaF9wcml2b2JqKHByaXZvYmosIGRldikgXAorCWxp c3RfZm9yX2VhY2hfZW50cnkocHJpdm9iaiwgJihkZXYpLT5tb2RlX2NvbmZpZy5wcml2b2JqX2xp c3QsIGhlYWQpCisKIC8qKgogICogc3RydWN0IGRybV9wcml2YXRlX3N0YXRlIC0gYmFzZSBzdHJ1 Y3QgZm9yIGRyaXZlciBwcml2YXRlIG9iamVjdCBzdGF0ZQogICogQHN0YXRlOiBiYWNrcG9pbnRl ciB0byBnbG9iYWwgZHJtX2F0b21pY19zdGF0ZQpAQCAtMzg5LDcgKzQyMyw4IEBAIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICogX19tdXN0X2NoZWNrCiBkcm1fYXRvbWljX2dldF9jb25uZWN0 b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJICAgICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwogCi12b2lkIGRybV9hdG9taWNfcHJpdmF0ZV9v YmpfaW5pdChzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmosCit2b2lkIGRybV9hdG9taWNfcHJp dmF0ZV9vYmpfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSBzdHJ1Y3QgZHJtX3By aXZhdGVfb2JqICpvYmosCiAJCQkJIHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAqc3RhdGUsCiAJ CQkJIGNvbnN0IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyAqZnVuY3MpOwogdm9pZCBk cm1fYXRvbWljX3ByaXZhdGVfb2JqX2Zpbmkoc3RydWN0IGRybV9wcml2YXRlX29iaiAqb2JqKTsK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0v ZHJtX21vZGVfY29uZmlnLmgKaW5kZXggOTI4ZTQxNzJhMGJiLi45M2E3NzViMGNhNWQgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCisrKyBiL2luY2x1ZGUvZHJtL2Ry bV9tb2RlX2NvbmZpZy5oCkBAIC01MDYsNiArNTA2LDE1IEBAIHN0cnVjdCBkcm1fbW9kZV9jb25m aWcgewogCSAqLwogCXN0cnVjdCBsaXN0X2hlYWQgcHJvcGVydHlfbGlzdDsKIAorCS8qKgorCSAq IEBwcml2b2JqX2xpc3Q6CisJICoKKwkgKiBMaXN0IG9mIHByaXZhdGUgb2JqZWN0cyBsaW5rZWQg d2l0aCAmZHJtX3ByaXZhdGVfb2JqLmhlYWQuIFRoaXMgaXMKKwkgKiBpbnZhcmlhbnQgb3ZlciB0 aGUgbGlmZXRpbWUgb2YgYSBkZXZpY2UgYW5kIGhlbmNlIGRvZXNuJ3QgbmVlZCBhbnkKKwkgKiBs b2Nrcy4KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIHByaXZvYmpfbGlzdDsKKwogCWludCBtaW5f d2lkdGgsIG1pbl9oZWlnaHQ7CiAJaW50IG1heF93aWR0aCwgbWF4X2hlaWdodDsKIAljb25zdCBz dHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzICpmdW5jczsKLS0gCjIuMTcuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==