From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v2 08/12] drm/client: Add client callbacks Date: Mon, 18 Jun 2018 16:17:35 +0200 Message-ID: <20180618141739.48151-9-noralf@tronnes.org> References: <20180618141739.48151-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180618141739.48151-1-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org QWRkIGNsaWVudCBjYWxsYmFja3MgYW5kIGhvb2sgdGhlbSB1cC4KQWRkIGEgbGlzdCBvZiBjbGll bnRzIHBlciBkcm1fZGV2aWNlLgoKU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxub3Jh bGZAdHJvbm5lcy5vcmc+Ci0tLQoKQ2hhbmdlcyBzaW5jZSB2ZXJzaW9uIDE6Ci0gUmVtb3ZlIHVu dXNlZCBmdW5jdGlvbnMKLSBDaGFuZ2UgbmFtZSBkcm1fY2xpZW50X2Z1bmNzLmxhc3RjbG9zZSAt PiAucmVzdG9yZQotIENoYW5nZSBuYW1lIGRybV9jbGllbnRfZnVuY3MucmVtb3ZlIC0+IC51bnJl Z2lzdGVyCi0gUmV3b3JrIHVucmVnaXN0ZXIgY29kZQoKCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Ns aWVudC5jICAgICAgICB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgICAgICAgICAgIHwgIDcgKysrCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Zp bGUuYyAgICAgICAgICB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5j ICB8ICAzICsrCiBpbmNsdWRlL2RybS9kcm1fY2xpZW50LmggICAgICAgICAgICB8IDY5ICsrKysr KysrKysrKysrKysrKysrKysrKystCiBpbmNsdWRlL2RybS9kcm1fZGV2aWNlLmggICAgICAgICAg ICB8IDE0ICsrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAxOTAgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NsaWVudC5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jbGllbnQuYwppbmRleCA5OGRkYTQwZjU0MTYuLmYxZGMwNGQ2NDFj YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jbGllbnQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2NsaWVudC5jCkBAIC03NCw2ICs3NCw3IEBAIEVYUE9SVF9TWU1CT0woZHJt X2NsaWVudF9jbG9zZSk7CiAgKiBAZGV2OiBEUk0gZGV2aWNlCiAgKiBAY2xpZW50OiBEUk0gY2xp ZW50CiAgKiBAbmFtZTogQ2xpZW50IG5hbWUKKyAqIEBmdW5jczogRFJNIGNsaWVudCBmdW5jdGlv bnMgKG9wdGlvbmFsKQogICoKICAqIFVzZSBkcm1fY2xpZW50X3B1dCgpIHRvIGZyZWUgdGhlIGNs aWVudC4KICAqCkBAIC04MSw4ICs4Miw5IEBAIEVYUE9SVF9TWU1CT0woZHJtX2NsaWVudF9jbG9z ZSk7CiAgKiBaZXJvIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJl LgogICovCiBpbnQgZHJtX2NsaWVudF9uZXcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9jbGllbnRfZGV2ICpjbGllbnQsCi0JCSAgIGNvbnN0IGNoYXIgKm5hbWUpCisJCSAgIGNv bnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBkcm1fY2xpZW50X2Z1bmNzICpmdW5jcykKIHsK Kwlib29sIHJlZ2lzdGVyZWQ7CiAJaW50IHJldDsKIAogCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSB8fApAQCAtOTEsMTIgKzkzLDIzIEBAIGludCBkcm1f Y2xpZW50X25ldyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2NsaWVudF9kZXYg KmNsaWVudCwKIAogCWNsaWVudC0+ZGV2ID0gZGV2OwogCWNsaWVudC0+bmFtZSA9IG5hbWU7CisJ Y2xpZW50LT5mdW5jcyA9IGZ1bmNzOwogCWtyZWZfaW5pdCgmY2xpZW50LT5yZWYpOwogCiAJcmV0 ID0gZHJtX2NsaWVudF9vcGVuKGNsaWVudCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAor CW11dGV4X2xvY2soJmRldi0+Y2xpZW50bGlzdF9tdXRleCk7CisJcmVnaXN0ZXJlZCA9IGRldi0+ cmVnaXN0ZXJlZDsKKwlpZiAocmVnaXN0ZXJlZCkKKwkJbGlzdF9hZGQoJmNsaWVudC0+bGlzdCwg JmRldi0+Y2xpZW50bGlzdCk7CisJbXV0ZXhfdW5sb2NrKCZkZXYtPmNsaWVudGxpc3RfbXV0ZXgp OworCWlmICghcmVnaXN0ZXJlZCkgeworCQlkcm1fY2xpZW50X2Nsb3NlKGNsaWVudCk7CisJCXJl dHVybiAtRU5PREVWOworCX0KKwogCWRybV9kZXZfZ2V0KGRldik7CiAKIAlyZXR1cm4gMDsKQEAg LTExMCw4ICsxMjMsMTcgQEAgc3RhdGljIHZvaWQgZHJtX2NsaWVudF9yZWxlYXNlKHN0cnVjdCBr cmVmICpyZWYpCiAKIAlEUk1fREVWX0RFQlVHX0tNUyhkZXYtPmRldiwgIiVzXG4iLCBjbGllbnQt Pm5hbWUpOwogCi0JZHJtX2NsaWVudF9jbG9zZShjbGllbnQpOwotCWtmcmVlKGNsaWVudCk7CisJ bXV0ZXhfbG9jaygmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKKwlpZiAoIWxpc3RfZW1wdHkoJmNs aWVudC0+bGlzdCkpCisJCWxpc3RfZGVsKCZjbGllbnQtPmxpc3QpOworCW11dGV4X3VubG9jaygm ZGV2LT5jbGllbnRsaXN0X211dGV4KTsKKworCWlmIChjbGllbnQtPmZ1bmNzICYmIGNsaWVudC0+ ZnVuY3MtPnJlbGVhc2UpIHsKKwkJY2xpZW50LT5mdW5jcy0+cmVsZWFzZShjbGllbnQpOworCX0g ZWxzZSB7CisJCWRybV9jbGllbnRfY2xvc2UoY2xpZW50KTsKKwkJa2ZyZWUoY2xpZW50KTsKKwl9 CiAKIAlkcm1fZGV2X3B1dChkZXYpOwogfQpAQCAtMTQ1LDYgKzE2Nyw3NSBAQCB2b2lkIGRybV9j bGllbnRfcHV0KHN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50KQogfQogRVhQT1JUX1NZTUJP TChkcm1fY2xpZW50X3B1dCk7CiAKK3ZvaWQgZHJtX2NsaWVudF9kZXZfdW5yZWdpc3RlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50LCAq aXRlcjsKKworCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VU KSkKKwkJcmV0dXJuOworCisJZG8geworCQljbGllbnQgPSBOVUxMOworCQltdXRleF9sb2NrKCZk ZXYtPmNsaWVudGxpc3RfbXV0ZXgpOworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0ZXIsICZkZXYt PmNsaWVudGxpc3QsIGxpc3QpIHsKKwkJCWxpc3RfZGVsX2luaXQoJml0ZXItPmxpc3QpOworCQkJ aWYgKGl0ZXItPmZ1bmNzICYmIGl0ZXItPmZ1bmNzLT51bnJlZ2lzdGVyKSB7CisJCQkJLyogTWFr ZSBzdXJlIGEgcmVsZWFzZSBoYXMgbm90IGJlZ3VuICovCisJCQkJaWYgKGtyZWZfZ2V0X3VubGVz c196ZXJvKCZpdGVyLT5yZWYpKSB7CisJCQkJCWNsaWVudCA9IGl0ZXI7CisJCQkJCWJyZWFrOwor CQkJCX0KKwkJCX0KKwkJfQorCQltdXRleF91bmxvY2soJmRldi0+Y2xpZW50bGlzdF9tdXRleCk7 CisJCWlmIChjbGllbnQpIHsKKwkJCWNsaWVudC0+ZnVuY3MtPnVucmVnaXN0ZXIoY2xpZW50KTsK KwkJCWRybV9jbGllbnRfcHV0KGNsaWVudCk7CisJCX0KKwl9IHdoaWxlIChjbGllbnQpOworfQor Cit2b2lkIGRybV9jbGllbnRfZGV2X2hvdHBsdWcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sK KwlzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudDsKKwlpbnQgcmV0OworCisJaWYgKCFkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQorCQlyZXR1cm47CisKKwlt dXRleF9sb2NrKCZkZXYtPmNsaWVudGxpc3RfbXV0ZXgpOworCWxpc3RfZm9yX2VhY2hfZW50cnko Y2xpZW50LCAmZGV2LT5jbGllbnRsaXN0LCBsaXN0KSB7CisJCWlmICghY2xpZW50LT5mdW5jcyB8 fCAhY2xpZW50LT5mdW5jcy0+aG90cGx1ZykKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IGNsaWVu dC0+ZnVuY3MtPmhvdHBsdWcoY2xpZW50KTsKKwkJRFJNX0RFVl9ERUJVR19LTVMoZGV2LT5kZXYs ICIlczogcmV0PSVkXG4iLCBjbGllbnQtPm5hbWUsIHJldCk7CisJfQorCW11dGV4X3VubG9jaygm ZGV2LT5jbGllbnRsaXN0X211dGV4KTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NsaWVudF9kZXZf aG90cGx1Zyk7CisKK3ZvaWQgZHJtX2NsaWVudF9kZXZfcmVzdG9yZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQoreworCXN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50OworCWludCByZXQ7CisK KwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCisJCXJl dHVybjsKKworCW11dGV4X2xvY2soJmRldi0+Y2xpZW50bGlzdF9tdXRleCk7CisJbGlzdF9mb3Jf ZWFjaF9lbnRyeShjbGllbnQsICZkZXYtPmNsaWVudGxpc3QsIGxpc3QpIHsKKwkJaWYgKCFjbGll bnQtPmZ1bmNzIHx8ICFjbGllbnQtPmZ1bmNzLT5yZXN0b3JlKQorCQkJY29udGludWU7CisKKwkJ cmV0ID0gY2xpZW50LT5mdW5jcy0+cmVzdG9yZShjbGllbnQpOworCQlEUk1fREVWX0RFQlVHX0tN UyhkZXYtPmRldiwgIiVzOiByZXQ9JWRcbiIsIGNsaWVudC0+bmFtZSwgcmV0KTsKKwkJaWYgKCFy ZXQpIC8qIFRoZSBmaXJzdCBvbmUgdG8gcmV0dXJuIHplcm8gZ2V0cyB0aGUgcHJpdmlsZWdlIHRv IHJlc3RvcmUgKi8KKwkJCWJyZWFrOworCX0KKwltdXRleF91bmxvY2soJmRldi0+Y2xpZW50bGlz dF9tdXRleCk7Cit9CisKIHN0YXRpYyB2b2lkIGRybV9jbGllbnRfYnVmZmVyX2RlbGV0ZShzdHJ1 Y3QgZHJtX2NsaWVudF9idWZmZXIgKmJ1ZmZlcikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHJ2LmMKaW5kZXggNjdhYzc5M2E3MTA4Li4wMDE3MmEzZGE2MmMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYu YwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxs aW51eC9zcmN1Lmg+CiAKKyNpbmNsdWRlIDxkcm0vZHJtX2NsaWVudC5oPgogI2luY2x1ZGUgPGRy bS9kcm1fZHJ2Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KIApAQCAtNTA2LDYgKzUwNyw3IEBA IGludCBkcm1fZGV2X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCUlOSVRfTElTVF9I RUFEKCZkZXYtPmZpbGVsaXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmZGV2LT5maWxlbGlzdF9pbnRl cm5hbCk7CisJSU5JVF9MSVNUX0hFQUQoJmRldi0+Y2xpZW50bGlzdCk7CiAJSU5JVF9MSVNUX0hF QUQoJmRldi0+Y3R4bGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmRldi0+dm1hbGlzdCk7CiAJSU5J VF9MSVNUX0hFQUQoJmRldi0+bWFwbGlzdCk7CkBAIC01MTUsNiArNTE3LDcgQEAgaW50IGRybV9k ZXZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXNwaW5fbG9ja19pbml0KCZkZXYtPmV2 ZW50X2xvY2spOwogCW11dGV4X2luaXQoJmRldi0+c3RydWN0X211dGV4KTsKIAltdXRleF9pbml0 KCZkZXYtPmZpbGVsaXN0X211dGV4KTsKKwltdXRleF9pbml0KCZkZXYtPmNsaWVudGxpc3RfbXV0 ZXgpOwogCW11dGV4X2luaXQoJmRldi0+Y3R4bGlzdF9tdXRleCk7CiAJbXV0ZXhfaW5pdCgmZGV2 LT5tYXN0ZXJfbXV0ZXgpOwogCkBAIC01NzAsNiArNTczLDcgQEAgaW50IGRybV9kZXZfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogZXJyX2ZyZWU6CiAJbXV0ZXhfZGVzdHJveSgmZGV2LT5t YXN0ZXJfbXV0ZXgpOwogCW11dGV4X2Rlc3Ryb3koJmRldi0+Y3R4bGlzdF9tdXRleCk7CisJbXV0 ZXhfZGVzdHJveSgmZGV2LT5jbGllbnRsaXN0X211dGV4KTsKIAltdXRleF9kZXN0cm95KCZkZXYt PmZpbGVsaXN0X211dGV4KTsKIAltdXRleF9kZXN0cm95KCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJ cmV0dXJuIHJldDsKQEAgLTYwNCw2ICs2MDgsNyBAQCB2b2lkIGRybV9kZXZfZmluaShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCiAJbXV0ZXhfZGVzdHJveSgmZGV2LT5tYXN0ZXJfbXV0ZXgpOwog CW11dGV4X2Rlc3Ryb3koJmRldi0+Y3R4bGlzdF9tdXRleCk7CisJbXV0ZXhfZGVzdHJveSgmZGV2 LT5jbGllbnRsaXN0X211dGV4KTsKIAltdXRleF9kZXN0cm95KCZkZXYtPmZpbGVsaXN0X211dGV4 KTsKIAltdXRleF9kZXN0cm95KCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJa2ZyZWUoZGV2LT51bmlx dWUpOwpAQCAtODU5LDYgKzg2NCw4IEBAIHZvaWQgZHJtX2Rldl91bnJlZ2lzdGVyKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAKIAlkZXYtPnJlZ2lzdGVyZWQgPSBmYWxzZTsKIAorCWRybV9jbGll bnRfZGV2X3VucmVnaXN0ZXIoZGV2KTsKKwogCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX01PREVTRVQpKQogCQlkcm1fbW9kZXNldF91bnJlZ2lzdGVyX2FsbChkZXYpOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmJfY21hX2hlbHBlci5jCmluZGV4IGRiZDE5MzMxNjBkMS4uMzE4MzFh N2E2YTk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuYwpAQCAtMTgyLDcgKzE4Miw3 IEBAIHN0cnVjdCBkcm1fZmJkZXZfY21hICpkcm1fZmJkZXZfY21hX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAogCWZiX2hlbHBlciA9ICZmYmRldl9jbWEtPmZiX2hlbHBlcjsKIAotCXJl dCA9IGRybV9jbGllbnRfbmV3KGRldiwgJmZiX2hlbHBlci0+Y2xpZW50LCAiZmJkZXYiKTsKKwly ZXQgPSBkcm1fY2xpZW50X25ldyhkZXYsICZmYl9oZWxwZXItPmNsaWVudCwgImZiZGV2IiwgTlVM TCk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJlZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9maWxlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZpbGUuYwppbmRleCA1NTUw NTM3OGRmNDcuLjA2ZTQwOTAwNzQ5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9m aWxlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMKQEAgLTM1LDYgKzM1LDcgQEAK ICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKKyNp bmNsdWRlIDxkcm0vZHJtX2NsaWVudC5oPgogI2luY2x1ZGUgPGRybS9kcm1fZmlsZS5oPgogI2lu Y2x1ZGUgPGRybS9kcm1QLmg+CiAKQEAgLTQ0Myw2ICs0NDQsOCBAQCB2b2lkIGRybV9sYXN0Y2xv c2Uoc3RydWN0IGRybV9kZXZpY2UgKiBkZXYpCiAKIAlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVy ZShkZXYsIERSSVZFUl9MRUdBQ1kpKQogCQlkcm1fbGVnYWN5X2Rldl9yZWluaXQoZGV2KTsKKwor CWRybV9jbGllbnRfZGV2X3Jlc3RvcmUoZGV2KTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9i ZV9oZWxwZXIuYwppbmRleCA1Mjc3NDMzOTQxNTAuLjI2YmU1N2UyOGE5ZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3Byb2JlX2hlbHBlci5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9k dWxlcGFyYW0uaD4KIAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9j bGllbnQuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2Zv dXJjYy5oPgogI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxwZXIuaD4KQEAgLTU2Myw2ICs1NjQs OCBAQCB2b2lkIGRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKIAlkcm1fc3lzZnNfaG90cGx1Z19ldmVudChkZXYpOwogCWlmIChkZXYtPm1vZGVfY29u ZmlnLmZ1bmNzLT5vdXRwdXRfcG9sbF9jaGFuZ2VkKQogCQlkZXYtPm1vZGVfY29uZmlnLmZ1bmNz LT5vdXRwdXRfcG9sbF9jaGFuZ2VkKGRldik7CisKKwlkcm1fY2xpZW50X2Rldl9ob3RwbHVnKGRl dik7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQpOwogCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmggYi9pbmNsdWRlL2RybS9kcm1fY2xp ZW50LmgKaW5kZXggMTJhYzI2MTViMTdkLi44MGZlMjFjODZmNjkgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvZHJtL2RybV9jbGllbnQuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY2xpZW50LmgKQEAgLTYs MTEgKzYsNjEgQEAKICNpbmNsdWRlIDxsaW51eC9rcmVmLmg+CiAjaW5jbHVkZSA8bGludXgvdHlw ZXMuaD4KIAorc3RydWN0IGRybV9jbGllbnRfZGV2Owogc3RydWN0IGRybV9kZXZpY2U7CiBzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyOwogc3RydWN0IGRybV9nZW1fb2JqZWN0Owogc3RydWN0IGRybV9t aW5vcjsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX2NsaWVudF9mdW5jcyAtIERSTSBjbGllbnQgY2Fs bGJhY2tzCisgKi8KK3N0cnVjdCBkcm1fY2xpZW50X2Z1bmNzIHsKKwkvKioKKwkgKiBAcmVsZWFz ZToKKwkgKgorCSAqIENhbGxlZCB3aGVuIHRoZSByZWZlcmVuY2UgY291bnQgaXMgZHJvcHBlZCB0 byB6ZXJvLiBVc2VycyBvZiB0aGlzCisJICogY2FsbGJhY2sgaXMgcmVzcG9uc2libGUgZm9yIGNh bGxpbmcgZHJtX2NsaWVudF9jbG9zZSgpIGFuZCBmcmVlaW5nCisJICogdGhlIGNsaWVudCBzdHJ1 Y3R1cmUuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgorCSAqLworCXZvaWQg KCpyZWxlYXNlKShzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCk7CisKKwkvKioKKwkgKiBA dW5yZWdpc3RlcjoKKwkgKgorCSAqIENhbGxlZCB3aGVuICZkcm1fZGV2aWNlIGlzIHVucmVnaXN0 ZXJlZC4gVGhlIGNsaWVudCBzaG91bGQgcmVzcG9uZCBieQorCSAqIHJlbGVhc2luZyBpdCdzIHJl c291cmNlcyB1c2luZyBkcm1fY2xpZW50X3B1dCgpLiBJZiBpdCBjYW4ndCBkbyBzbworCSAqIGR1 ZSB0byByZXNvcnVjZXMgYmVpbmcgdGllZCB1cCwgbGlrZSBmYmRldiB3aXRoIG9wZW4gZmlsZSBo YW5kbGVzLAorCSAqIGl0IHNob3VsZCByZWxlYXNlIGl0J3MgcmVzb3VyY2VzIGFzIHNvb24gYXMg cG9zc2libGUuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgorCSAqLworCXZv aWQgKCp1bnJlZ2lzdGVyKShzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCk7CisKKwkvKioK KwkgKiBAcmVzdG9yZToKKwkgKgorCSAqIENhbGxlZCBvbiBkcm1fbGFzdGNsb3NlKCkuIFRoZSBm aXJzdCBjbGllbnQgaW5zdGFuY2UgaW4gdGhlIGxpc3QgdGhhdAorCSAqIHJldHVybnMgemVybyBn ZXRzIHRoZSBwcml2aWxlZ2UgdG8gcmVzdG9yZSBhbmQgbm8gbW9yZSBjbGllbnRzIGFyZQorCSAq IGNhbGxlZC4gVGhpcyBjYWxsYmFjayBpcyBub3QgY2FsbGVkIGFmdGVyIEB1bnJlZ2lzdGVyIGhh cyBiZWVuIGNhbGxlZC4KKwkgKgorCSAqIFRoaXMgY2FsbGJhY2sgaXMgb3B0aW9uYWwuCisJICov CisJaW50ICgqcmVzdG9yZSkoc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQpOworCisJLyoq CisJICogQGhvdHBsdWc6CisJICoKKwkgKiBDYWxsZWQgb24gZHJtX2ttc19oZWxwZXJfaG90cGx1 Z19ldmVudCgpLgorCSAqIFRoaXMgY2FsbGJhY2sgaXMgbm90IGNhbGxlZCBhZnRlciBAdW5yZWdp c3RlciBoYXMgYmVlbiBjYWxsZWQuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFs LgorCSAqLworCWludCAoKmhvdHBsdWcpKHN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50KTsK K307CisKIC8qKgogICogc3RydWN0IGRybV9jbGllbnRfZGV2IC0gRFJNIGNsaWVudCBpbnN0YW5j ZQogICovCkBAIC0zMyw2ICs4MywxOSBAQCBzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgewogCSAqLwog CXN0cnVjdCBrcmVmIHJlZjsKIAorCS8qKgorCSAqIEBsaXN0OgorCSAqCisJICogTGlzdCBvZiBh bGwgY2xpZW50cyBvZiBhIERSTSBkZXZpY2UsIGxpbmtlZCBpbnRvCisJICogJmRybV9kZXZpY2Uu Y2xpZW50bGlzdC4gUHJvdGVjdGVkIGJ5ICZkcm1fZGV2aWNlLmNsaWVudGxpc3RfbXV0ZXguCisJ ICovCisJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworCisJLyoqCisJICogQGZ1bmNzOiBEUk0gY2xp ZW50IGZ1bmN0aW9ucyAob3B0aW9uYWwpCisJICovCisJY29uc3Qgc3RydWN0IGRybV9jbGllbnRf ZnVuY3MgKmZ1bmNzOworCiAJLyoqCiAJICogQGZpbGU6IERSTSBmaWxlCiAJICovCkBAIC00MSwx MCArMTA0LDE0IEBAIHN0cnVjdCBkcm1fY2xpZW50X2RldiB7CiAKIHZvaWQgZHJtX2NsaWVudF9j bG9zZShzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVudCk7CiBpbnQgZHJtX2NsaWVudF9uZXco c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQsCi0J CSAgIGNvbnN0IGNoYXIgKm5hbWUpOworCQkgICBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1 Y3QgZHJtX2NsaWVudF9mdW5jcyAqZnVuY3MpOwogdm9pZCBkcm1fY2xpZW50X2dldChzdHJ1Y3Qg ZHJtX2NsaWVudF9kZXYgKmNsaWVudCk7CiB2b2lkIGRybV9jbGllbnRfcHV0KHN0cnVjdCBkcm1f Y2xpZW50X2RldiAqY2xpZW50KTsKIAordm9pZCBkcm1fY2xpZW50X2Rldl91bnJlZ2lzdGVyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBkcm1fY2xpZW50X2Rldl9ob3RwbHVnKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBkcm1fY2xpZW50X2Rldl9yZXN0b3JlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOworCiAvKioKICAqIHN0cnVjdCBkcm1fY2xpZW50X2J1ZmZlciAtIERS TSBjbGllbnQgYnVmZmVyCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kZXZpY2Uu aCBiL2luY2x1ZGUvZHJtL2RybV9kZXZpY2UuaAppbmRleCA5ZTI5OTc2ZDRlOTguLmY5YzZlMGUz YWVjNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RldmljZS5oCisrKyBiL2luY2x1ZGUv ZHJtL2RybV9kZXZpY2UuaApAQCAtODEsNiArODEsMjAgQEAgc3RydWN0IGRybV9kZXZpY2Ugewog CSAqLwogCXN0cnVjdCBsaXN0X2hlYWQgZmlsZWxpc3RfaW50ZXJuYWw7CiAKKwkvKioKKwkgKiBA Y2xpZW50bGlzdF9tdXRleDoKKwkgKgorCSAqIFByb3RlY3RzIEBjbGllbnRsaXN0IGFjY2Vzcy4K KwkgKi8KKwlzdHJ1Y3QgbXV0ZXggY2xpZW50bGlzdF9tdXRleDsKKworCS8qKgorCSAqIEBjbGll bnRsaXN0OgorCSAqCisJICogTGlzdCBvZiBpbi1rZXJuZWwgY2xpZW50cy4gUHJvdGVjdGVkIGJ5 IEBjbGllbnRsaXN0X211dGV4LgorCSAqLworCXN0cnVjdCBsaXN0X2hlYWQgY2xpZW50bGlzdDsK KwogCS8qKiBcbmFtZSBNZW1vcnkgbWFuYWdlbWVudCAqLwogCS8qQHsgKi8KIAlzdHJ1Y3QgbGlz dF9oZWFkIG1hcGxpc3Q7CS8qKjwgTGlua2VkIGxpc3Qgb2YgcmVnaW9ucyAqLwotLSAKMi4xNS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK