From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 5/9] drm/i915: make dsm struct resource centric Date: Tue, 5 Dec 2017 21:02:45 +0000 Message-ID: <20171205210249.8875-6-matthew.auld@intel.com> References: <20171205210249.8875-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF0D26E62E for ; Tue, 5 Dec 2017 21:03:01 +0000 (UTC) In-Reply-To: <20171205210249.8875-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 Tm93IHRoYXQgd2UgYXJlIHVzaW5nIHN0cnVjdCByZXNvdXJjZSB0byB0cmFjayB0aGUgc3RvbGVu IHJlZ2lvbiwgaXQgaXMKbW9yZSBjb252ZW5pZW50IGlmIHdlIHRyYWNrIGRzbSBpbiBhIHJlc291 cmNlIGFzIHdlbGwuCgp2MjogY2hlY2sgcmFuZ2Vfb3ZlcmZsb3cgd2hlbiB3cml0aW5nIHRvIDMy YiByZWdpc3RlcnMgKENocmlzKQogICAgcGVwcGVyIGluIHNvbWUgY29tbWVudHMgKENocmlzKQp2 MzogcmVmaXQgaTkxNV9zdG9sZW5fdG9fZG1hKCkKClNpZ25lZC1vZmYtYnk6IE1hdHRoZXcgQXVs ZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxh aHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgfCAxMyArKysrLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIHwgODQgKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgICAg ICAgfCAxMCArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICB8IDE3 ICsrKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNTk0ZmQxNGU2NmM1Li4zOWM4ZTk5ZjNk M2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTUzNyw5ICsxNTM3LDYgQEAgc3RydWN0 IGk5MTVfZ2VtX21tIHsKIAkgKi8KIAlzdHJ1Y3QgcGFnZXZlYyB3Y19zdGFzaDsKIAotCS8qKiBV c2FibGUgcG9ydGlvbiBvZiB0aGUgR1RUIGZvciBHRU0gKi8KLQlkbWFfYWRkcl90IHN0b2xlbl9i YXNlOyAvKiBsaW1pdGVkIHRvIGxvdyBtZW1vcnkgKDMyLWJpdCkgKi8KLQogCS8qKgogCSAqIHRt cGZzIGluc3RhbmNlIHVzZWQgZm9yIHNobWVtIGJhY2tlZCBvYmplY3RzCiAJICovCkBAIC0yMjUz LDYgKzIyNTAsMTYgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCiAJY29uc3Qgc3RydWN0 IGludGVsX2RldmljZV9pbmZvIGluZm87CiAKKwkvKioKKwkgKiBEYXRhIFN0b2xlbiBNZW1vcnkg LSBha2EgImk5MTUgc3RvbGVuIG1lbW9yeSIgZ2l2ZXMgdXMgdGhlIHN0YXJ0IGFuZAorCSAqIGVu ZCBvZiBzdG9sZW4gd2hpY2ggd2UgY2FuIG9wdGlvbmFsbHkgdXNlIHRvIGNyZWF0ZSBHRU0gb2Jq ZWN0cworCSAqIGJhY2tlZCBieSBzdG9sZW4gbWVtb3J5LiBOb3RlIHRoYXQgZ2d0dC0+c3RvbGVu X3VzYWJsZV9zaXplIHRlbGxzIHVzCisJICogZXhhY3RseSBob3cgbXVjaCBvZiB0aGlzIHdlIGFy ZSBhY3R1YWxseSBhbGxvd2VkIHRvIHVzZSwgZ2l2ZW4gdGhhdAorCSAqIHNvbWUgcG9ydGlvbiBv ZiBpdCBpcyBpbiBmYWN0IHJlc2VydmVkIGZvciB1c2UgYnkgaGFyZHdhcmUgZnVuY3Rpb25zLAor CSAqIHdoaWxlIGdndHQtPnN0b2xlbl9zaXplIGdpdmVzIHVzIHRoZSB0b3RhbCBzaXplIG9mIHRo ZSBzdG9sZW4gcmVnaW9uLgorCSAqLworCXN0cnVjdCByZXNvdXJjZSBkc207CisKIAl2b2lkIF9f aW9tZW0gKnJlZ3M7CiAKIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlIHVuY29yZTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKaW5kZXggZjhhYzE0MzhjMzVkLi5lYjg0ZGI2MzNhMjMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jCkBAIC03NiwyNyArNzYsMjcg QEAgdm9pZCBpOTE1X2dlbV9zdG9sZW5fcmVtb3ZlX25vZGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPm1tLnN0b2xlbl9sb2NrKTsK IH0KIAotc3RhdGljIGRtYV9hZGRyX3QgaTkxNV9zdG9sZW5fdG9fZG1hKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyBpbnQgaTkxNV9hZGp1c3Rfc3RvbGVuKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAgICAgIHN0cnVjdCByZXNvdXJjZSAq ZHNtKQogewogCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmZGV2X3ByaXYtPmdndHQ7Ci0JZG1h X2FkZHJfdCBiYXNlID0gaW50ZWxfZ3JhcGhpY3Nfc3RvbGVuX3Jlcy5zdGFydDsKKwlkbWFfYWRk cl90IGJhc2UgPSBkc20tPnN0YXJ0OwogCXN0cnVjdCByZXNvdXJjZSAqcjsKIAogCUdFTV9CVUdf T04ob3ZlcmZsb3dzX3R5cGUoaW50ZWxfZ3JhcGhpY3Nfc3RvbGVuX3Jlcy5zdGFydCwgYmFzZSkp OwogCiAJaWYgKGJhc2UgPT0gMCB8fCBhZGRfb3ZlcmZsb3dzKGJhc2UsIGdndHQtPnN0b2xlbl9z aXplKSkKLQkJcmV0dXJuIDA7CisJCXJldHVybiAtRUlOVkFMOwogCiAJLyogbWFrZSBzdXJlIHdl IGRvbid0IGNsb2JiZXIgdGhlIEdUVCBpZiBpdCdzIHdpdGhpbiBzdG9sZW4gbWVtb3J5ICovCiAJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPD0gNCAmJgogCSAgICAhSVNfRzMzKGRldl9wcml2KSAm JiAhSVNfUElORVZJRVcoZGV2X3ByaXYpICYmICFJU19HNFgoZGV2X3ByaXYpKSB7Ci0JCXN0cnVj dCB7Ci0JCQlkbWFfYWRkcl90IHN0YXJ0LCBlbmQ7Ci0JCX0gc3RvbGVuWzJdID0gewotCQkJeyAu c3RhcnQgPSBiYXNlLCAuZW5kID0gYmFzZSArIGdndHQtPnN0b2xlbl9zaXplLCB9LAotCQkJeyAu c3RhcnQgPSBiYXNlLCAuZW5kID0gYmFzZSArIGdndHQtPnN0b2xlbl9zaXplLCB9LAorCQlzdHJ1 Y3QgcmVzb3VyY2Ugc3RvbGVuWzJdID0geworCQkJREVGSU5FX1JFU19NRU0oYmFzZSwgZ2d0dC0+ c3RvbGVuX3NpemUpLAorCQkJREVGSU5FX1JFU19NRU0oYmFzZSwgZ2d0dC0+c3RvbGVuX3NpemUp LAogCQl9OwotCQl1NjQgZ2d0dF9zdGFydCwgZ2d0dF9lbmQ7CisJCXN0cnVjdCByZXNvdXJjZSBn Z3R0X3JlczsKKwkJdTY0IGdndHRfc3RhcnQ7CiAKIAkJZ2d0dF9zdGFydCA9IEk5MTVfUkVBRChQ R1RCTF9DVEwpOwogCQlpZiAoSVNfR0VONChkZXZfcHJpdikpCkBAIC0xMDQsMzYgKzEwNCwzMSBA QCBzdGF0aWMgZG1hX2FkZHJfdCBpOTE1X3N0b2xlbl90b19kbWEoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCQkJCSAgICAgKGdndHRfc3RhcnQgJiBQR1RCTF9BRERSRVNTX0hJ X01BU0spIDw8IDI4OwogCQllbHNlCiAJCQlnZ3R0X3N0YXJ0ICY9IFBHVEJMX0FERFJFU1NfTE9f TUFTSzsKLQkJZ2d0dF9lbmQgPSBnZ3R0X3N0YXJ0ICsgZ2d0dF90b3RhbF9lbnRyaWVzKGdndHQp ICogNDsKIAotCQlpZiAoZ2d0dF9zdGFydCA+PSBzdG9sZW5bMF0uc3RhcnQgJiYgZ2d0dF9zdGFy dCA8IHN0b2xlblswXS5lbmQpCi0JCQlzdG9sZW5bMF0uZW5kID0gZ2d0dF9zdGFydDsKLQkJaWYg KGdndHRfZW5kID4gc3RvbGVuWzFdLnN0YXJ0ICYmIGdndHRfZW5kIDw9IHN0b2xlblsxXS5lbmQp Ci0JCQlzdG9sZW5bMV0uc3RhcnQgPSBnZ3R0X2VuZDsKKwkJZ2d0dF9yZXMgPQorCQkJKHN0cnVj dCByZXNvdXJjZSkgREVGSU5FX1JFU19NRU0oZ2d0dF9zdGFydCwKKwkJCQkJCQkgZ2d0dF90b3Rh bF9lbnRyaWVzKGdndHQpICogNCk7CisKKwkJaWYgKGdndHRfcmVzLnN0YXJ0ID49IHN0b2xlblsw XS5zdGFydCAmJiBnZ3R0X3Jlcy5zdGFydCA8IHN0b2xlblswXS5lbmQpCisJCQlzdG9sZW5bMF0u ZW5kID0gZ2d0dF9yZXMuc3RhcnQ7CisJCWlmIChnZ3R0X3Jlcy5lbmQgPiBzdG9sZW5bMV0uc3Rh cnQgJiYgZ2d0dF9yZXMuZW5kIDw9IHN0b2xlblsxXS5lbmQpCisJCQlzdG9sZW5bMV0uc3RhcnQg PSBnZ3R0X3Jlcy5lbmQ7CiAKIAkJLyogcGljayB0aGUgbGFyZ2VyIG9mIHRoZSB0d28gY2h1bmtz ICovCi0JCWlmIChzdG9sZW5bMF0uZW5kIC0gc3RvbGVuWzBdLnN0YXJ0ID4KLQkJICAgIHN0b2xl blsxXS5lbmQgLSBzdG9sZW5bMV0uc3RhcnQpIHsKLQkJCWJhc2UgPSBzdG9sZW5bMF0uc3RhcnQ7 Ci0JCQlnZ3R0LT5zdG9sZW5fc2l6ZSA9IHN0b2xlblswXS5lbmQgLSBzdG9sZW5bMF0uc3RhcnQ7 Ci0JCX0gZWxzZSB7Ci0JCQliYXNlID0gc3RvbGVuWzFdLnN0YXJ0OwotCQkJZ2d0dC0+c3RvbGVu X3NpemUgPSBzdG9sZW5bMV0uZW5kIC0gc3RvbGVuWzFdLnN0YXJ0OwotCQl9CisJCWlmIChyZXNv dXJjZV9zaXplKCZzdG9sZW5bMF0pID4gcmVzb3VyY2Vfc2l6ZSgmc3RvbGVuWzFdKSkKKwkJCSpk c20gPSBzdG9sZW5bMF07CisJCWVsc2UKKwkJCSpkc20gPSBzdG9sZW5bMV07CisKKwkJZ2d0dC0+ c3RvbGVuX3NpemUgPSByZXNvdXJjZV9zaXplKGRzbSk7CiAKIAkJaWYgKHN0b2xlblswXS5zdGFy dCAhPSBzdG9sZW5bMV0uc3RhcnQgfHwKIAkJICAgIHN0b2xlblswXS5lbmQgIT0gc3RvbGVuWzFd LmVuZCkgewotCQkJZG1hX2FkZHJfdCBlbmQgPSBiYXNlICsgZ2d0dC0+c3RvbGVuX3NpemUgLSAx OwotCi0JCQlEUk1fREVCVUdfS01TKCJHVFQgd2l0aGluIHN0b2xlbiBtZW1vcnkgYXQgMHglbGx4 LTB4JWxseFxuIiwKLQkJCQkgICAgICAodW5zaWduZWQgbG9uZyBsb25nKWdndHRfc3RhcnQsCi0J CQkJICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylnZ3R0X2VuZCAtIDEpOwotCQkJRFJNX0RFQlVH X0tNUygiU3RvbGVuIG1lbW9yeSBhZGp1c3RlZCB0byAlcGFkIC0gJXBhZFxuIiwKLQkJCQkgICAg ICAmYmFzZSwgJmVuZCk7CisJCQlEUk1fREVCVUdfS01TKCJHVFQgd2l0aGluIHN0b2xlbiBtZW1v cnkgYXQgJXBSXG4iLCAmZ2d0dF9yZXMpOworCQkJRFJNX0RFQlVHX0tNUygiU3RvbGVuIG1lbW9y eSBhZGp1c3RlZCB0byAlcFJcbiIsIGRzbSk7CiAJCX0KIAl9CiAKLQogCS8qIFZlcmlmeSB0aGF0 IG5vdGhpbmcgZWxzZSB1c2VzIHRoaXMgcGh5c2ljYWwgYWRkcmVzcy4gU3RvbGVuCiAJICogbWVt b3J5IHNob3VsZCBiZSByZXNlcnZlZCBieSB0aGUgQklPUyBhbmQgaGlkZGVuIGZyb20gdGhlCiAJ ICoga2VybmVsLiBTbyBpZiB0aGUgcmVnaW9uIGlzIGFscmVhZHkgbWFya2VkIGFzIGJ1c3ksIHNv bWV0aGluZwpAQCAtMTU5LDE1ICsxNTQsMTQgQEAgc3RhdGljIGRtYV9hZGRyX3QgaTkxNV9zdG9s ZW5fdG9fZG1hKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJICogcmFuZ2Uu IEFwcGFyZW50bHkgdGhpcyB3b3Jrcy4KIAkJICovCiAJCWlmIChyID09IE5VTEwgJiYgIUlTX0dF TjMoZGV2X3ByaXYpKSB7Ci0JCQlkbWFfYWRkcl90IGVuZCA9IGJhc2UgKyBnZ3R0LT5zdG9sZW5f c2l6ZTsKKwkJCURSTV9FUlJPUigiY29uZmxpY3QgZGV0ZWN0ZWQgd2l0aCBzdG9sZW4gcmVnaW9u OiAlcFJcbiIsCisJCQkJICBkc20pOwogCi0JCQlEUk1fRVJST1IoImNvbmZsaWN0IGRldGVjdGVk IHdpdGggc3RvbGVuIHJlZ2lvbjogWyVwYWQgLSAlcGFkXVxuIiwKLQkJCQkgICZiYXNlLCAmZW5k KTsKLQkJCWJhc2UgPSAwOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0KIAotCXJldHVybiBi YXNlOworCXJldHVybiAwOwogfQogCiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfc3RvbGVuKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCkBAIC0xODcsNyArMTgxLDcgQEAgc3RhdGljIHZvaWQgZzR4X2dl dF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXVp bnQzMl90IHJlZ192YWwgPSBJOTE1X1JFQUQoSVNfR000NShkZXZfcHJpdikgPwogCQkJCSAgICAg Q1RHX1NUT0xFTl9SRVNFUlZFRCA6CiAJCQkJICAgICBFTEtfU1RPTEVOX1JFU0VSVkVEKTsKLQlk bWFfYWRkcl90IHN0b2xlbl90b3AgPSBkZXZfcHJpdi0+bW0uc3RvbGVuX2Jhc2UgKyBnZ3R0LT5z dG9sZW5fc2l6ZTsKKwlkbWFfYWRkcl90IHN0b2xlbl90b3AgPSBkZXZfcHJpdi0+ZHNtLnN0YXJ0 ICsgZ2d0dC0+c3RvbGVuX3NpemU7CiAKIAlpZiAoKHJlZ192YWwgJiBHNFhfU1RPTEVOX1JFU0VS VkVEX0VOQUJMRSkgPT0gMCkgewogCQkqYmFzZSA9IDA7CkBAIC0zMTgsNyArMzEyLDcgQEAgc3Rh dGljIHZvaWQgYmR3X2dldF9zdG9sZW5fcmVzZXJ2ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCQlyZXR1cm47CiAJfQogCi0Jc3RvbGVuX3RvcCA9IGRldl9wcml2LT5tbS5z dG9sZW5fYmFzZSArIGdndHQtPnN0b2xlbl9zaXplOworCXN0b2xlbl90b3AgPSBkZXZfcHJpdi0+ ZHNtLnN0YXJ0ICsgZ2d0dC0+c3RvbGVuX3NpemU7CiAKIAkqYmFzZSA9IHJlZ192YWwgJiBHRU42 X1NUT0xFTl9SRVNFUlZFRF9BRERSX01BU0s7CiAKQEAgLTM1NCwxMSArMzQ4LDE1IEBAIGludCBp OTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ aWYgKGdndHQtPnN0b2xlbl9zaXplID09IDApCiAJCXJldHVybiAwOwogCi0JZGV2X3ByaXYtPm1t LnN0b2xlbl9iYXNlID0gaTkxNV9zdG9sZW5fdG9fZG1hKGRldl9wcml2KTsKLQlpZiAoZGV2X3By aXYtPm1tLnN0b2xlbl9iYXNlID09IDApCisJZGV2X3ByaXYtPmRzbSA9IGludGVsX2dyYXBoaWNz X3N0b2xlbl9yZXM7CisKKwlpZiAoaTkxNV9hZGp1c3Rfc3RvbGVuKGRldl9wcml2LCAmZGV2X3By aXYtPmRzbSkpCiAJCXJldHVybiAwOwogCi0Jc3RvbGVuX3RvcCA9IGRldl9wcml2LT5tbS5zdG9s ZW5fYmFzZSArIGdndHQtPnN0b2xlbl9zaXplOworCUdFTV9CVUdfT04oZGV2X3ByaXYtPmRzbS5z dGFydCA9PSAwKTsKKwlHRU1fQlVHX09OKGdndHQtPnN0b2xlbl9zaXplID4gcmVzb3VyY2Vfc2l6 ZSgmZGV2X3ByaXYtPmRzbSkpOworCisJc3RvbGVuX3RvcCA9IGRldl9wcml2LT5kc20uZW5kICsg MTsKIAlyZXNlcnZlZF9iYXNlID0gMDsKIAlyZXNlcnZlZF9zaXplID0gMDsKIApAQCAtMzk5LDEy ICszOTcsMTIgQEAgaW50IGk5MTVfZ2VtX2luaXRfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAkJcmVzZXJ2ZWRfYmFzZSA9IHN0b2xlbl90b3A7CiAJfQogCi0JaWYg KHJlc2VydmVkX2Jhc2UgPCBkZXZfcHJpdi0+bW0uc3RvbGVuX2Jhc2UgfHwKKwlpZiAocmVzZXJ2 ZWRfYmFzZSA8IGRldl9wcml2LT5kc20uc3RhcnQgfHwKIAkgICAgcmVzZXJ2ZWRfYmFzZSArIHJl c2VydmVkX3NpemUgPiBzdG9sZW5fdG9wKSB7CiAJCWRtYV9hZGRyX3QgcmVzZXJ2ZWRfdG9wID0g cmVzZXJ2ZWRfYmFzZSArIHJlc2VydmVkX3NpemU7CiAJCURSTV9FUlJPUigiU3RvbGVuIHJlc2Vy dmVkIGFyZWEgWyVwYWQgLSAlcGFkXSBvdXRzaWRlIHN0b2xlbiBtZW1vcnkgWyVwYWQgLSAlcGFk XVxuIiwKIAkJCSAgJnJlc2VydmVkX2Jhc2UsICZyZXNlcnZlZF90b3AsCi0JCQkgICZkZXZfcHJp di0+bW0uc3RvbGVuX2Jhc2UsICZzdG9sZW5fdG9wKTsKKwkJCSAgJmRldl9wcml2LT5kc20uc3Rh cnQsICZzdG9sZW5fdG9wKTsKIAkJcmV0dXJuIDA7CiAJfQogCkBAIC00NjIsNyArNDYwLDcgQEAg aTkxNV9wYWdlc19jcmVhdGVfZm9yX3N0b2xlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXNn LT5vZmZzZXQgPSAwOwogCXNnLT5sZW5ndGggPSBzaXplOwogCi0Jc2dfZG1hX2FkZHJlc3Moc2cp ID0gKGRtYV9hZGRyX3QpZGV2X3ByaXYtPm1tLnN0b2xlbl9iYXNlICsgb2Zmc2V0OworCXNnX2Rt YV9hZGRyZXNzKHNnKSA9IChkbWFfYWRkcl90KWRldl9wcml2LT5kc20uc3RhcnQgKyBvZmZzZXQ7 CiAJc2dfZG1hX2xlbihzZykgPSBzaXplOwogCiAJcmV0dXJuIHN0OwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9mYmMuYwppbmRleCA0YWVmYzY1OGE1Y2YuLmEyOTFiYjk2NWUyZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZmJjLmMKQEAgLTYxNSwxMCArNjE1LDE2IEBAIHN0YXRpYyBpbnQgaW50ZWxfZmJjX2Fs bG9jX2NmYihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAogCQlmYmMtPmNvbXByZXNzZWRfbGxi ID0gY29tcHJlc3NlZF9sbGI7CiAKKwkJR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3NfdCh1NjQs IGRldl9wcml2LT5kc20uc3RhcnQsCisJCQkJCSAgICAgZmJjLT5jb21wcmVzc2VkX2ZiLnN0YXJ0 LAorCQkJCQkgICAgIFUzMl9NQVgpKTsKKwkJR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3NfdCh1 NjQsIGRldl9wcml2LT5kc20uc3RhcnQsCisJCQkJCSAgICAgZmJjLT5jb21wcmVzc2VkX2xsYi0+ c3RhcnQsCisJCQkJCSAgICAgVTMyX01BWCkpOwogCQlJOTE1X1dSSVRFKEZCQ19DRkJfQkFTRSwK LQkJCSAgIGRldl9wcml2LT5tbS5zdG9sZW5fYmFzZSArIGZiYy0+Y29tcHJlc3NlZF9mYi5zdGFy dCk7CisJCQkgICBkZXZfcHJpdi0+ZHNtLnN0YXJ0ICsgZmJjLT5jb21wcmVzc2VkX2ZiLnN0YXJ0 KTsKIAkJSTkxNV9XUklURShGQkNfTExfQkFTRSwKLQkJCSAgIGRldl9wcml2LT5tbS5zdG9sZW5f YmFzZSArIGNvbXByZXNzZWRfbGxiLT5zdGFydCk7CisJCQkgICBkZXZfcHJpdi0+ZHNtLnN0YXJ0 ICsgY29tcHJlc3NlZF9sbGItPnN0YXJ0KTsKIAl9CiAKIAlEUk1fREVCVUdfS01TKCJyZXNlcnZl ZCAlbGx1IGJ5dGVzIG9mIGNvbnRpZ3VvdXMgc3RvbGVuIHNwYWNlIGZvciBGQkMsIHRocmVzaG9s ZDogJWRcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCA2N2YzMjYyMzBhN2UuLjJmYTJk ODJmNjFmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC03MDIwLDcgKzcwMjAsNyBAQCBz dGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NoZWNrX3BjdHgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogewogCXVuc2lnbmVkIGxvbmcgcGN0eF9hZGRyID0gSTkxNV9SRUFEKFZMVl9Q Q0JSKSAmIH40MDk1OwogCi0JV0FSTl9PTihwY3R4X2FkZHIgIT0gZGV2X3ByaXYtPm1tLnN0b2xl bl9iYXNlICsKKwlXQVJOX09OKHBjdHhfYWRkciAhPSBkZXZfcHJpdi0+ZHNtLnN0YXJ0ICsKIAkJ CSAgICAgZGV2X3ByaXYtPnZsdl9wY3R4LT5zdG9sZW4tPnN0YXJ0KTsKIH0KIApAQCAtNzA0Myw3 ICs3MDQzLDEyIEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfc2V0dXBfcGN0eChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJcGNiciA9IEk5MTVfUkVBRChWTFZfUENCUik7CiAJ aWYgKChwY2JyID4+IFZMVl9QQ0JSX0FERFJfU0hJRlQpID09IDApIHsKIAkJRFJNX0RFQlVHX0RS SVZFUigiQklPUyBkaWRuJ3Qgc2V0IHVwIFBDQlIsIGZpeGluZyB1cFxuIik7Ci0JCXBhZGRyID0g KGRldl9wcml2LT5tbS5zdG9sZW5fYmFzZSArCisKKwkJR0VNX0JVR19PTihyYW5nZV9vdmVyZmxv d3NfdChyZXNvdXJjZV9zaXplX3QsCisJCQkJCSAgICAgZGV2X3ByaXYtPmRzbS5zdGFydCwKKwkJ CQkJICAgICAoZ2d0dC0+c3RvbGVuX3NpemUgLSBwY3R4X3NpemUpLAorCQkJCQkgICAgIFUzMl9N QVgpKTsKKwkJcGFkZHIgPSAoZGV2X3ByaXYtPmRzbS5zdGFydCArCiAJCQkgKGdndHQtPnN0b2xl bl9zaXplIC0gcGN0eF9zaXplKSk7CiAKIAkJcGN0eF9wYWRkciA9IChwYWRkciAmICh+NDA5NSkp OwpAQCAtNzA2NSw3ICs3MDcwLDcgQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19zZXR1cF9wY3R4 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJLyogQklPUyBzZXQgaXQgdXAg YWxyZWFkeSwgZ3JhYiB0aGUgcHJlLWFsbG9jJ2Qgc3BhY2UgKi8KIAkJaW50IHBjYnJfb2Zmc2V0 OwogCi0JCXBjYnJfb2Zmc2V0ID0gKHBjYnIgJiAofjQwOTUpKSAtIGRldl9wcml2LT5tbS5zdG9s ZW5fYmFzZTsKKwkJcGNicl9vZmZzZXQgPSAocGNiciAmICh+NDA5NSkpIC0gZGV2X3ByaXYtPmRz bS5zdGFydDsKIAkJcGN0eCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVh bGxvY2F0ZWQoZGV2X3ByaXYsCiAJCQkJCQkJCSAgICAgIHBjYnJfb2Zmc2V0LAogCQkJCQkJCQkg ICAgICBJOTE1X0dUVF9PRkZTRVRfTk9ORSwKQEAgLTcwODksNyArNzA5NCwxMSBAQCBzdGF0aWMg dm9pZCB2YWxsZXl2aWV3X3NldHVwX3BjdHgoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCQlnb3RvIG91dDsKIAl9CiAKLQlwY3R4X3BhZGRyID0gZGV2X3ByaXYtPm1tLnN0b2xl bl9iYXNlICsgcGN0eC0+c3RvbGVuLT5zdGFydDsKKwlHRU1fQlVHX09OKHJhbmdlX292ZXJmbG93 c190KHU2NCwKKwkJCQkgICAgIGRldl9wcml2LT5kc20uc3RhcnQsCisJCQkJICAgICBwY3R4LT5z dG9sZW4tPnN0YXJ0LAorCQkJCSAgICAgVTMyX01BWCkpOworCXBjdHhfcGFkZHIgPSBkZXZfcHJp di0+ZHNtLnN0YXJ0ICsgcGN0eC0+c3RvbGVuLT5zdGFydDsKIAlJOTE1X1dSSVRFKFZMVl9QQ0JS LCBwY3R4X3BhZGRyKTsKIAogb3V0OgotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK