From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18744C4332E for ; Tue, 5 Jan 2021 15:46:30 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D86D322BF3 for ; Tue, 5 Jan 2021 15:46:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D86D322BF3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 215736E17E; Tue, 5 Jan 2021 15:46:04 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id C4D746E15E for ; Tue, 5 Jan 2021 15:45:43 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 5 Jan 2021 16:35:02 +0100 Message-Id: <20210105153558.134272-9-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.30.0.rc1 In-Reply-To: <20210105153558.134272-1-maarten.lankhorst@linux.intel.com> References: <20210105153558.134272-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v6 08/64] drm/i915: Rework struct phys attachment handling X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SW5zdGVhZCBvZiBjcmVhdGluZyBhIHNlcGFyYXRlIG9iamVjdCB0eXBlLCB3ZSBtYWtlIGNoYW5n ZXMgdG8KdGhlIHNobWVtIHR5cGUsIHRvIGNsZWFyIHN0cnVjdCBwYWdlIGJhY2tpbmcuIFRoaXMg d2lsbCBhbGxvdyB1cyB0bwplbnN1cmUgd2UgbmV2ZXIgcnVuIGludG8gYSByYWNlIHdoZW4gd2Ug ZXhjaGFuZ2Ugb2JqLT5vcHMgd2l0aCBvdGhlcgpmdW5jdGlvbiBwb2ludGVycy4KClNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dC5oICAgIHwgICA4ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5j ICAgICAgfCAxMDIgKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fc2htZW0uYyAgICAgfCAgMjIgKysrLQogLi4uL2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvaTkxNV9nZW1fcGh5cy5jICAgIHwgICA2IC0tCiA0IGZpbGVzIGNoYW5nZWQsIDc4IGluc2Vy dGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuaAppbmRleCAwNGMyOWVkOTM2MzIuLmFhNTVhZmMwYzg1OCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAtMzcsNyArMzcsMTUgQEAg dm9pZCBfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJCQkJICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAogCQkJCSAgICAg Ym9vbCBuZWVkc19jbGZsdXNoKTsKIAoraW50IGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfcGh5cyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCWNvbnN0IHN0cnVjdCBkcm1faTkx NV9nZW1fcHdyaXRlICphcmdzKTsKK2ludCBpOTE1X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9nZW1fcHJlYWQgKmFyZ3MpOworCiBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbik7Cit2b2lkIGk5MTVf Z2VtX29iamVjdF9wdXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAorCQkJCSAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKTsKKwogCiB2b2lkIGk5MTVfZ2VtX2Zs dXNoX2ZyZWVfb2JqZWN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCmluZGV4IDk2NTU5MGQzYTU3MC4uNGJk ZDA0MjljMDhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cGh5cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKQEAg LTc2LDYgKzc2LDggQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX3BoeXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogCWludGVsX2d0X2NoaXBzZXRfZmx1 c2goJnRvX2k5MTUob2JqLT5iYXNlLmRldiktPmd0KTsKIAorCS8qIFdlJ3JlIG5vIGxvbmdlciBz dHJ1Y3QgcGFnZSBiYWNrZWQgKi8KKwlvYmotPmZsYWdzICY9IH5JOTE1X0JPX0FMTE9DX1NUUlVD VF9QQUdFOwogCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHN0LCBzZy0+bGVuZ3Ro KTsKIAogCXJldHVybiAwOwpAQCAtODksNyArOTEsNyBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX29i amVjdF9nZXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXJl dHVybiAtRU5PTUVNOwogfQogCi1zdGF0aWMgdm9pZAordm9pZAogaTkxNV9nZW1fb2JqZWN0X3B1 dF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICAgICAg c3RydWN0IHNnX3RhYmxlICpwYWdlcykKIHsKQEAgLTEzNCw5ICsxMzYsOCBAQCBpOTE1X2dlbV9v YmplY3RfcHV0X3BhZ2VzX3BoeXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJ CSAgdmFkZHIsIGRtYSk7CiB9CiAKLXN0YXRpYyBpbnQKLXBoeXNfcHdyaXRlKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JICAgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fcHdy aXRlICphcmdzKQoraW50IGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfcGh5cyhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCWNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fcHdyaXRl ICphcmdzKQogewogCXZvaWQgKnZhZGRyID0gc2dfcGFnZShvYmotPm1tLnBhZ2VzLT5zZ2wpICsg YXJncy0+b2Zmc2V0OwogCWNoYXIgX191c2VyICp1c2VyX2RhdGEgPSB1NjRfdG9fdXNlcl9wdHIo YXJncy0+ZGF0YV9wdHIpOwpAQCAtMTY1LDkgKzE2Niw4IEBAIHBoeXNfcHdyaXRlKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQKLXBo eXNfcHJlYWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkgICBjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3ByZWFkICphcmdzKQoraW50IGk5MTVfZ2VtX29iamVjdF9wcmVhZF9w aHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCisJCQkgICAgICAgY29uc3Qgc3Ry dWN0IGRybV9pOTE1X2dlbV9wcmVhZCAqYXJncykKIHsKIAl2b2lkICp2YWRkciA9IHNnX3BhZ2Uo b2JqLT5tbS5wYWdlcy0+c2dsKSArIGFyZ3MtPm9mZnNldDsKIAljaGFyIF9fdXNlciAqdXNlcl9k YXRhID0gdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKQEAgLTE4Niw4NiArMTg2LDgy IEBAIHBoeXNfcHJlYWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlyZXR1cm4g MDsKIH0KIAotc3RhdGljIHZvaWQgcGh5c19yZWxlYXNlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCitzdGF0aWMgaW50IGk5MTVfZ2VtX29iamVjdF9zaG1lbV90b19waHlzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7Ci0JZnB1dChvYmotPmJhc2UuZmlscCk7Ci19 CisJc3RydWN0IHNnX3RhYmxlICpwYWdlczsKKwlpbnQgZXJyOwogCi1zdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX3BoeXNfb3BzID0gewotCS5uYW1l ID0gImk5MTVfZ2VtX29iamVjdF9waHlzIiwKLQkuZ2V0X3BhZ2VzID0gaTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlc19waHlzLAotCS5wdXRfcGFnZXMgPSBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2Vz X3BoeXMsCisJcGFnZXMgPSBfX2k5MTVfZ2VtX29iamVjdF91bnNldF9wYWdlcyhvYmopOworCisJ ZXJyID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19waHlzKG9iaik7CisJaWYgKGVycikKKwkJ Z290byBlcnJfeGZlcjsKIAotCS5wcmVhZCAgPSBwaHlzX3ByZWFkLAotCS5wd3JpdGUgPSBwaHlz X3B3cml0ZSwKKwkvKiBQZXJtYS1waW4gKHVudGlsIHJlbGVhc2UpIHRoZSBwaHlzaWNhbCBzZXQg b2YgcGFnZXMgKi8KKwlfX2k5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKIAotCS5yZWxl YXNlID0gcGh5c19yZWxlYXNlLAotfTsKKwlpZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2VzKSkKKwkJ aTkxNV9nZW1fc2htZW1fb3BzLnB1dF9wYWdlcyhvYmosIHBhZ2VzKTsKKworCWk5MTVfZ2VtX29i amVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKKwlyZXR1cm4gMDsKKworZXJyX3hmZXI6 CisJaWYgKCFJU19FUlJfT1JfTlVMTChwYWdlcykpIHsKKwkJdW5zaWduZWQgaW50IHNnX3BhZ2Vf c2l6ZXMgPSBpOTE1X3NnX3BhZ2Vfc2l6ZXMocGFnZXMtPnNnbCk7CisKKwkJX19pOTE1X2dlbV9v YmplY3Rfc2V0X3BhZ2VzKG9iaiwgcGFnZXMsIHNnX3BhZ2Vfc2l6ZXMpOworCX0KKwlyZXR1cm4g ZXJyOworfQogCiBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlzKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbikKIHsKLQlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2Vz OwogCWludCBlcnI7CiAKIAlpZiAoYWxpZ24gPiBvYmotPmJhc2Uuc2l6ZSkKIAkJcmV0dXJuIC1F SU5WQUw7CiAKLQlpZiAob2JqLT5vcHMgPT0gJmk5MTVfZ2VtX3BoeXNfb3BzKQotCQlyZXR1cm4g MDsKLQogCWlmIChvYmotPm9wcyAhPSAmaTkxNV9nZW1fc2htZW1fb3BzKQogCQlyZXR1cm4gLUVJ TlZBTDsKIAorCWlmICghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKQorCQly ZXR1cm4gMDsKKwogCWVyciA9IGk5MTVfZ2VtX29iamVjdF91bmJpbmQob2JqLCBJOTE1X0dFTV9P QkpFQ1RfVU5CSU5EX0FDVElWRSk7CiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAogCW11dGV4 X2xvY2tfbmVzdGVkKCZvYmotPm1tLmxvY2ssIEk5MTVfTU1fR0VUX1BBR0VTKTsKIAorCWlmICh1 bmxpa2VseSghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKSkKKwkJZ290byBv dXQ7CisKIAlpZiAob2JqLT5tbS5tYWR2ICE9IEk5MTVfTUFEVl9XSUxMTkVFRCkgewogCQllcnIg PSAtRUZBVUxUOwotCQlnb3RvIGVycl91bmxvY2s7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmIChv YmotPm1tLnF1aXJrZWQpIHsKIAkJZXJyID0gLUVGQVVMVDsKLQkJZ290byBlcnJfdW5sb2NrOwor CQlnb3RvIG91dDsKIAl9CiAKLQlpZiAob2JqLT5tbS5tYXBwaW5nKSB7CisJaWYgKG9iai0+bW0u bWFwcGluZyB8fCBpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKSB7CiAJCWVy ciA9IC1FQlVTWTsKLQkJZ290byBlcnJfdW5sb2NrOworCQlnb3RvIG91dDsKIAl9CiAKLQlwYWdl cyA9IF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3BhZ2VzKG9iaik7Ci0KLQlvYmotPm9wcyA9ICZp OTE1X2dlbV9waHlzX29wczsKLQlvYmotPmZsYWdzICY9IH5JOTE1X0JPX0FMTE9DX1NUUlVDVF9Q QUdFOwotCi0JZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKLQlpZiAo ZXJyKQotCQlnb3RvIGVycl94ZmVyOwotCi0JLyogUGVybWEtcGluICh1bnRpbCByZWxlYXNlKSB0 aGUgcGh5c2ljYWwgc2V0IG9mIHBhZ2VzICovCi0JX19pOTE1X2dlbV9vYmplY3RfcGluX3BhZ2Vz KG9iaik7Ci0KLQlpZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2VzKSkKLQkJaTkxNV9nZW1fc2htZW1f b3BzLnB1dF9wYWdlcyhvYmosIHBhZ2VzKTsKLQotCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21l bW9yeV9yZWdpb24ob2JqKTsKLQotCW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKLQlyZXR1 cm4gMDsKKwlpZiAodW5saWtlbHkob2JqLT5tbS5tYWR2ICE9IEk5MTVfTUFEVl9XSUxMTkVFRCkp IHsKKwkJZHJtX2RiZyhvYmotPmJhc2UuZGV2LAorCQkJIkF0dGVtcHRpbmcgdG8gb2J0YWluIGEg cHVyZ2VhYmxlIG9iamVjdFxuIik7CisJCWVyciA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0OworCX0K IAotZXJyX3hmZXI6Ci0Jb2JqLT5vcHMgPSAmaTkxNV9nZW1fc2htZW1fb3BzOwotCW9iai0+Zmxh Z3MgfD0gSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRTsKLQlpZiAoIUlTX0VSUl9PUl9OVUxMKHBh Z2VzKSkgewotCQl1bnNpZ25lZCBpbnQgc2dfcGFnZV9zaXplcyA9IGk5MTVfc2dfcGFnZV9zaXpl cyhwYWdlcy0+c2dsKTsKKwllcnIgPSBpOTE1X2dlbV9vYmplY3Rfc2htZW1fdG9fcGh5cyhvYmop OwogCi0JCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19wYWdlX3Np emVzKTsKLQl9Ci1lcnJfdW5sb2NrOgorb3V0OgogCW11dGV4X3VubG9jaygmb2JqLT5tbS5sb2Nr KTsKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3NobWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fc2ht ZW0uYwppbmRleCAzMWM2MTdhMTExNWYuLmQ1OTBlMGMzYmQwMCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKQEAgLTMwMyw2ICszMDMsMTEgQEAgc2htZW1fcHV0 X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIHN0cnVjdCBzZ190YWJsZSAq cGFnZXMpCiAJc3RydWN0IHBhZ2V2ZWMgcHZlYzsKIAlzdHJ1Y3QgcGFnZSAqcGFnZTsKIAorCWlm ICh1bmxpa2VseSghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKSkgeworCQlp OTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX3BoeXMob2JqLCBwYWdlcyk7CisJCXJldHVybjsKKwl9 CisKIAlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3NobWVtKG9iaiwgcGFnZXMsIHRydWUpOwog CiAJaTkxNV9nZW1fZ3R0X2ZpbmlzaF9wYWdlcyhvYmosIHBhZ2VzKTsKQEAgLTM0Myw2ICszNDgs OSBAQCBzaG1lbV9wd3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkvKiBD YWxsZXIgYWxyZWFkeSB2YWxpZGF0ZWQgdXNlciBhcmdzICovCiAJR0VNX0JVR19PTighYWNjZXNz X29rKHVzZXJfZGF0YSwgYXJnLT5zaXplKSk7CiAKKwlpZiAoIWk5MTVfZ2VtX29iamVjdF9oYXNf c3RydWN0X3BhZ2Uob2JqKSkKKwkJcmV0dXJuIGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfcGh5cyhv YmosIGFyZyk7CisKIAkvKgogCSAqIEJlZm9yZSB3ZSBpbnN0YW50aWF0ZS9waW4gdGhlIGJhY2tp bmcgc3RvcmUgZm9yIG91ciB1c2UsIHdlCiAJICogY2FuIHByZXBvcHVsYXRlIHRoZSBzaG1lbWZz IGZpbHAgZWZmaWNpZW50bHkgdXNpbmcgYSB3cml0ZSBpbnRvCkBAIC00MjEsOSArNDI5LDIwIEBA IHNobWVtX3B3cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXJldHVybiAw OwogfQogCitzdGF0aWMgaW50CitzaG1lbV9wcmVhZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqLAorCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3ByZWFkICphcmcpCit7CisJ aWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpCisJCXJldHVybiBpOTE1 X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhvYmosIGFyZyk7CisKKwlyZXR1cm4gLUVOT0RFVjsKK30K Kwogc3RhdGljIHZvaWQgc2htZW1fcmVsZWFzZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQogewotCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKKwlp ZiAob2JqLT5mbGFncyAmIEk5MTVfQk9fQUxMT0NfU1RSVUNUX1BBR0UpCisJCWk5MTVfZ2VtX29i amVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKIAogCWZwdXQob2JqLT5iYXNlLmZpbHAp OwogfQpAQCAtNDM4LDYgKzQ1Nyw3IEBAIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 X29wcyBpOTE1X2dlbV9zaG1lbV9vcHMgPSB7CiAJLndyaXRlYmFjayA9IHNobWVtX3dyaXRlYmFj aywKIAogCS5wd3JpdGUgPSBzaG1lbV9wd3JpdGUsCisJLnByZWFkID0gc2htZW1fcHJlYWQsCiAK IAkucmVsZWFzZSA9IHNobWVtX3JlbGVhc2UsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYwppbmRleCBmYjZhMTc3MDEzMTAuLjBj ZmEwODIwNDdmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0 cy9pOTE1X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0 cy9pOTE1X2dlbV9waHlzLmMKQEAgLTM4LDEyICszOCw2IEBAIHN0YXRpYyBpbnQgbW9ja19waHlz X29iamVjdCh2b2lkICphcmcpCiAJfQogCiAJaWYgKGk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0 X3BhZ2Uob2JqKSkgewotCQllcnIgPSAtRUlOVkFMOwotCQlwcl9lcnIoInNobWVtIGhhcyBhIHN0 cnVjdCBwYWdlXG4iKTsKLQkJZ290byBvdXRfb2JqOwotCX0KLQotCWlmIChvYmotPm9wcyAhPSAm aTkxNV9nZW1fcGh5c19vcHMpIHsKIAkJcHJfZXJyKCJpOTE1X2dlbV9vYmplY3RfYXR0YWNoX3Bo eXMgZGlkIG5vdCBjcmVhdGUgYSBwaHlzIG9iamVjdFxuIik7CiAJCWVyciA9IC1FSU5WQUw7CiAJ CWdvdG8gb3V0X29iajsKLS0gCjIuMzAuMC5yYzEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=