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=unavailable 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 89E51C433DB for ; Tue, 23 Mar 2021 15:57:49 +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 4B9E3619D0 for ; Tue, 23 Mar 2021 15:57:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4B9E3619D0 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=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D36DB6EC07; Tue, 23 Mar 2021 15:57:43 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 86F826EBFE for ; Tue, 23 Mar 2021 15:57:42 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Subject: [PATCH v9 08/70] drm/i915: Rework struct phys attachment handling Date: Tue, 23 Mar 2021 16:49:57 +0100 Message-Id: <20210323155059.628690-9-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> References: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SW5zdGVhZCBvZiBjcmVhdGluZyBhIHNlcGFyYXRlIG9iamVjdCB0eXBlLCB3ZSBtYWtlIGNoYW5n ZXMgdG8KdGhlIHNobWVtIHR5cGUsIHRvIGNsZWFyIHN0cnVjdCBwYWdlIGJhY2tpbmcuIFRoaXMg d2lsbCBhbGxvdyB1cyB0bwplbnN1cmUgd2UgbmV2ZXIgcnVuIGludG8gYSByYWNlIHdoZW4gd2Ug ZXhjaGFuZ2Ugb2JqLT5vcHMgd2l0aCBvdGhlcgpmdW5jdGlvbiBwb2ludGVycy4KClNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVj dC5oICAgIHwgICA4ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5j ICAgICAgfCAxMDIgKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fc2htZW0uYyAgICAgfCAgMjIgKysrLQogLi4uL2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvaTkxNV9nZW1fcGh5cy5jICAgIHwgICA2IC0tCiA0IGZpbGVzIGNoYW5nZWQsIDc4IGluc2Vy dGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9vYmplY3QuaAppbmRleCBmNzA2ODEyMjgwZDYuLjc1ZTg3MzRmNTBkMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAtNjMsNyArNjMsMTUgQEAg dm9pZCBfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJCQkJICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAogCQkJCSAgICAg Ym9vbCBuZWVkc19jbGZsdXNoKTsKIAoraW50IGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfcGh5cyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCWNvbnN0IHN0cnVjdCBkcm1faTkx NV9nZW1fcHdyaXRlICphcmdzKTsKK2ludCBpOTE1X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9nZW1fcHJlYWQgKmFyZ3MpOworCiBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbik7Cit2b2lkIGk5MTVf Z2VtX29iamVjdF9wdXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAorCQkJCSAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKTsKKwogCiB2b2lkIGk5MTVfZ2VtX2Zs dXNoX2ZyZWVfb2JqZWN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCmluZGV4IGQxYmY1NDNkMTExYS4uZWQy ODNlMTY4ZjJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f 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 MDsKLQogCWlmICghaTkxNV9nZW1fb2JqZWN0X2lzX3NobWVtKG9iaikpCiAJCXJldHVybiAtRUlO VkFMOwogCisJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpCisJCXJl dHVybiAwOworCiAJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3VuYmluZChvYmosIEk5MTVfR0VNX09C SkVDVF9VTkJJTkRfQUNUSVZFKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCiAJbXV0ZXhf bG9ja19uZXN0ZWQoJm9iai0+bW0ubG9jaywgSTkxNV9NTV9HRVRfUEFHRVMpOwogCisJaWYgKHVu bGlrZWx5KCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpKQorCQlnb3RvIG91 dDsKKwogCWlmIChvYmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKSB7CiAJCWVyciA9 IC1FRkFVTFQ7Ci0JCWdvdG8gZXJyX3VubG9jazsKKwkJZ290byBvdXQ7CiAJfQogCiAJaWYgKGk5 MTVfZ2VtX29iamVjdF9oYXNfdGlsaW5nX3F1aXJrKG9iaikpIHsKIAkJZXJyID0gLUVGQVVMVDsK LQkJZ290byBlcnJfdW5sb2NrOworCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAob2JqLT5tbS5tYXBw aW5nKSB7CisJaWYgKG9iai0+bW0ubWFwcGluZyB8fCBpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5l ZF9wYWdlcyhvYmopKSB7CiAJCWVyciA9IC1FQlVTWTsKLQkJZ290byBlcnJfdW5sb2NrOworCQln b3RvIG91dDsKIAl9CiAKLQlwYWdlcyA9IF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3BhZ2VzKG9i aik7Ci0KLQlvYmotPm9wcyA9ICZpOTE1X2dlbV9waHlzX29wczsKLQlvYmotPmZsYWdzICY9IH5J OTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdFOwotCi0JZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZXMob2JqKTsKLQlpZiAoZXJyKQotCQlnb3RvIGVycl94ZmVyOwotCi0JLyogUGVybWEt cGluICh1bnRpbCByZWxlYXNlKSB0aGUgcGh5c2ljYWwgc2V0IG9mIHBhZ2VzICovCi0JX19pOTE1 X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Ci0KLQlpZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2Vz KSkKLQkJaTkxNV9nZW1fc2htZW1fb3BzLnB1dF9wYWdlcyhvYmosIHBhZ2VzKTsKLQotCWk5MTVf Z2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKLQotCW11dGV4X3VubG9jaygm b2JqLT5tbS5sb2NrKTsKLQlyZXR1cm4gMDsKKwlpZiAodW5saWtlbHkob2JqLT5tbS5tYWR2ICE9 IEk5MTVfTUFEVl9XSUxMTkVFRCkpIHsKKwkJZHJtX2RiZyhvYmotPmJhc2UuZGV2LAorCQkJIkF0 dGVtcHRpbmcgdG8gb2J0YWluIGEgcHVyZ2VhYmxlIG9iamVjdFxuIik7CisJCWVyciA9IC1FRkFV TFQ7CisJCWdvdG8gb3V0OworCX0KIAotZXJyX3hmZXI6Ci0Jb2JqLT5vcHMgPSAmaTkxNV9nZW1f c2htZW1fb3BzOwotCW9iai0+ZmxhZ3MgfD0gSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRTsKLQlp ZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2VzKSkgewotCQl1bnNpZ25lZCBpbnQgc2dfcGFnZV9zaXpl cyA9IGk5MTVfc2dfcGFnZV9zaXplcyhwYWdlcy0+c2dsKTsKKwllcnIgPSBpOTE1X2dlbV9vYmpl Y3Rfc2htZW1fdG9fcGh5cyhvYmopOwogCi0JCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhv YmosIHBhZ2VzLCBzZ19wYWdlX3NpemVzKTsKLQl9Ci1lcnJfdW5sb2NrOgorb3V0OgogCW11dGV4 X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwppbmRleCBiYjgyYjNiYzg4MzAuLmM5ODIwYzE5YzVm MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKQEAgLTMwMyw2 ICszMDMsMTEgQEAgc2htZW1fcHV0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMpCiAJc3RydWN0IHBhZ2V2ZWMgcHZlYzsKIAlzdHJ1 Y3QgcGFnZSAqcGFnZTsKIAorCWlmICh1bmxpa2VseSghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1 Y3RfcGFnZShvYmopKSkgeworCQlpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX3BoeXMob2JqLCBw YWdlcyk7CisJCXJldHVybjsKKwl9CisKIAlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3NobWVt KG9iaiwgcGFnZXMsIHRydWUpOwogCiAJaTkxNV9nZW1fZ3R0X2ZpbmlzaF9wYWdlcyhvYmosIHBh Z2VzKTsKQEAgLTM0Myw2ICszNDgsOSBAQCBzaG1lbV9wd3JpdGUoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKIAkvKiBDYWxsZXIgYWxyZWFkeSB2YWxpZGF0ZWQgdXNlciBhcmdzICov CiAJR0VNX0JVR19PTighYWNjZXNzX29rKHVzZXJfZGF0YSwgYXJnLT5zaXplKSk7CiAKKwlpZiAo IWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkKKwkJcmV0dXJuIGk5MTVfZ2Vt X29iamVjdF9wd3JpdGVfcGh5cyhvYmosIGFyZyk7CisKIAkvKgogCSAqIEJlZm9yZSB3ZSBpbnN0 YW50aWF0ZS9waW4gdGhlIGJhY2tpbmcgc3RvcmUgZm9yIG91ciB1c2UsIHdlCiAJICogY2FuIHBy ZXBvcHVsYXRlIHRoZSBzaG1lbWZzIGZpbHAgZWZmaWNpZW50bHkgdXNpbmcgYSB3cml0ZSBpbnRv CkBAIC00MjEsOSArNDI5LDIwIEBAIHNobWVtX3B3cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50CitzaG1lbV9wcmVhZChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3ByZWFkICphcmcpCit7CisJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdl KG9iaikpCisJCXJldHVybiBpOTE1X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhvYmosIGFyZyk7CisK KwlyZXR1cm4gLUVOT0RFVjsKK30KKwogc3RhdGljIHZvaWQgc2htZW1fcmVsZWFzZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewotCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21l bW9yeV9yZWdpb24ob2JqKTsKKwlpZiAob2JqLT5mbGFncyAmIEk5MTVfQk9fQUxMT0NfU1RSVUNU X1BBR0UpCisJCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKIAog CWZwdXQob2JqLT5iYXNlLmZpbHApOwogfQpAQCAtNDM4LDYgKzQ1Nyw3IEBAIGNvbnN0IHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9zaG1lbV9vcHMgPSB7CiAJLndyaXRl YmFjayA9IHNobWVtX3dyaXRlYmFjaywKIAogCS5wd3JpdGUgPSBzaG1lbV9wd3JpdGUsCisJLnBy ZWFkID0gc2htZW1fcHJlYWQsCiAKIAkucmVsZWFzZSA9IHNobWVtX3JlbGVhc2UsCiB9OwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlz LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYwpp bmRleCAzMzhkYWRhODgzNTkuLjIzOGFmN2JkODRmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKQEAgLTM4LDEyICszOCw2IEBA IHN0YXRpYyBpbnQgbW9ja19waHlzX29iamVjdCh2b2lkICphcmcpCiAJfQogCiAJaWYgKGk5MTVf Z2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkgewotCQllcnIgPSAtRUlOVkFMOwotCQlw cl9lcnIoInNobWVtIGhhcyBhIHN0cnVjdCBwYWdlXG4iKTsKLQkJZ290byBvdXRfb2JqOwotCX0K LQotCWlmIChvYmotPm9wcyAhPSAmaTkxNV9nZW1fcGh5c19vcHMpIHsKIAkJcHJfZXJyKCJpOTE1 X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMgZGlkIG5vdCBjcmVhdGUgYSBwaHlzIG9iamVjdFxuIik7 CiAJCWVyciA9IC1FSU5WQUw7CiAJCWdvdG8gb3V0X29iajsKLS0gCjIuMzEuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== 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 E10DDC433E1 for ; Tue, 23 Mar 2021 15:51:19 +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 8C21D619B6 for ; Tue, 23 Mar 2021 15:51:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8C21D619B6 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 E92B06E96D; Tue, 23 Mar 2021 15:51:15 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAD696EA04 for ; Tue, 23 Mar 2021 15:51:13 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 23 Mar 2021 16:49:57 +0100 Message-Id: <20210323155059.628690-9-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> References: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v9 08/70] 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?= , dri-devel@lists.freedesktop.org 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 X2dlbV9vYmplY3QuaAppbmRleCBmNzA2ODEyMjgwZDYuLjc1ZTg3MzRmNTBkMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaApAQCAtNjMsNyArNjMsMTUgQEAg dm9pZCBfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJCQkJICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAogCQkJCSAgICAg Ym9vbCBuZWVkc19jbGZsdXNoKTsKIAoraW50IGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfcGh5cyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJCWNvbnN0IHN0cnVjdCBkcm1faTkx NV9nZW1fcHdyaXRlICphcmdzKTsKK2ludCBpOTE1X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1f aTkxNV9nZW1fcHJlYWQgKmFyZ3MpOworCiBpbnQgaTkxNV9nZW1fb2JqZWN0X2F0dGFjaF9waHlz KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGludCBhbGlnbik7Cit2b2lkIGk5MTVf Z2VtX29iamVjdF9wdXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAorCQkJCSAgICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzKTsKKwogCiB2b2lkIGk5MTVfZ2VtX2Zs dXNoX2ZyZWVfb2JqZWN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGh5cy5jCmluZGV4IGQxYmY1NDNkMTExYS4uZWQy ODNlMTY4ZjJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f 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 MDsKLQogCWlmICghaTkxNV9nZW1fb2JqZWN0X2lzX3NobWVtKG9iaikpCiAJCXJldHVybiAtRUlO VkFMOwogCisJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpCisJCXJl dHVybiAwOworCiAJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3VuYmluZChvYmosIEk5MTVfR0VNX09C SkVDVF9VTkJJTkRfQUNUSVZFKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCiAJbXV0ZXhf bG9ja19uZXN0ZWQoJm9iai0+bW0ubG9jaywgSTkxNV9NTV9HRVRfUEFHRVMpOwogCisJaWYgKHVu bGlrZWx5KCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpKQorCQlnb3RvIG91 dDsKKwogCWlmIChvYmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX1dJTExORUVEKSB7CiAJCWVyciA9 IC1FRkFVTFQ7Ci0JCWdvdG8gZXJyX3VubG9jazsKKwkJZ290byBvdXQ7CiAJfQogCiAJaWYgKGk5 MTVfZ2VtX29iamVjdF9oYXNfdGlsaW5nX3F1aXJrKG9iaikpIHsKIAkJZXJyID0gLUVGQVVMVDsK LQkJZ290byBlcnJfdW5sb2NrOworCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAob2JqLT5tbS5tYXBw aW5nKSB7CisJaWYgKG9iai0+bW0ubWFwcGluZyB8fCBpOTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5l ZF9wYWdlcyhvYmopKSB7CiAJCWVyciA9IC1FQlVTWTsKLQkJZ290byBlcnJfdW5sb2NrOworCQln b3RvIG91dDsKIAl9CiAKLQlwYWdlcyA9IF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3BhZ2VzKG9i aik7Ci0KLQlvYmotPm9wcyA9ICZpOTE1X2dlbV9waHlzX29wczsKLQlvYmotPmZsYWdzICY9IH5J OTE1X0JPX0FMTE9DX1NUUlVDVF9QQUdFOwotCi0JZXJyID0gX19fX2k5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZXMob2JqKTsKLQlpZiAoZXJyKQotCQlnb3RvIGVycl94ZmVyOwotCi0JLyogUGVybWEt cGluICh1bnRpbCByZWxlYXNlKSB0aGUgcGh5c2ljYWwgc2V0IG9mIHBhZ2VzICovCi0JX19pOTE1 X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Ci0KLQlpZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2Vz KSkKLQkJaTkxNV9nZW1fc2htZW1fb3BzLnB1dF9wYWdlcyhvYmosIHBhZ2VzKTsKLQotCWk5MTVf Z2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKLQotCW11dGV4X3VubG9jaygm b2JqLT5tbS5sb2NrKTsKLQlyZXR1cm4gMDsKKwlpZiAodW5saWtlbHkob2JqLT5tbS5tYWR2ICE9 IEk5MTVfTUFEVl9XSUxMTkVFRCkpIHsKKwkJZHJtX2RiZyhvYmotPmJhc2UuZGV2LAorCQkJIkF0 dGVtcHRpbmcgdG8gb2J0YWluIGEgcHVyZ2VhYmxlIG9iamVjdFxuIik7CisJCWVyciA9IC1FRkFV TFQ7CisJCWdvdG8gb3V0OworCX0KIAotZXJyX3hmZXI6Ci0Jb2JqLT5vcHMgPSAmaTkxNV9nZW1f c2htZW1fb3BzOwotCW9iai0+ZmxhZ3MgfD0gSTkxNV9CT19BTExPQ19TVFJVQ1RfUEFHRTsKLQlp ZiAoIUlTX0VSUl9PUl9OVUxMKHBhZ2VzKSkgewotCQl1bnNpZ25lZCBpbnQgc2dfcGFnZV9zaXpl cyA9IGk5MTVfc2dfcGFnZV9zaXplcyhwYWdlcy0+c2dsKTsKKwllcnIgPSBpOTE1X2dlbV9vYmpl Y3Rfc2htZW1fdG9fcGh5cyhvYmopOwogCi0JCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhv YmosIHBhZ2VzLCBzZ19wYWdlX3NpemVzKTsKLQl9Ci1lcnJfdW5sb2NrOgorb3V0OgogCW11dGV4 X3VubG9jaygmb2JqLT5tbS5sb2NrKTsKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fc2htZW0uYwppbmRleCBiYjgyYjNiYzg4MzAuLmM5ODIwYzE5YzVm MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKQEAgLTMwMyw2 ICszMDMsMTEgQEAgc2htZW1fcHV0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMpCiAJc3RydWN0IHBhZ2V2ZWMgcHZlYzsKIAlzdHJ1 Y3QgcGFnZSAqcGFnZTsKIAorCWlmICh1bmxpa2VseSghaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1 Y3RfcGFnZShvYmopKSkgeworCQlpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX3BoeXMob2JqLCBw YWdlcyk7CisJCXJldHVybjsKKwl9CisKIAlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3NobWVt KG9iaiwgcGFnZXMsIHRydWUpOwogCiAJaTkxNV9nZW1fZ3R0X2ZpbmlzaF9wYWdlcyhvYmosIHBh Z2VzKTsKQEAgLTM0Myw2ICszNDgsOSBAQCBzaG1lbV9wd3JpdGUoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKIAkvKiBDYWxsZXIgYWxyZWFkeSB2YWxpZGF0ZWQgdXNlciBhcmdzICov CiAJR0VNX0JVR19PTighYWNjZXNzX29rKHVzZXJfZGF0YSwgYXJnLT5zaXplKSk7CiAKKwlpZiAo IWk5MTVfZ2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkKKwkJcmV0dXJuIGk5MTVfZ2Vt X29iamVjdF9wd3JpdGVfcGh5cyhvYmosIGFyZyk7CisKIAkvKgogCSAqIEJlZm9yZSB3ZSBpbnN0 YW50aWF0ZS9waW4gdGhlIGJhY2tpbmcgc3RvcmUgZm9yIG91ciB1c2UsIHdlCiAJICogY2FuIHBy ZXBvcHVsYXRlIHRoZSBzaG1lbWZzIGZpbHAgZWZmaWNpZW50bHkgdXNpbmcgYSB3cml0ZSBpbnRv CkBAIC00MjEsOSArNDI5LDIwIEBAIHNobWVtX3B3cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50CitzaG1lbV9wcmVhZChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3ByZWFkICphcmcpCit7CisJaWYgKCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdl KG9iaikpCisJCXJldHVybiBpOTE1X2dlbV9vYmplY3RfcHJlYWRfcGh5cyhvYmosIGFyZyk7CisK KwlyZXR1cm4gLUVOT0RFVjsKK30KKwogc3RhdGljIHZvaWQgc2htZW1fcmVsZWFzZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewotCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21l bW9yeV9yZWdpb24ob2JqKTsKKwlpZiAob2JqLT5mbGFncyAmIEk5MTVfQk9fQUxMT0NfU1RSVUNU X1BBR0UpCisJCWk5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21lbW9yeV9yZWdpb24ob2JqKTsKIAog CWZwdXQob2JqLT5iYXNlLmZpbHApOwogfQpAQCAtNDM4LDYgKzQ1Nyw3IEBAIGNvbnN0IHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9zaG1lbV9vcHMgPSB7CiAJLndyaXRl YmFjayA9IHNobWVtX3dyaXRlYmFjaywKIAogCS5wd3JpdGUgPSBzaG1lbV9wd3JpdGUsCisJLnBy ZWFkID0gc2htZW1fcHJlYWQsCiAKIAkucmVsZWFzZSA9IHNobWVtX3JlbGVhc2UsCiB9OwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlz LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX3BoeXMuYwpp bmRleCAzMzhkYWRhODgzNTkuLjIzOGFmN2JkODRmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9waHlzLmMKQEAgLTM4LDEyICszOCw2IEBA IHN0YXRpYyBpbnQgbW9ja19waHlzX29iamVjdCh2b2lkICphcmcpCiAJfQogCiAJaWYgKGk5MTVf Z2VtX29iamVjdF9oYXNfc3RydWN0X3BhZ2Uob2JqKSkgewotCQllcnIgPSAtRUlOVkFMOwotCQlw cl9lcnIoInNobWVtIGhhcyBhIHN0cnVjdCBwYWdlXG4iKTsKLQkJZ290byBvdXRfb2JqOwotCX0K LQotCWlmIChvYmotPm9wcyAhPSAmaTkxNV9nZW1fcGh5c19vcHMpIHsKIAkJcHJfZXJyKCJpOTE1 X2dlbV9vYmplY3RfYXR0YWNoX3BoeXMgZGlkIG5vdCBjcmVhdGUgYSBwaHlzIG9iamVjdFxuIik7 CiAJCWVyciA9IC1FSU5WQUw7CiAJCWdvdG8gb3V0X29iajsKLS0gCjIuMzEuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==