From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v4 5/9] drm/client: Add client callbacks Date: Mon, 2 Jul 2018 15:54:29 +0200 Message-ID: <20180702135433.7960-6-noralf@tronnes.org> References: <20180702135433.7960-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180702135433.7960-1-noralf@tronnes.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 Cc: intel-gfx@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, david@lechnology.com List-Id: dri-devel@lists.freedesktop.org QWRkIGNsaWVudCBjYWxsYmFja3MgYW5kIGhvb2sgdGhlbSB1cC4KQWRkIGEgbGlzdCBvZiBjbGll bnRzIHBlciBkcm1fZGV2aWNlLgoKU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3Jh bGZAdHJvbm5lcy5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jbGllbnQuYyAgICAgICAg fCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2Rydi5jICAgICAgICAgICB8ICA3ICsrKwogZHJpdmVycy9ncHUvZHJtL2RybV9mYl9j bWFfaGVscGVyLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyAgICAg fCAxMSArKysrLQogZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMgICAgICAgICAgfCAgMyArKwog ZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyAgfCAgMyArKwogaW5jbHVkZS9kcm0v ZHJtX2NsaWVudC5oICAgICAgICAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0KIGluY2x1ZGUvZHJtL2RybV9kZXZpY2UuaCAgICAgICAgICAgIHwgMTQgKysrKysrCiA4IGZp bGVzIGNoYW5nZWQsIDIwMSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2xpZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ns aWVudC5jCmluZGV4IDljOWI4YWM3YWVhMy4uZjA1ZWU5OGJkMTBjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NsaWVudC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2xpZW50 LmMKQEAgLTQsNiArNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNs dWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUg PGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpAQCAtNjYsNiArNjcs NyBAQCBFWFBPUlRfU1lNQk9MKGRybV9jbGllbnRfY2xvc2UpOwogICogQGRldjogRFJNIGRldmlj ZQogICogQGNsaWVudDogRFJNIGNsaWVudAogICogQG5hbWU6IENsaWVudCBuYW1lCisgKiBAZnVu Y3M6IERSTSBjbGllbnQgZnVuY3Rpb25zIChvcHRpb25hbCkKICAqCiAgKiBVc2UgZHJtX2NsaWVu dF9wdXQoKSB0byBmcmVlIHRoZSBjbGllbnQuCiAgKgpAQCAtNzMsMjQgKzc1LDQ3IEBAIEVYUE9S VF9TWU1CT0woZHJtX2NsaWVudF9jbG9zZSk7CiAgKiBaZXJvIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRp dmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgogICovCiBpbnQgZHJtX2NsaWVudF9uZXcoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQsCi0JCSAgIGNv bnN0IGNoYXIgKm5hbWUpCisJCSAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBkcm1f Y2xpZW50X2Z1bmNzICpmdW5jcykKIHsKKwlib29sIHJlZ2lzdGVyZWQ7CiAJaW50IHJldDsKIAog CWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSB8fAogCSAg ICAhZGV2LT5kcml2ZXItPmR1bWJfY3JlYXRlIHx8ICFkZXYtPmRyaXZlci0+Z2VtX3ByaW1lX3Zt YXApCiAJCXJldHVybiAtRU5PVFNVUFA7CiAKKwlpZiAoZnVuY3MgJiYgIXRyeV9tb2R1bGVfZ2V0 KGZ1bmNzLT5vd25lcikpCisJCXJldHVybiAtRU5PREVWOworCiAJY2xpZW50LT5kZXYgPSBkZXY7 CiAJY2xpZW50LT5uYW1lID0gbmFtZTsKKwljbGllbnQtPmZ1bmNzID0gZnVuY3M7CiAKIAlyZXQg PSBkcm1fY2xpZW50X29wZW4oY2xpZW50KTsKIAlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCQln b3RvIGVycl9wdXRfbW9kdWxlOworCisJbXV0ZXhfbG9jaygmZGV2LT5jbGllbnRsaXN0X211dGV4 KTsKKwlyZWdpc3RlcmVkID0gZGV2LT5yZWdpc3RlcmVkOworCWlmIChyZWdpc3RlcmVkKQorCQls aXN0X2FkZCgmY2xpZW50LT5saXN0LCAmZGV2LT5jbGllbnRsaXN0KTsKKwltdXRleF91bmxvY2so JmRldi0+Y2xpZW50bGlzdF9tdXRleCk7CisJaWYgKCFyZWdpc3RlcmVkKSB7CisJCXJldCA9IC1F Tk9ERVY7CisJCWdvdG8gZXJyX2Nsb3NlOworCX0KIAogCWRybV9kZXZfZ2V0KGRldik7CiAKIAly ZXR1cm4gMDsKKworZXJyX2Nsb3NlOgorCWRybV9jbGllbnRfY2xvc2UoY2xpZW50KTsKK2Vycl9w dXRfbW9kdWxlOgorCWlmIChmdW5jcykKKwkJbW9kdWxlX3B1dChmdW5jcy0+b3duZXIpOworCisJ cmV0dXJuIHJldDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2NsaWVudF9uZXcpOwogCkBAIC0xMTYs OSArMTQxLDcyIEBAIHZvaWQgZHJtX2NsaWVudF9yZWxlYXNlKHN0cnVjdCBkcm1fY2xpZW50X2Rl diAqY2xpZW50KQogCiAJZHJtX2NsaWVudF9jbG9zZShjbGllbnQpOwogCWRybV9kZXZfcHV0KGRl dik7CisJaWYgKGNsaWVudC0+ZnVuY3MpCisJCW1vZHVsZV9wdXQoY2xpZW50LT5mdW5jcy0+b3du ZXIpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fY2xpZW50X3JlbGVhc2UpOwogCit2b2lkIGRybV9j bGllbnRfZGV2X3VucmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qg ZHJtX2NsaWVudF9kZXYgKmNsaWVudCwgKnRtcDsKKworCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZGV2 LT5jbGllbnRsaXN0X211dGV4KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCB0 bXAsICZkZXYtPmNsaWVudGxpc3QsIGxpc3QpIHsKKwkJbGlzdF9kZWwoJmNsaWVudC0+bGlzdCk7 CisJCWlmIChjbGllbnQtPmZ1bmNzICYmIGNsaWVudC0+ZnVuY3MtPnVucmVnaXN0ZXIpIHsKKwkJ CWNsaWVudC0+ZnVuY3MtPnVucmVnaXN0ZXIoY2xpZW50KTsKKwkJfSBlbHNlIHsKKwkJCWRybV9j bGllbnRfcmVsZWFzZShjbGllbnQpOworCQkJa2ZyZWUoY2xpZW50KTsKKwkJfQorCX0KKwltdXRl eF91bmxvY2soJmRldi0+Y2xpZW50bGlzdF9tdXRleCk7Cit9CisKK3ZvaWQgZHJtX2NsaWVudF9k ZXZfaG90cGx1ZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1fY2xpZW50 X2RldiAqY2xpZW50OworCWludCByZXQ7CisKKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTU9ERVNFVCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmRldi0+Y2xp ZW50bGlzdF9tdXRleCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsICZkZXYtPmNsaWVu dGxpc3QsIGxpc3QpIHsKKwkJaWYgKCFjbGllbnQtPmZ1bmNzIHx8ICFjbGllbnQtPmZ1bmNzLT5o b3RwbHVnKQorCQkJY29udGludWU7CisKKwkJcmV0ID0gY2xpZW50LT5mdW5jcy0+aG90cGx1Zyhj bGllbnQpOworCQlEUk1fREVWX0RFQlVHX0tNUyhkZXYtPmRldiwgIiVzOiByZXQ9JWRcbiIsIGNs aWVudC0+bmFtZSwgcmV0KTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZkZXYtPmNsaWVudGxpc3RfbXV0 ZXgpOworfQorRVhQT1JUX1NZTUJPTChkcm1fY2xpZW50X2Rldl9ob3RwbHVnKTsKKwordm9pZCBk cm1fY2xpZW50X2Rldl9yZXN0b3JlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0 IGRybV9jbGllbnRfZGV2ICpjbGllbnQ7CisJaW50IHJldDsKKworCWlmICghZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9j aygmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVudCwg JmRldi0+Y2xpZW50bGlzdCwgbGlzdCkgeworCQlpZiAoIWNsaWVudC0+ZnVuY3MgfHwgIWNsaWVu dC0+ZnVuY3MtPnJlc3RvcmUpCisJCQljb250aW51ZTsKKworCQlyZXQgPSBjbGllbnQtPmZ1bmNz LT5yZXN0b3JlKGNsaWVudCk7CisJCURSTV9ERVZfREVCVUdfS01TKGRldi0+ZGV2LCAiJXM6IHJl dD0lZFxuIiwgY2xpZW50LT5uYW1lLCByZXQpOworCQlpZiAoIXJldCkgLyogVGhlIGZpcnN0IG9u ZSB0byByZXR1cm4gemVybyBnZXRzIHRoZSBwcml2aWxlZ2UgdG8gcmVzdG9yZSAqLworCQkJYnJl YWs7CisJfQorCW11dGV4X3VubG9jaygmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKK30KKwogc3Rh dGljIHZvaWQgZHJtX2NsaWVudF9idWZmZXJfZGVsZXRlKHN0cnVjdCBkcm1fY2xpZW50X2J1ZmZl ciAqYnVmZmVyKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBidWZmZXItPmNsaWVudC0+ ZGV2OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHJ2LmMKaW5kZXggZTdmZjBiMDMzMjhiLi42ZWI5MzViYjJmOTIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9k cnYuYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRl IDxsaW51eC9zcmN1Lmg+CiAKKyNpbmNsdWRlIDxkcm0vZHJtX2NsaWVudC5oPgogI2luY2x1ZGUg PGRybS9kcm1fZHJ2Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KIApAQCAtNTA2LDYgKzUwNyw3 IEBAIGludCBkcm1fZGV2X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCUlOSVRfTElT VF9IRUFEKCZkZXYtPmZpbGVsaXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmZGV2LT5maWxlbGlzdF9p bnRlcm5hbCk7CisJSU5JVF9MSVNUX0hFQUQoJmRldi0+Y2xpZW50bGlzdCk7CiAJSU5JVF9MSVNU X0hFQUQoJmRldi0+Y3R4bGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmRldi0+dm1hbGlzdCk7CiAJ SU5JVF9MSVNUX0hFQUQoJmRldi0+bWFwbGlzdCk7CkBAIC01MTUsNiArNTE3LDcgQEAgaW50IGRy bV9kZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXNwaW5fbG9ja19pbml0KCZkZXYt PmV2ZW50X2xvY2spOwogCW11dGV4X2luaXQoJmRldi0+c3RydWN0X211dGV4KTsKIAltdXRleF9p bml0KCZkZXYtPmZpbGVsaXN0X211dGV4KTsKKwltdXRleF9pbml0KCZkZXYtPmNsaWVudGxpc3Rf bXV0ZXgpOwogCW11dGV4X2luaXQoJmRldi0+Y3R4bGlzdF9tdXRleCk7CiAJbXV0ZXhfaW5pdCgm ZGV2LT5tYXN0ZXJfbXV0ZXgpOwogCkBAIC01NzAsNiArNTczLDcgQEAgaW50IGRybV9kZXZfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogZXJyX2ZyZWU6CiAJbXV0ZXhfZGVzdHJveSgmZGV2 LT5tYXN0ZXJfbXV0ZXgpOwogCW11dGV4X2Rlc3Ryb3koJmRldi0+Y3R4bGlzdF9tdXRleCk7CisJ bXV0ZXhfZGVzdHJveSgmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKIAltdXRleF9kZXN0cm95KCZk ZXYtPmZpbGVsaXN0X211dGV4KTsKIAltdXRleF9kZXN0cm95KCZkZXYtPnN0cnVjdF9tdXRleCk7 CiAJcmV0dXJuIHJldDsKQEAgLTYwNCw2ICs2MDgsNyBAQCB2b2lkIGRybV9kZXZfZmluaShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJbXV0ZXhfZGVzdHJveSgmZGV2LT5tYXN0ZXJfbXV0ZXgp OwogCW11dGV4X2Rlc3Ryb3koJmRldi0+Y3R4bGlzdF9tdXRleCk7CisJbXV0ZXhfZGVzdHJveSgm ZGV2LT5jbGllbnRsaXN0X211dGV4KTsKIAltdXRleF9kZXN0cm95KCZkZXYtPmZpbGVsaXN0X211 dGV4KTsKIAltdXRleF9kZXN0cm95KCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJa2ZyZWUoZGV2LT51 bmlxdWUpOwpAQCAtODU5LDYgKzg2NCw4IEBAIHZvaWQgZHJtX2Rldl91bnJlZ2lzdGVyKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAKIAlkZXYtPnJlZ2lzdGVyZWQgPSBmYWxzZTsKIAorCWRybV9j bGllbnRfZGV2X3VucmVnaXN0ZXIoZGV2KTsKKwogCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX01PREVTRVQpKQogCQlkcm1fbW9kZXNldF91bnJlZ2lzdGVyX2FsbChkZXYp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZmJfY21hX2hlbHBlci5jCmluZGV4IDU3NjJhN2M0NDFlOS4uNzE4 YzdmOTYxZDhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYwpAQCAtMTgxLDcgKzE4 MSw3IEBAIHN0cnVjdCBkcm1fZmJkZXZfY21hICpkcm1fZmJkZXZfY21hX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAogCWZiX2hlbHBlciA9ICZmYmRldl9jbWEtPmZiX2hlbHBlcjsKIAot CXJldCA9IGRybV9jbGllbnRfbmV3KGRldiwgJmZiX2hlbHBlci0+Y2xpZW50LCAiZmJkZXYiKTsK KwlyZXQgPSBkcm1fY2xpZW50X25ldyhkZXYsICZmYl9oZWxwZXItPmNsaWVudCwgImZiZGV2Iiwg TlVMTCk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJlZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVy LmMKaW5kZXggMGEwYTU3N2ViYzNjLi5iZWEzYTBjYjMyNGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fZmJfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxw ZXIuYwpAQCAtMjk4OSw4ICsyOTg5LDE1IEBAIHN0YXRpYyB2b2lkIGRybV9mYmRldl9mYl9kZXN0 cm95KHN0cnVjdCBmYl9pbmZvICppbmZvKQogCX0KIAogCWRybV9jbGllbnRfZnJhbWVidWZmZXJf ZGVsZXRlKGZiX2hlbHBlci0+YnVmZmVyKTsKLQlkcm1fY2xpZW50X3JlbGVhc2UoJmZiX2hlbHBl ci0+Y2xpZW50KTsKLQlrZnJlZShmYl9oZWxwZXIpOworCS8qCisJICogRklYTUU6CisJICogUmVt b3ZlIGNvbmRpdGlvbmFsIHdoZW4gYWxsIENNQSBkcml2ZXJzIGhhdmUgYmVlbiBtb3ZlZCBvdmVy IHRvIHVzaW5nCisJICogZHJtX2ZiZGV2X2dlbmVyaWNfc2V0dXAoKS4KKwkgKi8KKwlpZiAoZmJf aGVscGVyLT5jbGllbnQuZnVuY3MpIHsKKwkJZHJtX2NsaWVudF9yZWxlYXNlKCZmYl9oZWxwZXIt PmNsaWVudCk7CisJCWtmcmVlKGZiX2hlbHBlcik7CisJfQogfQogCiBzdGF0aWMgaW50IGRybV9m YmRldl9mYl9tbWFwKHN0cnVjdCBmYl9pbmZvICppbmZvLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg KnZtYSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmlsZS5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9maWxlLmMKaW5kZXggNjZiYjQwM2RjOGFiLi5mZmE4ZGMzNTUxNWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmlsZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZmlsZS5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCisjaW5jbHVkZSA8ZHJtL2RybV9jbGllbnQuaD4KICNp bmNsdWRlIDxkcm0vZHJtX2ZpbGUuaD4KICNpbmNsdWRlIDxkcm0vZHJtUC5oPgogCkBAIC00NDQs NiArNDQ1LDggQEAgdm9pZCBkcm1fbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQog CiAJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKIAkJZHJt X2xlZ2FjeV9kZXZfcmVpbml0KGRldik7CisKKwlkcm1fY2xpZW50X2Rldl9yZXN0b3JlKGRldik7 CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKaW5kZXggNTI3NzQzMzk0MTUw Li4yNmJlNTdlMjhhOWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVs cGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwpAQCAtMzMsNiAr MzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAKICNpbmNsdWRlIDxkcm0v ZHJtUC5oPgorI2luY2x1ZGUgPGRybS9kcm1fY2xpZW50Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9j cnRjLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9mb3VyY2MuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2Ny dGNfaGVscGVyLmg+CkBAIC01NjMsNiArNTY0LDggQEAgdm9pZCBkcm1fa21zX2hlbHBlcl9ob3Rw bHVnX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJZHJtX3N5c2ZzX2hvdHBsdWdfZXZl bnQoZGV2KTsKIAlpZiAoZGV2LT5tb2RlX2NvbmZpZy5mdW5jcy0+b3V0cHV0X3BvbGxfY2hhbmdl ZCkKIAkJZGV2LT5tb2RlX2NvbmZpZy5mdW5jcy0+b3V0cHV0X3BvbGxfY2hhbmdlZChkZXYpOwor CisJZHJtX2NsaWVudF9kZXZfaG90cGx1ZyhkZXYpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fa21z X2hlbHBlcl9ob3RwbHVnX2V2ZW50KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Ns aWVudC5oIGIvaW5jbHVkZS9kcm0vZHJtX2NsaWVudC5oCmluZGV4IGUzNjZmOTVkNDQxNC4uMDJj YmIwMjcxNGQ4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmgKKysrIGIvaW5j bHVkZS9kcm0vZHJtX2NsaWVudC5oCkBAIC01LDEwICs1LDY2IEBACiAKICNpbmNsdWRlIDxsaW51 eC90eXBlcy5oPgogCitzdHJ1Y3QgZHJtX2NsaWVudF9kZXY7CiBzdHJ1Y3QgZHJtX2RldmljZTsK IHN0cnVjdCBkcm1fZmlsZTsKIHN0cnVjdCBkcm1fZnJhbWVidWZmZXI7CiBzdHJ1Y3QgZHJtX2dl bV9vYmplY3Q7CitzdHJ1Y3QgbW9kdWxlOworCisvKioKKyAqIHN0cnVjdCBkcm1fY2xpZW50X2Z1 bmNzIC0gRFJNIGNsaWVudCBjYWxsYmFja3MKKyAqLworc3RydWN0IGRybV9jbGllbnRfZnVuY3Mg eworCS8qKgorCSAqIEBvd25lcjogVGhlIG1vZHVsZSBvd25lcgorCSAqLworCXN0cnVjdCBtb2R1 bGUgKm93bmVyOworCisJLyoqCisJICogQHJlbGVhc2U6CisJICoKKwkgKiBDYWxsZWQgd2hlbiB0 aGUgcmVmZXJlbmNlIGNvdW50IGlzIGRyb3BwZWQgdG8gemVyby4gVXNlcnMgb2YgdGhpcworCSAq IGNhbGxiYWNrIGlzIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGRybV9jbGllbnRfY2xvc2UoKSBh bmQgZnJlZWluZworCSAqIHRoZSBjbGllbnQgc3RydWN0dXJlLgorCSAqCisJICogVGhpcyBjYWxs YmFjayBpcyBvcHRpb25hbC4KKwkgKi8KKwl2b2lkICgqcmVsZWFzZSkoc3RydWN0IGRybV9jbGll bnRfZGV2ICpjbGllbnQpOworCisJLyoqCisJICogQHVucmVnaXN0ZXI6CisJICoKKwkgKiBDYWxs ZWQgd2hlbiAmZHJtX2RldmljZSBpcyB1bnJlZ2lzdGVyZWQuIFRoZSBjbGllbnQgc2hvdWxkIHJl c3BvbmQgYnkKKwkgKiByZWxlYXNpbmcgaXQncyByZXNvdXJjZXMgdXNpbmcgZHJtX2NsaWVudF9w dXQoKS4gSWYgaXQgY2FuJ3QgZG8gc28KKwkgKiBkdWUgdG8gcmVzb3J1Y2VzIGJlaW5nIHRpZWQg dXAsIGxpa2UgZmJkZXYgd2l0aCBvcGVuIGZpbGUgaGFuZGxlcywKKwkgKiBpdCBzaG91bGQgcmVs ZWFzZSBpdCdzIHJlc291cmNlcyBhcyBzb29uIGFzIHBvc3NpYmxlLgorCSAqCisJICogVGhpcyBj YWxsYmFjayBpcyBvcHRpb25hbC4KKwkgKi8KKwl2b2lkICgqdW5yZWdpc3Rlcikoc3RydWN0IGRy bV9jbGllbnRfZGV2ICpjbGllbnQpOworCisJLyoqCisJICogQHJlc3RvcmU6CisJICoKKwkgKiBD YWxsZWQgb24gZHJtX2xhc3RjbG9zZSgpLiBUaGUgZmlyc3QgY2xpZW50IGluc3RhbmNlIGluIHRo ZSBsaXN0IHRoYXQKKwkgKiByZXR1cm5zIHplcm8gZ2V0cyB0aGUgcHJpdmlsZWdlIHRvIHJlc3Rv cmUgYW5kIG5vIG1vcmUgY2xpZW50cyBhcmUKKwkgKiBjYWxsZWQuIFRoaXMgY2FsbGJhY2sgaXMg bm90IGNhbGxlZCBhZnRlciBAdW5yZWdpc3RlciBoYXMgYmVlbiBjYWxsZWQuCisJICoKKwkgKiBU aGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgorCSAqLworCWludCAoKnJlc3RvcmUpKHN0cnVjdCBk cm1fY2xpZW50X2RldiAqY2xpZW50KTsKKworCS8qKgorCSAqIEBob3RwbHVnOgorCSAqCisJICog Q2FsbGVkIG9uIGRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQoKS4KKwkgKiBUaGlzIGNhbGxi YWNrIGlzIG5vdCBjYWxsZWQgYWZ0ZXIgQHVucmVnaXN0ZXIgaGFzIGJlZW4gY2FsbGVkLgorCSAq CisJICogVGhpcyBjYWxsYmFjayBpcyBvcHRpb25hbC4KKwkgKi8KKwlpbnQgKCpob3RwbHVnKShz dHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCk7Cit9OwogCiAvKioKICAqIHN0cnVjdCBkcm1f Y2xpZW50X2RldiAtIERSTSBjbGllbnQgaW5zdGFuY2UKQEAgLTI0LDYgKzgwLDE5IEBAIHN0cnVj dCBkcm1fY2xpZW50X2RldiB7CiAJICovCiAJY29uc3QgY2hhciAqbmFtZTsKIAorCS8qKgorCSAq IEBsaXN0OgorCSAqCisJICogTGlzdCBvZiBhbGwgY2xpZW50cyBvZiBhIERSTSBkZXZpY2UsIGxp bmtlZCBpbnRvCisJICogJmRybV9kZXZpY2UuY2xpZW50bGlzdC4gUHJvdGVjdGVkIGJ5ICZkcm1f ZGV2aWNlLmNsaWVudGxpc3RfbXV0ZXguCisJICovCisJc3RydWN0IGxpc3RfaGVhZCBsaXN0Owor CisJLyoqCisJICogQGZ1bmNzOiBEUk0gY2xpZW50IGZ1bmN0aW9ucyAob3B0aW9uYWwpCisJICov CisJY29uc3Qgc3RydWN0IGRybV9jbGllbnRfZnVuY3MgKmZ1bmNzOworCiAJLyoqCiAJICogQGZp bGU6IERSTSBmaWxlCiAJICovCkBAIC0zMSw5ICsxMDAsMTMgQEAgc3RydWN0IGRybV9jbGllbnRf ZGV2IHsKIH07CiAKIGludCBkcm1fY2xpZW50X25ldyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCwKLQkJICAgY29uc3QgY2hhciAqbmFtZSk7CisJ CSAgIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBkcm1fY2xpZW50X2Z1bmNzICpmdW5j cyk7CiB2b2lkIGRybV9jbGllbnRfcmVsZWFzZShzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVu dCk7CiAKK3ZvaWQgZHJtX2NsaWVudF9kZXZfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKK3ZvaWQgZHJtX2NsaWVudF9kZXZfaG90cGx1ZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKK3ZvaWQgZHJtX2NsaWVudF9kZXZfcmVzdG9yZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsK KwogLyoqCiAgKiBzdHJ1Y3QgZHJtX2NsaWVudF9idWZmZXIgLSBEUk0gY2xpZW50IGJ1ZmZlcgog ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZGV2aWNlLmggYi9pbmNsdWRlL2RybS9k cm1fZGV2aWNlLmgKaW5kZXggOWUyOTk3NmQ0ZTk4Li5mOWM2ZTBlM2FlYzcgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZGV2aWNlLmgK QEAgLTgxLDYgKzgxLDIwIEBAIHN0cnVjdCBkcm1fZGV2aWNlIHsKIAkgKi8KIAlzdHJ1Y3QgbGlz dF9oZWFkIGZpbGVsaXN0X2ludGVybmFsOwogCisJLyoqCisJICogQGNsaWVudGxpc3RfbXV0ZXg6 CisJICoKKwkgKiBQcm90ZWN0cyBAY2xpZW50bGlzdCBhY2Nlc3MuCisJICovCisJc3RydWN0IG11 dGV4IGNsaWVudGxpc3RfbXV0ZXg7CisKKwkvKioKKwkgKiBAY2xpZW50bGlzdDoKKwkgKgorCSAq IExpc3Qgb2YgaW4ta2VybmVsIGNsaWVudHMuIFByb3RlY3RlZCBieSBAY2xpZW50bGlzdF9tdXRl eC4KKwkgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGNsaWVudGxpc3Q7CisKIAkvKiogXG5hbWUgTWVt b3J5IG1hbmFnZW1lbnQgKi8KIAkvKkB7ICovCiAJc3RydWN0IGxpc3RfaGVhZCBtYXBsaXN0Owkv Kio8IExpbmtlZCBsaXN0IG9mIHJlZ2lvbnMgKi8KLS0gCjIuMTUuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==