From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 8/9] drm/i915: make mappable struct resource centric Date: Fri, 24 Nov 2017 21:29:29 +0000 Message-ID: <20171124212930.27467-9-matthew.auld@intel.com> References: <20171124212930.27467-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA3086EA1E for ; Fri, 24 Nov 2017 21:29:45 +0000 (UTC) In-Reply-To: <20171124212930.27467-1-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzog Sm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBQYXVsbyBaYW5vbmkgPHBh dWxvLnIuemFub25pQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0 LmggICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICAgICAgICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9leGVjYnVmZmVyLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92bWEuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYyAgICAgfCAgMyArKy0KIDEyIGZpbGVzIGNoYW5n ZWQsIDM1IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQu aAppbmRleCAwMjhkMDBlNjFiYWQuLjYwMWU1ZmVlODk1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L2d2dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQu aApAQCAtMzM2LDcgKzMzNiw3IEBAIGludCBpbnRlbF9ndnRfbG9hZF9maXJtd2FyZShzdHJ1Y3Qg aW50ZWxfZ3Z0ICpndnQpOwogCiAvKiBBcGVydHVyZS9HTSBzcGFjZSBkZWZpbml0aW9ucyBmb3Ig R1ZUIGRldmljZSAqLwogI2RlZmluZSBndnRfYXBlcnR1cmVfc3ooZ3Z0KQkgIChndnQtPmRldl9w cml2LT5nZ3R0Lm1hcHBhYmxlX3NpemUpCi0jZGVmaW5lIGd2dF9hcGVydHVyZV9wYV9iYXNlKGd2 dCkgKGd2dC0+ZGV2X3ByaXYtPmdndHQubWFwcGFibGVfYmFzZSkKKyNkZWZpbmUgZ3Z0X2FwZXJ0 dXJlX3BhX2Jhc2UoZ3Z0KSAoZ3Z0LT5kZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZS5zdGFydCkKIAog I2RlZmluZSBndnRfZ2d0dF9nbV9zeihndnQpCSAgKGd2dC0+ZGV2X3ByaXYtPmdndHQuYmFzZS50 b3RhbCkKICNkZWZpbmUgZ3Z0X2dndHRfc3ooZ3Z0KSBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpp bmRleCBlMWJiMGM4ODIyYWEuLmJlMjk4OTVhNTZmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j CkBAIC03MjgsNyArNzI4LDcgQEAgc3RhdGljIGludCBpOTE1X2tpY2tfb3V0X2Zpcm13YXJlX2Zi KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoIWFwKQogCQlyZXR1cm4g LUVOT01FTTsKIAotCWFwLT5yYW5nZXNbMF0uYmFzZSA9IGdndHQtPm1hcHBhYmxlX2Jhc2U7CisJ YXAtPnJhbmdlc1swXS5iYXNlID0gZ2d0dC0+bWFwcGFibGUuc3RhcnQ7CiAJYXAtPnJhbmdlc1sw XS5zaXplID0gZ2d0dC0+bWFwcGFibGVfc2l6ZTsKIAogCXByaW1hcnkgPQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKaW5kZXggMDVjYzRmMmRmMWJmLi40OGM1YTAwNWE0YjYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwpAQCAtMTEwNiw3ICsxMTA2LDcgQEAgaTkxNV9nZW1fZ3R0X3ByZWFkKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQlwYWdlX2Jhc2UgKz0gb2Zmc2V0ICYgUEFH RV9NQVNLOwogCQl9CiAKLQkJaWYgKGd0dF91c2VyX3JlYWQoJmdndHQtPm1hcHBhYmxlLCBwYWdl X2Jhc2UsIHBhZ2Vfb2Zmc2V0LAorCQlpZiAoZ3R0X3VzZXJfcmVhZCgmZ2d0dC0+bWFwcGFibGVf aW8sIHBhZ2VfYmFzZSwgcGFnZV9vZmZzZXQsCiAJCQkJICB1c2VyX2RhdGEsIHBhZ2VfbGVuZ3Ro KSkgewogCQkJcmV0ID0gLUVGQVVMVDsKIAkJCWJyZWFrOwpAQCAtMTMxNCw3ICsxMzE0LDcgQEAg aTkxNV9nZW1fZ3R0X3B3cml0ZV9mYXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiAJCSAqIElmIHRoZSBvYmplY3QgaXMgbm9uLXNobWVtIGJhY2tlZCwgd2UgcmV0cnkgYWdhaW4g d2l0aCB0aGUKIAkJICogcGF0aCB0aGF0IGhhbmRsZXMgcGFnZSBmYXVsdC4KIAkJICovCi0JCWlm IChnZ3R0X3dyaXRlKCZnZ3R0LT5tYXBwYWJsZSwgcGFnZV9iYXNlLCBwYWdlX29mZnNldCwKKwkJ aWYgKGdndHRfd3JpdGUoJmdndHQtPm1hcHBhYmxlX2lvLCBwYWdlX2Jhc2UsIHBhZ2Vfb2Zmc2V0 LAogCQkJICAgICAgIHVzZXJfZGF0YSwgcGFnZV9sZW5ndGgpKSB7CiAJCQlyZXQgPSAtRUZBVUxU OwogCQkJYnJlYWs7CkBAIC0xOTYwLDkgKzE5NjAsOSBAQCBpbnQgaTkxNV9nZW1fZmF1bHQoc3Ry dWN0IHZtX2ZhdWx0ICp2bWYpCiAJLyogRmluYWxseSwgcmVtYXAgaXQgdXNpbmcgdGhlIG5ldyBH VFQgb2Zmc2V0ICovCiAJcmV0ID0gcmVtYXBfaW9fbWFwcGluZyhhcmVhLAogCQkJICAgICAgIGFy ZWEtPnZtX3N0YXJ0ICsgKHZtYS0+Z2d0dF92aWV3LnBhcnRpYWwub2Zmc2V0IDw8IFBBR0VfU0hJ RlQpLAotCQkJICAgICAgIChnZ3R0LT5tYXBwYWJsZV9iYXNlICsgdm1hLT5ub2RlLnN0YXJ0KSA+ PiBQQUdFX1NISUZULAorCQkJICAgICAgIChnZ3R0LT5tYXBwYWJsZS5zdGFydCArIHZtYS0+bm9k ZS5zdGFydCkgPj4gUEFHRV9TSElGVCwKIAkJCSAgICAgICBtaW5fdCh1NjQsIHZtYS0+c2l6ZSwg YXJlYS0+dm1fZW5kIC0gYXJlYS0+dm1fc3RhcnQpLAotCQkJICAgICAgICZnZ3R0LT5tYXBwYWJs ZSk7CisJCQkgICAgICAgJmdndHQtPm1hcHBhYmxlX2lvKTsKIAlpZiAocmV0KQogCQlnb3RvIGVy cl9mZW5jZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmlu ZGV4IDgyMjRhYmJiMGYyZC4uZGE0ZGI3NjllMWUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMDEyLDcgKzEwMTIsNyBAQCBzdGF0aWMgdm9pZCAq cmVsb2NfaW9tYXAoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJb2Zmc2V0ICs9 IHBhZ2UgPDwgUEFHRV9TSElGVDsKIAl9CiAKLQl2YWRkciA9ICh2b2lkIF9fZm9yY2UgKilpb19t YXBwaW5nX21hcF9hdG9taWNfd2MoJmdndHQtPm1hcHBhYmxlLAorCXZhZGRyID0gKHZvaWQgX19m b3JjZSAqKWlvX21hcHBpbmdfbWFwX2F0b21pY193YygmZ2d0dC0+bWFwcGFibGVfaW8sCiAJCQkJ CQkJIG9mZnNldCk7CiAJY2FjaGUtPnBhZ2UgPSBwYWdlOwogCWNhY2hlLT52YWRkciA9ICh1bnNp Z25lZCBsb25nKXZhZGRyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCA5NGZh ZWFlYmYwZDAuLjM1ZDkxY2YwNzEyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMK QEAgLTI5MTIsNyArMjkxMiw3IEBAIHZvaWQgaTkxNV9nZ3R0X2NsZWFudXBfaHcoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5z dHJ1Y3RfbXV0ZXgpOwogCiAJYXJjaF9waHlzX3djX2RlbChnZ3R0LT5tdHJyKTsKLQlpb19tYXBw aW5nX2ZpbmkoJmdndHQtPm1hcHBhYmxlKTsKKwlpb19tYXBwaW5nX2ZpbmkoJmdndHQtPm1hcHBh YmxlX2lvKTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGludCBnZW42X2dldF90b3RhbF9ndHRfc2l6 ZSh1MTYgc25iX2dtY2hfY3RsKQpAQCAtMzI4OCw4ICszMjg4LDkgQEAgc3RhdGljIGludCBnZW44 X2dtY2hfcHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIAlpbnQgZXJyOwogCiAJLyogVE9E TzogV2UncmUgbm90IGF3YXJlIG9mIG1hcHBhYmxlIGNvbnN0cmFpbnRzIG9uIGdlbjggeWV0ICov Ci0JZ2d0dC0+bWFwcGFibGVfYmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChwZGV2LCAyKTsKLQln Z3R0LT5tYXBwYWJsZV9zaXplID0gcGNpX3Jlc291cmNlX2xlbihwZGV2LCAyKTsKKwlnZ3R0LT5t YXBwYWJsZS5zdGFydCA9IHBjaV9yZXNvdXJjZV9zdGFydChwZGV2LCAyKTsKKwlnZ3R0LT5tYXBw YWJsZS5lbmQgPSBnZ3R0LT5tYXBwYWJsZS5zdGFydCArIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwg MikgLSAxOworCWdndHQtPm1hcHBhYmxlX3NpemUgPSByZXNvdXJjZV9zaXplKCZnZ3R0LT5tYXBw YWJsZSk7CiAKIAllcnIgPSBwY2lfc2V0X2RtYV9tYXNrKHBkZXYsIERNQV9CSVRfTUFTSygzOSkp OwogCWlmICghZXJyKQpAQCAtMzM0NSw4ICszMzQ2LDkgQEAgc3RhdGljIGludCBnZW42X2dtY2hf cHJvYmUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIAl1MTYgc25iX2dtY2hfY3RsOwogCWludCBl cnI7CiAKLQlnZ3R0LT5tYXBwYWJsZV9iYXNlID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIDIp OwotCWdndHQtPm1hcHBhYmxlX3NpemUgPSBwY2lfcmVzb3VyY2VfbGVuKHBkZXYsIDIpOworCWdn dHQtPm1hcHBhYmxlLnN0YXJ0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIDIpOworCWdndHQt Pm1hcHBhYmxlLmVuZCA9IGdndHQtPm1hcHBhYmxlLnN0YXJ0ICsgcGNpX3Jlc291cmNlX2xlbihw ZGV2LCAyKSAtIDE7CisJZ2d0dC0+bWFwcGFibGVfc2l6ZSA9IHJlc291cmNlX3NpemUoJmdndHQt Pm1hcHBhYmxlKTsKIAogCS8qIDY0LzUxMk1CIGlzIHRoZSBjdXJyZW50IG1pbi9tYXggd2UgYWN0 dWFsbHkga25vdyBvZiwgYnV0IHRoaXMgaXMganVzdAogCSAqIGEgY29hcnNlIHNhbml0eSBjaGVj ay4KQEAgLTM0MDEsNiArMzQwMyw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ21jaF9yZW1vdmUoc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCiBzdGF0aWMgaW50IGk5MTVfZ21jaF9wcm9iZShz dHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGdndHQtPmJhc2UuaTkxNTsKKwlwaHlzX2FkZHJfdCBtYXBwYWJsZV9iYXNlOwogCWlu dCByZXQ7CiAKIAlyZXQgPSBpbnRlbF9nbWNoX3Byb2JlKGRldl9wcml2LT5icmlkZ2VfZGV2LCBk ZXZfcHJpdi0+ZHJtLnBkZXYsIE5VTEwpOwpAQCAtMzQxMSw5ICszNDE0LDEyIEBAIHN0YXRpYyBp bnQgaTkxNV9nbWNoX3Byb2JlKHN0cnVjdCBpOTE1X2dndHQgKmdndHQpCiAKIAlpbnRlbF9ndHRf Z2V0KCZnZ3R0LT5iYXNlLnRvdGFsLAogCQkgICAgICAmZ2d0dC0+c3RvbGVuX3NpemUsCi0JCSAg ICAgICZnZ3R0LT5tYXBwYWJsZV9iYXNlLAorCQkgICAgICAmbWFwcGFibGVfYmFzZSwKIAkJICAg ICAgJmdndHQtPm1hcHBhYmxlX3NpemUpOwogCisJZ2d0dC0+bWFwcGFibGUuc3RhcnQgPSBtYXBw YWJsZV9iYXNlOworCWdndHQtPm1hcHBhYmxlLmVuZCA9IGdndHQtPm1hcHBhYmxlLnN0YXJ0ICsg Z2d0dC0+bWFwcGFibGVfc2l6ZSAtIDE7CisKIAlnZ3R0LT5kb19pZGxlX21hcHMgPSBuZWVkc19p ZGxlX21hcHMoZGV2X3ByaXYpOwogCWdndHQtPmJhc2UuaW5zZXJ0X3BhZ2UgPSBpOTE1X2dndHRf aW5zZXJ0X3BhZ2U7CiAJZ2d0dC0+YmFzZS5pbnNlcnRfZW50cmllcyA9IGk5MTVfZ2d0dF9pbnNl cnRfZW50cmllczsKQEAgLTM0ODEsOCArMzQ4Nyw4IEBAIGludCBpOTE1X2dndHRfcHJvYmVfaHco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCS8qIEdNQURSIGlzIHRoZSBQQ0kg bW1pbyBhcGVydHVyZSBpbnRvIHRoZSBnbG9iYWwgR1RULiAqLwogCURSTV9JTkZPKCJNZW1vcnkg dXNhYmxlIGJ5IGdyYXBoaWNzIGRldmljZSA9ICVsbHVNXG4iLAogCQkgZ2d0dC0+YmFzZS50b3Rh bCA+PiAyMCk7Ci0JRFJNX0RFQlVHX0RSSVZFUigiR01BRFIgc2l6ZSA9ICVsbGRNXG4iLCBnZ3R0 LT5tYXBwYWJsZV9zaXplID4+IDIwKTsKLQlEUk1fREVCVUdfRFJJVkVSKCJHVFQgc3RvbGVuIHNp emUgPSAldU1cbiIsIGdndHQtPnN0b2xlbl9zaXplID4+IDIwKTsKKwlEUk1fREVCVUdfRFJJVkVS KCJHTUFEUiBzaXplID0gJWxsdU1cbiIsICh1NjQpZ2d0dC0+bWFwcGFibGVfc2l6ZSA+PiAyMCk7 CisJRFJNX0RFQlVHX0RSSVZFUigiR1RUIHN0b2xlbiBzaXplID0gJWxsdU1cbiIsICh1NjQpZ2d0 dC0+c3RvbGVuX3NpemUgPj4gMjApOwogCWlmIChpbnRlbF92dGRfYWN0aXZlKCkpCiAJCURSTV9J TkZPKCJWVC1kIGFjdGl2ZSBmb3IgZ2Z4IGFjY2Vzc1xuIik7CiAKQEAgLTM1MTEsMTQgKzM1MTcs MTQgQEAgaW50IGk5MTVfZ2d0dF9pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAkJZ2d0dC0+YmFzZS5tbS5jb2xvcl9hZGp1c3QgPSBpOTE1X2d0dF9jb2xvcl9hZGp1 c3Q7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKLQlpZiAo IWlvX21hcHBpbmdfaW5pdF93YygmZGV2X3ByaXYtPmdndHQubWFwcGFibGUsCi0JCQkJZGV2X3By aXYtPmdndHQubWFwcGFibGVfYmFzZSwKKwlpZiAoIWlvX21hcHBpbmdfaW5pdF93YygmZGV2X3By aXYtPmdndHQubWFwcGFibGVfaW8sCisJCQkJZGV2X3ByaXYtPmdndHQubWFwcGFibGUuc3RhcnQs CiAJCQkJZGV2X3ByaXYtPmdndHQubWFwcGFibGVfc2l6ZSkpIHsKIAkJcmV0ID0gLUVJTzsKIAkJ Z290byBvdXRfZ3R0X2NsZWFudXA7CiAJfQogCi0JZ2d0dC0+bXRyciA9IGFyY2hfcGh5c193Y19h ZGQoZ2d0dC0+bWFwcGFibGVfYmFzZSwgZ2d0dC0+bWFwcGFibGVfc2l6ZSk7CisJZ2d0dC0+bXRy ciA9IGFyY2hfcGh5c193Y19hZGQoZ2d0dC0+bWFwcGFibGUuc3RhcnQsIGdndHQtPm1hcHBhYmxl X3NpemUpOwogCiAJLyoKIAkgKiBJbml0aWFsaXNlIHN0b2xlbiBlYXJseSBzbyB0aGF0IHdlIG1h eSByZXNlcnZlIHByZWFsbG9jYXRlZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRl eCA2ZWIzNGZkMmM0YmEuLmE5MTI4MWE1NWI5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmgKQEAgLTM2OCw5ICszNjgsOSBAQCBpOTE1X3ZtX2hhc19zY3JhdGNoXzY0SyhzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKICAqLwogc3RydWN0IGk5MTVfZ2d0dCB7CiAJc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSBiYXNlOwotCXN0cnVjdCBpb19tYXBwaW5nIG1hcHBhYmxlOwkv KiBNYXBwaW5nIHRvIG91ciBDUFUgbWFwcGFibGUgcmVnaW9uICovCiAKLQlwaHlzX2FkZHJfdCBt YXBwYWJsZV9iYXNlOwkvKiBQQSBvZiBvdXIgR01BRFIgKi8KKwlzdHJ1Y3QgaW9fbWFwcGluZyBt YXBwYWJsZV9pbzsJLyogTWFwcGluZyB0byBvdXIgQ1BVIG1hcHBhYmxlIHJlZ2lvbiAqLworCXN0 cnVjdCByZXNvdXJjZSBtYXBwYWJsZTsgICAgICAgLyogR01BRFIgcmVzb3VyY2UgKi8KIAl1NjQg bWFwcGFibGVfc2l6ZTsJCS8qIFRvdGFsIG1hcHBhYmxlIHNpemUgdGhhdCB3ZSBjYW4gQ1BVIG1h cCAqLwogCiAJLyogU3RvbGVuIG1lbW9yeSBpcyBzZWdtZW50ZWQgaW4gaGFyZHdhcmUgd2l0aCBk aWZmZXJlbnQgcG9ydGlvbnMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3B1X2Vycm9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCmluZGV4 IDNkMThkNjdkMDY1Zi4uOTVlNzY3ODZmNGQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dwdV9lcnJvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1 X2Vycm9yLmMKQEAgLTk1Myw3ICs5NTMsNyBAQCBpOTE1X2Vycm9yX29iamVjdF9jcmVhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCWdndHQtPmJhc2UuaW5zZXJ0X3BhZ2UoJmdn dHQtPmJhc2UsIGRtYSwgc2xvdCwKIAkJCQkgICAgICAgSTkxNV9DQUNIRV9OT05FLCAwKTsKIAot CQlzID0gaW9fbWFwcGluZ19tYXBfYXRvbWljX3djKCZnZ3R0LT5tYXBwYWJsZSwgc2xvdCk7CisJ CXMgPSBpb19tYXBwaW5nX21hcF9hdG9taWNfd2MoJmdndHQtPm1hcHBhYmxlX2lvLCBzbG90KTsK IAkJcmV0ID0gY29tcHJlc3NfcGFnZSgmY29tcHJlc3MsICh2b2lkICBfX2ZvcmNlICopcywgZHN0 KTsKIAkJaW9fbWFwcGluZ191bm1hcF9hdG9taWMocyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdm1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5j CmluZGV4IGE5NDEzYjYwMTIzMC4uZTRmMDgwZWJkZWJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1h LmMKQEAgLTMwNSw3ICszMDUsNyBAQCB2b2lkIF9faW9tZW0gKmk5MTVfdm1hX3Bpbl9pb21hcChz dHJ1Y3QgaTkxNV92bWEgKnZtYSkKIAogCXB0ciA9IHZtYS0+aW9tYXA7CiAJaWYgKHB0ciA9PSBO VUxMKSB7Ci0JCXB0ciA9IGlvX21hcHBpbmdfbWFwX3djKCZpOTE1X3ZtX3RvX2dndHQodm1hLT52 bSktPm1hcHBhYmxlLAorCQlwdHIgPSBpb19tYXBwaW5nX21hcF93YygmaTkxNV92bV90b19nZ3R0 KHZtYS0+dm0pLT5tYXBwYWJsZV9pbywKIAkJCQkJdm1hLT5ub2RlLnN0YXJ0LAogCQkJCQl2bWEt Pm5vZGUuc2l6ZSk7CiAJCWlmIChwdHIgPT0gTlVMTCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCmluZGV4IGQ2N2M3YzQ5OGIzNC4uMWQyMzFjNWY5ZWU5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xNDU5Miw3ICsxNDU5Miw3IEBAIGludCBpbnRlbF9t b2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZGV2LT5tb2RlX2NvbmZpZy5j dXJzb3JfaGVpZ2h0ID0gTUFYX0NVUlNPUl9IRUlHSFQ7CiAJfQogCi0JZGV2LT5tb2RlX2NvbmZp Zy5mYl9iYXNlID0gZ2d0dC0+bWFwcGFibGVfYmFzZTsKKwlkZXYtPm1vZGVfY29uZmlnLmZiX2Jh c2UgPSBnZ3R0LT5tYXBwYWJsZS5zdGFydDsKIAogCURSTV9ERUJVR19LTVMoIiVkIGRpc3BsYXkg cGlwZSVzIGF2YWlsYWJsZS5cbiIsCiAJCSAgICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1f cGlwZXMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKaW5kZXggMWIzOTdiNDFjYjRm Li5kM2QzYWExNDc2OTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMKQEAgLTIx OSw3ICsyMTksNyBAQCBpbnRlbF9vdmVybGF5X21hcF9yZWdzKHN0cnVjdCBpbnRlbF9vdmVybGF5 ICpvdmVybGF5KQogCWlmIChPVkVSTEFZX05FRURTX1BIWVNJQ0FMKGRldl9wcml2KSkKIAkJcmVn cyA9IChzdHJ1Y3Qgb3ZlcmxheV9yZWdpc3RlcnMgX19pb21lbSAqKW92ZXJsYXktPnJlZ19iby0+ cGh5c19oYW5kbGUtPnZhZGRyOwogCWVsc2UKLQkJcmVncyA9IGlvX21hcHBpbmdfbWFwX3djKCZk ZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZSwKKwkJcmVncyA9IGlvX21hcHBpbmdfbWFwX3djKCZkZXZf cHJpdi0+Z2d0dC5tYXBwYWJsZV9pbywKIAkJCQkJIG92ZXJsYXktPmZsaXBfYWRkciwKIAkJCQkJ IFBBR0VfU0laRSk7CiAKQEAgLTE1MDgsNyArMTUwOCw3IEBAIGludGVsX292ZXJsYXlfbWFwX3Jl Z3NfYXRvbWljKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQogCQlyZWdzID0gKHN0cnVj dCBvdmVybGF5X3JlZ2lzdGVycyBfX2lvbWVtICopCiAJCQlvdmVybGF5LT5yZWdfYm8tPnBoeXNf aGFuZGxlLT52YWRkcjsKIAllbHNlCi0JCXJlZ3MgPSBpb19tYXBwaW5nX21hcF9hdG9taWNfd2Mo JmRldl9wcml2LT5nZ3R0Lm1hcHBhYmxlLAorCQlyZWdzID0gaW9fbWFwcGluZ19tYXBfYXRvbWlj X3djKCZkZXZfcHJpdi0+Z2d0dC5tYXBwYWJsZV9pbywKIAkJCQkJCW92ZXJsYXktPmZsaXBfYWRk cik7CiAKIAlyZXR1cm4gcmVnczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X2dlbV9ndHQuYwppbmRleCBlOTdhZTRiNGE2ODQuLjgyZjhlNzQ1ODQyYiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwpAQCAtMTA3NCw3ICsx MDc0LDcgQEAgc3RhdGljIGludCBpZ3RfZ2d0dF9wYWdlKHZvaWQgKmFyZykKIAkJCQkgICAgICAg aTkxNV9nZW1fb2JqZWN0X2dldF9kbWFfYWRkcmVzcyhvYmosIDApLAogCQkJCSAgICAgICBvZmZz ZXQsIEk5MTVfQ0FDSEVfTk9ORSwgMCk7CiAKLQkJdmFkZHIgPSBpb19tYXBwaW5nX21hcF9hdG9t aWNfd2MoJmdndHQtPm1hcHBhYmxlLCBvZmZzZXQpOworCQl2YWRkciA9IGlvX21hcHBpbmdfbWFw X2F0b21pY193YygmZ2d0dC0+bWFwcGFibGVfaW8sIG9mZnNldCk7CiAJCWlvd3JpdGUzMihuLCB2 YWRkciArIG4pOwogCQlpb19tYXBwaW5nX3VubWFwX2F0b21pYyh2YWRkcik7CiAKQEAgLTEwOTIs NyArMTA5Miw3IEBAIHN0YXRpYyBpbnQgaWd0X2dndHRfcGFnZSh2b2lkICphcmcpCiAJCQkJICAg ICAgIGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2JqLCAwKSwKIAkJCQkgICAgICAg b2Zmc2V0LCBJOTE1X0NBQ0hFX05PTkUsIDApOwogCi0JCXZhZGRyID0gaW9fbWFwcGluZ19tYXBf YXRvbWljX3djKCZnZ3R0LT5tYXBwYWJsZSwgb2Zmc2V0KTsKKwkJdmFkZHIgPSBpb19tYXBwaW5n X21hcF9hdG9taWNfd2MoJmdndHQtPm1hcHBhYmxlX2lvLCBvZmZzZXQpOwogCQl2YWwgPSBpb3Jl YWQzMih2YWRkciArIG4pOwogCQlpb19tYXBwaW5nX3VubWFwX2F0b21pYyh2YWRkcik7CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2d0dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ3R0LmMKaW5kZXggZDMxNTVmMzZkZTg5 Li42MWU1MGVlYTM4ZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9tb2NrX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2d0 dC5jCkBAIC0xMTAsOCArMTEwLDkgQEAgdm9pZCBtb2NrX2luaXRfZ2d0dChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSkKIAogCWdndHQtPmJhc2UuaTkxNSA9IGk5MTU7CiAKLQlnZ3R0LT5t YXBwYWJsZV9iYXNlID0gMDsKKwlnZ3R0LT5tYXBwYWJsZS5zdGFydCA9IDA7CiAJZ2d0dC0+bWFw cGFibGVfc2l6ZSA9IDIwNDggKiBQQUdFX1NJWkU7CisJZ2d0dC0+bWFwcGFibGUuZW5kID0gZ2d0 dC0+bWFwcGFibGVfc2l6ZSAtIDE7CiAJZ2d0dC0+YmFzZS50b3RhbCA9IDQwOTYgKiBQQUdFX1NJ WkU7CiAKIAlnZ3R0LT5iYXNlLmNsZWFyX3JhbmdlID0gbm9wX2NsZWFyX3JhbmdlOwotLSAKMi4x NC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK