From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 2/4] drm/i915: Fix mmio vs. CS flip race on ILK+ Date: Tue, 11 Mar 2014 19:37:34 +0200 Message-ID: <1394559456-7348-3-git-send-email-ville.syrjala@linux.intel.com> References: <1394559456-7348-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 8A95FFAE4E for ; Tue, 11 Mar 2014 10:38:32 -0700 (PDT) In-Reply-To: <1394559456-7348-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClN0 YXJ0aW5nIGZyb20gSUxLLCBtbWlvIGZsaXBzIGFsc28gY2F1c2UgYSBmbGlwIGRvbmUgaW50ZXJy dXB0IHRvIGJlCnNpZ25hbGxlZC4gVGhpcyBtZWFucyBpZiB3ZSBmaXJzdCBkbyBhIHNldF9iYXNl IGFuZCBmb2xsb3cgaXQKaW1tZWRpYXRlbHkgd2l0aCB0aGUgQ1MgZmxpcCwgd2UgbWlnaHQgbWlz dGFrZSB0aGUgZmxpcCBkb25lIGludGVycnVwdApjYXVzZWQgYnkgdGhlIHNldF9iYXNlIGFzIHRo ZSBmbGlwIGRvbmUgaW50ZXJydXB0IGNhdXNlZCBieSB0aGUgQ1MKZmxpcC4KClRoZSBoYXJkd2Fy ZSBoYXMgYSBmbGlwIGNvdW50ZXIgd2hpY2ggaW5jcmVtZW50cyBldmVyeSB0aW1lIGEgbW1pbyBv cgpDUyBmbGlwIGlzIGlzc3VlZC4gSXQgYmFzaWNhbGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIERT UFNVUkYgcmVnaXN0ZXIKd3JpdGVzLiBUaGlzIG1lYW5zIHdlIGNhbiBzYW1wbGUgdGhlIGNvdW50 ZXIgYmVmb3JlIHdlIHB1dCB0aGUgQ1MKZmxpcCBpbnRvIHRoZSByaW5nLCBhbmQgdGhlbiB3aGVu IHdlIGdldCBhIGZsaXAgZG9uZSBpbnRlcnJ1cHQgd2UgY2FuCmNoZWNrIHdoZXRoZXIgdGhlIENT IGZsaXAgaGFzIGFjdHVhbGx5IHBlcmZvcm1lZCB0aGUgc3VyZmFjZSBhZGRyZXNzCnVwZGF0ZSwg b3IgaWYgdGhlIGludGVycnVwdCB3YXMgY2F1c2VkIGJ5IGEgcHJldmlvdXMgYnV0IHlldAp1bmZp bmlzaGVkIG1taW8gZmxpcC4KCkV2ZW4gd2l0aCB0aGUgZmxpcCBjb3VudGVyIHdlIHN0aWxsIGhh dmUgYSByYWNlIGNvbmRpdGlvbiBvZiB0aGUgQ1MgZmxpcApiYXNlIGFkZHJlc3MgdXBkYXRlIGhh cHBlbnMgYWZ0ZXIgdGhlIG1taW8gZmxpcCBkb25lIGludGVycnVwdCB3YXMKcmFpc2VkIGJ1dCBu b3QgeWV0IHByb2Nlc3NlZCBieSB0aGUgZHJpdmVyLiBXaGVuIHRoZSBpbnRlcnJ1cHQgaXMKZXZl bnR1YWxseSBwcm9jZXNzZWQsIHRoZSBmbGlwIGNvdW50ZXIgd2lsbCBhbHJlYWR5IGluZGljYXRl IHRoYXQgdGhlCkNTIGZsaXAgaGFzIGJlZW4gZXhlY3V0ZWQsIGJ1dCBpdCB3b3VsZCBub3QgYWN0 dWFsbHkgY29tcGxldGUgdW50aWwgdGhlCm5leHQgc3RhcnQgb2YgdmJsYW5rLiBXZSBjYW4gdXNl IHRoZSBEU1BTVVJGTElWRSByZWdpc3RlciB0byBjaGVjawp3aGV0aGVyIHRoZSBoYXJkd2FyZSBp cyBhY3R1YWxseSBzY2FubmluZyBvdXQgb2YgdGhlIGJ1ZmZlciB3ZSBleHBlY3QsCm9yIGlmIHdl IG1hbmFnZWQgaGl0IHRoaXMgcmFjZSB3aW5kb3cuCgpUaGlzIGNvdmVycyBhbGwgdGhlIGNhc2Vz IHdoZXJlIHRoZSBDUyBmbGlwIGFjdHVhbGx5IGNoYW5nZXMgdGhlIGJhc2UKYWRkcmVzcy4gSWYg dGhlIGJhc2UgYWRkcmVzcyByZW1haW5zIHVuY2hhbmdlZCwgd2UgbWlnaHQgc3RpbGwgY29tcGxl dGUKdGhlIENTIGZsaXAgYmVmb3JlIGl0IGhhcyBhY3R1YWxseSBjb21wbGV0ZWQuIEJ1dCBzaW5j ZSB0aGUgYWRkcmVzcwpkaWRuJ3QgY2hhbmdlIGFueXdheSwgdGhlIHByZW1hdHVyZSBmbGlwIGNv bXBsZXRpb24gY2FuJ3QgcmVzdWx0IGluCnVzZXJzcGFjZSBvdmVyd3JpdGluZyBkYXRhIHRoYXQn cyBzdGlsbCBiZWluZyBzY2FubmVkIG91dC4KCkNURyBhbHJlYWR5IGhhcyB0aGUgZmxpcCBjb3Vu dGVyIGFuZCBEU1BTVVJGTElWRSByZWdpc3RlcnMsIGFuZAphbHRob3VnaCB0aGUgZmxpcCBkb25l IGludGVycnVwdCBpcyBzdGlsbCBsaW1pdGVkIHRvIENTIGZsaXBzIGFsb25lLAp0aGUgY29kZSBu b3cgYWxzbyBjaGVja3MgdGhlIGZsaXAgY291bnRlciBvbiBDVEcgYXMgd2VsbC4KCkJ1Z3ppbGxh OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAyNwpTaWdu ZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8ICAxICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDcyICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwg IDIgKwogMyBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDE0NjYwOWEuLjBkODI5MjQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaApAQCAtMzUzMyw2ICszNTMzLDcgQEAgZW51bSBwdW5pdF9wb3dlcl93ZWxs IHsKICNkZWZpbmUgX1BJUEVBX0ZSTUNPVU5UX0dNNDUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDcwMDQwKQogI2RlZmluZSBfUElQRUFfRkxJUENPVU5UX0dNNDUJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDcwMDQ0KQogI2RlZmluZSBQSVBF X0ZSTUNPVU5UX0dNNDUocGlwZSkgX1BJUEUocGlwZSwgX1BJUEVBX0ZSTUNPVU5UX0dNNDUsIF9Q SVBFQl9GUk1DT1VOVF9HTTQ1KQorI2RlZmluZSBQSVBFX0ZMSVBDT1VOVF9HTTQ1KHBpcGUpIF9Q SVBFKHBpcGUsIF9QSVBFQV9GTElQQ09VTlRfR000NSwgX1BJUEVCX0ZMSVBDT1VOVF9HTTQ1KQog CiAvKiBDdXJzb3IgQSAmIEIgcmVncyAqLwogI2RlZmluZSBfQ1VSQUNOVFIJCShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDA4MCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCAzN2JjMDQxLi5hYWJjOTBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC04NjEwLDYgKzg2MTAsNDcgQEAgdm9pZCBpbnRlbF9maW5pc2hfcGFn ZV9mbGlwX3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwbGFuZSkKIAlkb19pbnRl bF9maW5pc2hfcGFnZV9mbGlwKGRldiwgY3J0Yyk7CiB9CiAKKy8qIElzICdhJyBhZnRlciBvciBl cXVhbCB0byAnYic/ICovCitzdGF0aWMgYm9vbCBmbGlwX2NvdW50X2FmdGVyX2VxKHUzMiBhLCB1 MzIgYikKK3sKKwlyZXR1cm4gISgoYSAtIGIpICYgMHg4MDAwMDAwMCk7Cit9CisKK3N0YXRpYyBi b29sIHBhZ2VfZmxpcF9maW5pc2hlZChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3sKKwlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKworCS8qCisJICogVGhlIHJlbGV2 YW50IHJlZ2lzdGVycyBkb2VuJ3QgZXhpc3Qgb24gcHJlLWN0Zy4KKwkgKiBBcyB0aGUgZmxpcCBk b25lIGludGVycnVwdCBkb2Vzbid0IHRyaWdnZXIgZm9yIG1taW8KKwkgKiBmbGlwcyBvbiBnbWNo IHBsYXRmb3JtcywgYSBmbGlwIGNvdW50IGNoZWNrIGlzbid0CisJICogcmVhbGx5IG5lZWRlZCB0 aGVyZS4gQnV0IHNpbmNlIGN0ZyBoYXMgdGhlIHJlZ2lzdGVycywKKwkgKiBpbmNsdWRlIGl0IGlu IHRoZSBjaGVjayBhbnl3YXkuCisJICovCisJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNSAm JiAhSVNfRzRYKGRldikpCisJCXJldHVybiB0cnVlOworCisJLyoKKwkgKiBBIERTUFNVUkZMSVZF IGNoZWNrIGlzbid0IGVub3VnaCBpbiBjYXNlIHRoZSBtbWlvIGFuZCBDUyBmbGlwcworCSAqIHVz ZWQgdGhlIHNhbWUgYmFzZSBhZGRyZXNzLiBJbiB0aGF0IGNhc2UgdGhlIG1taW8gZmxpcCBtaWdo dAorCSAqIGhhdmUgY29tcGxldGVkLCBidXQgdGhlIENTIGhhc24ndCBldmVuIGV4ZWN1dGVkIHRo ZSBmbGlwIHlldC4KKwkgKgorCSAqIEEgZmxpcCBjb3VudCBjaGVjayBpc24ndCBlbm91Z2ggYXMg dGhlIENTIG1pZ2h0IGhhdmUgdXBkYXRlZAorCSAqIHRoZSBiYXNlIGFkZHJlc3MganVzdCBhZnRl ciBzdGFydCBvZiB2YmxhbmssIGJ1dCBiZWZvcmUgd2UKKwkgKiBtYW5hZ2VkIHRvIHByb2Nlc3Mg dGhlIGludGVycnVwdC4gVGhpcyBtZWFucyB3ZSdkIGNvbXBsZXRlIHRoZQorCSAqIENTIGZsaXAg dG9vIHNvb24uCisJICoKKwkgKiBDb21iaW5pbmcgYm90aCBjaGVja3Mgc2hvdWxkIGdldCB1cyBh IGdvb2QgZW5vdWdoIHJlc3VsdC4gSXQgbWF5CisJICogc3RpbGwgaGFwcGVuIHRoYXQgdGhlIENT IGZsaXAgaGFzIGJlZW4gZXhlY3V0ZWQsIGJ1dCBoYXMgbm90CisJICogeWV0IGFjdHVhbGx5IGNv bXBsZXRlZC4gQnV0IGluIGNhc2UgdGhlIGJhc2UgYWRkcmVzcyBpcyB0aGUgc2FtZQorCSAqIGFu eXdheSwgd2UgZG9uJ3QgcmVhbGx5IGNhcmUuCisJICovCisJcmV0dXJuIChJOTE1X1JFQUQoRFNQ U1VSRkxJVkUoY3J0Yy0+cGxhbmUpKSAmIH4weGZmZikgPT0gY3J0Yy0+dW5waW5fd29yay0+ZHNw c3VyZiAmJgorCQlmbGlwX2NvdW50X2FmdGVyX2VxKEk5MTVfUkVBRChQSVBFX0ZMSVBDT1VOVF9H TTQ1KGNydGMtPnBpcGUpKSwKKwkJCQkgICAgY3J0Yy0+dW5waW5fd29yay0+ZmxpcF9jb3VudCk7 Cit9CisKIHZvaWQgaW50ZWxfcHJlcGFyZV9wYWdlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgaW50IHBsYW5lKQogewogCWRybV9pOTE1X3ByaXZhdGVfdCAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwpAQCAtODYyMiw3ICs4NjYzLDcgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX3BhZ2Vf ZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGxhbmUpCiAJICogaXMgYWxzbyBhY2Nv bXBhbmllZCBieSBhIHNwdXJpb3VzIGludGVsX3ByZXBhcmVfcGFnZV9mbGlwKCkuCiAJICovCiAJ c3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwotCWlmIChpbnRlbF9j cnRjLT51bnBpbl93b3JrKQorCWlmIChpbnRlbF9jcnRjLT51bnBpbl93b3JrICYmIHBhZ2VfZmxp cF9maW5pc2hlZChpbnRlbF9jcnRjKSkKIAkJYXRvbWljX2luY19ub3RfemVybygmaW50ZWxfY3J0 Yy0+dW5waW5fd29yay0+cGVuZGluZyk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5l dmVudF9sb2NrLCBmbGFncyk7CiB9CkBAIC04NjUyLDYgKzg2OTMsOSBAQCBzdGF0aWMgaW50IGlu dGVsX2dlbjJfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWlmIChyZXQpCiAJ CWdvdG8gZXJyOwogCisJaW50ZWxfY3J0Yy0+dW5waW5fd29yay0+ZHNwc3VyZiA9CisJCWk5MTVf Z2VtX29ial9nZ3R0X29mZnNldChvYmopICsgaW50ZWxfY3J0Yy0+ZHNwYWRkcl9vZmZzZXQ7CisK IAlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJy X3VucGluOwpAQCAtODY2OCw3ICs4NzEyLDcgQEAgc3RhdGljIGludCBpbnRlbF9nZW4yX3F1ZXVl X2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlf RElTUExBWV9GTElQIHwKIAkJCU1JX0RJU1BMQVlfRkxJUF9QTEFORShpbnRlbF9jcnRjLT5wbGFu ZSkpOwogCWludGVsX3JpbmdfZW1pdChyaW5nLCBmYi0+cGl0Y2hlc1swXSk7Ci0JaW50ZWxfcmlu Z19lbWl0KHJpbmcsIGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChvYmopICsgaW50ZWxfY3J0Yy0+ ZHNwYWRkcl9vZmZzZXQpOworCWludGVsX3JpbmdfZW1pdChyaW5nLCBpbnRlbF9jcnRjLT51bnBp bl93b3JrLT5kc3BzdXJmKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgMCk7IC8qIGF1eCBkaXNw bGF5IGJhc2UgYWRkcmVzcywgdW51c2VkICovCiAKIAlpbnRlbF9tYXJrX3BhZ2VfZmxpcF9hY3Rp dmUoaW50ZWxfY3J0Yyk7CkBAIC04Njk3LDYgKzg3NDEsOSBAQCBzdGF0aWMgaW50IGludGVsX2dl bjNfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWlmIChyZXQpCiAJCWdvdG8g ZXJyOwogCisJaW50ZWxfY3J0Yy0+dW5waW5fd29yay0+ZHNwc3VyZiA9CisJCWk5MTVfZ2VtX29i al9nZ3R0X29mZnNldChvYmopICsgaW50ZWxfY3J0Yy0+ZHNwYWRkcl9vZmZzZXQ7CisKIAlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJpbmcsIDYpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX3VucGlu OwpAQCAtODcxMCw3ICs4NzU3LDcgQEAgc3RhdGljIGludCBpbnRlbF9nZW4zX3F1ZXVlX2ZsaXAo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfRElTUExB WV9GTElQX0k5MTUgfAogCQkJTUlfRElTUExBWV9GTElQX1BMQU5FKGludGVsX2NydGMtPnBsYW5l KSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGZiLT5waXRjaGVzWzBdKTsKLQlpbnRlbF9yaW5n X2VtaXQocmluZywgaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgKyBpbnRlbF9jcnRjLT5k c3BhZGRyX29mZnNldCk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGludGVsX2NydGMtPnVucGlu X3dvcmstPmRzcHN1cmYpOwogCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKIAogCWlu dGVsX21hcmtfcGFnZV9mbGlwX2FjdGl2ZShpbnRlbF9jcnRjKTsKQEAgLTg3MzksNiArODc4Niw5 IEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuNF9xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJaWYgKHJldCkKIAkJZ290byBlcnI7CiAKKwlpbnRlbF9jcnRjLT51bnBpbl93b3JrLT5k c3BzdXJmID0KKwkJaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgKyBpbnRlbF9jcnRjLT5k c3BhZGRyX29mZnNldDsKKwogCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmluZywgNCk7CiAJaWYg KHJldCkKIAkJZ290byBlcnJfdW5waW47CkBAIC04NzUwLDggKzg4MDAsNyBAQCBzdGF0aWMgaW50 IGludGVsX2dlbjRfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludGVsX3Jp bmdfZW1pdChyaW5nLCBNSV9ESVNQTEFZX0ZMSVAgfAogCQkJTUlfRElTUExBWV9GTElQX1BMQU5F KGludGVsX2NydGMtPnBsYW5lKSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGZiLT5waXRjaGVz WzBdKTsKLQlpbnRlbF9yaW5nX2VtaXQocmluZywKLQkJCShpOTE1X2dlbV9vYmpfZ2d0dF9vZmZz ZXQob2JqKSArIGludGVsX2NydGMtPmRzcGFkZHJfb2Zmc2V0KSB8CisJaW50ZWxfcmluZ19lbWl0 KHJpbmcsIGludGVsX2NydGMtPnVucGluX3dvcmstPmRzcHN1cmYgfAogCQkJb2JqLT50aWxpbmdf bW9kZSk7CiAKIAkvKiBYWFggRW5hYmxpbmcgdGhlIHBhbmVsLWZpdHRlciBhY3Jvc3MgcGFnZS1m bGlwIGlzIHNvIGZhcgpAQCAtODc4OCw2ICs4ODM3LDkgQEAgc3RhdGljIGludCBpbnRlbF9nZW42 X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpZiAocmV0KQogCQlnb3RvIGVy cjsKIAorCWludGVsX2NydGMtPnVucGluX3dvcmstPmRzcHN1cmYgPQorCQlpOTE1X2dlbV9vYmpf Z2d0dF9vZmZzZXQob2JqKSArIGludGVsX2NydGMtPmRzcGFkZHJfb2Zmc2V0OworCiAJcmV0ID0g aW50ZWxfcmluZ19iZWdpbihyaW5nLCA0KTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl91bnBpbjsK QEAgLTg3OTUsNyArODg0Nyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuNl9xdWV1ZV9mbGlwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX0RJU1BMQVlf RkxJUCB8CiAJCQlNSV9ESVNQTEFZX0ZMSVBfUExBTkUoaW50ZWxfY3J0Yy0+cGxhbmUpKTsKIAlp bnRlbF9yaW5nX2VtaXQocmluZywgZmItPnBpdGNoZXNbMF0gfCBvYmotPnRpbGluZ19tb2RlKTsK LQlpbnRlbF9yaW5nX2VtaXQocmluZywgaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaikgKyBp bnRlbF9jcnRjLT5kc3BhZGRyX29mZnNldCk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsIGludGVs X2NydGMtPnVucGluX3dvcmstPmRzcHN1cmYpOwogCiAJLyogQ29udHJhcnkgdG8gdGhlIHN1Z2dl c3Rpb25zIGluIHRoZSBkb2N1bWVudGF0aW9uLAogCSAqICJFbmFibGUgUGFuZWwgRml0dGVyIiBk b2VzIG5vdCBzZWVtIHRvIGJlIHJlcXVpcmVkIHdoZW4gcGFnZQpAQCAtODgzNyw2ICs4ODg5LDkg QEAgc3RhdGljIGludCBpbnRlbF9nZW43X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIAorCWludGVsX2NydGMtPnVucGluX3dvcmstPmRz cHN1cmYgPQorCQlpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSArIGludGVsX2NydGMtPmRz cGFkZHJfb2Zmc2V0OworCiAJc3dpdGNoKGludGVsX2NydGMtPnBsYW5lKSB7CiAJY2FzZSBQTEFO RV9BOgogCQlwbGFuZV9iaXQgPSBNSV9ESVNQTEFZX0ZMSVBfSVZCX1BMQU5FX0E7CkBAIC04ODk4 LDcgKzg5NTMsNyBAQCBzdGF0aWMgaW50IGludGVsX2dlbjdfcXVldWVfZmxpcChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX0RJU1BMQVlfRkxJUF9J OTE1IHwgcGxhbmVfYml0KTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgKGZiLT5waXRjaGVzWzBd IHwgb2JqLT50aWxpbmdfbW9kZSkpOwotCWludGVsX3JpbmdfZW1pdChyaW5nLCBpOTE1X2dlbV9v YmpfZ2d0dF9vZmZzZXQob2JqKSArIGludGVsX2NydGMtPmRzcGFkZHJfb2Zmc2V0KTsKKwlpbnRl bF9yaW5nX2VtaXQocmluZywgaW50ZWxfY3J0Yy0+dW5waW5fd29yay0+ZHNwc3VyZik7CiAJaW50 ZWxfcmluZ19lbWl0KHJpbmcsIChNSV9OT09QKSk7CiAKIAlpbnRlbF9tYXJrX3BhZ2VfZmxpcF9h Y3RpdmUoaW50ZWxfY3J0Yyk7CkBAIC04OTk2LDYgKzkwNTEsOSBAQCBzdGF0aWMgaW50IGludGVs X2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlhdG9taWNfaW5jKCZpbnRl bF9jcnRjLT51bnBpbl93b3JrX2NvdW50KTsKIAlpbnRlbF9jcnRjLT5yZXNldF9jb3VudGVyID0g YXRvbWljX3JlYWQoJmRldl9wcml2LT5ncHVfZXJyb3IucmVzZXRfY291bnRlcik7CiAKKwlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNSB8fCBJU19HNFgoZGV2KSkKKwkJd29yay0+ZmxpcF9j b3VudCA9IEk5MTVfUkVBRChQSVBFX0ZMSVBDT1VOVF9HTTQ1KGludGVsX2NydGMtPnBpcGUpKSAr IDE7CisKIAlyZXQgPSBkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlwKGRldiwgY3J0YywgZmIs IG9iaiwgcGFnZV9mbGlwX2ZsYWdzKTsKIAlpZiAocmV0KQogCQlnb3RvIGNsZWFudXBfcGVuZGlu ZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggNTM2MGQxNi4uMTUxM2Y0YiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTU2Niw2ICs1NjYsOCBAQCBzdHJ1Y3QgaW50ZWxfdW5w aW5fd29yayB7CiAjZGVmaW5lIElOVEVMX0ZMSVBfSU5BQ1RJVkUJMAogI2RlZmluZSBJTlRFTF9G TElQX1BFTkRJTkcJMQogI2RlZmluZSBJTlRFTF9GTElQX0NPTVBMRVRFCTIKKwl1MzIgZmxpcF9j b3VudDsKKwl1MzIgZHNwc3VyZjsKIAlib29sIGVuYWJsZV9zdGFsbF9jaGVjazsKIH07CiAKLS0g CjEuOC4zLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==