From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 1/4] drm/i915: Eliminate per-fw_domain i915 backpointer Date: Wed, 22 Mar 2017 00:39:44 +0000 Message-ID: <20170322003947.6304-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id B2F8D6E782 for ; Wed, 22 Mar 2017 00:39:51 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id x124so6000151wmf.3 for ; Tue, 21 Mar 2017 17:39:51 -0700 (PDT) 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: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org UGFzcyBhbG9uZyB0aGUgZHJtX2k5MTVfcHJpdmF0ZSBwb2ludGVyIGZyb20gdGhlIGNhbGxlciwg cmF0aGVyIHRoYW4KbG9va2luZyBpdCB1cCBmcm9tIGVhY2ggZndfZG9tYWluIGR1cmluZyBmd19k b21haW5zX2dldC9fcHV0LiBUaGlzCmFsbG93cyB1cyB0byB0aGVuIGVsaW1pbmF0ZSB0aGUgYmFj a3BvaW50ZXIsIGluIGV4Y2hhbmdlIGZvciBhIG1vcmUKY29tcGxpY2F0ZWQgdW53cmFwcGluZyBw cm9jZWR1cmUgaW4gdGhlIHJhcmUgZndfZG9tYWluc19yZXNldCgpLgoKU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAzMyArKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDc3ICsrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgNTAgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYTU5NDdhNDk2ZDBhLi40YzlkZTdk MDBlYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNzMyLDIxICs3MzIsMjUgQEAgaW50 ZWxfdW5jb3JlX2ZvcmNld2FrZV9mb3JfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKIAogc3RydWN0IGludGVsX3VuY29yZV9mdW5jcyB7CiAJdm9pZCAoKmZvcmNlX3dha2Vf Z2V0KShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCQkJZW51bSBmb3Jj ZXdha2VfZG9tYWlucyBkb21haW5zKTsKKwkJCSAgICAgICBlbnVtIGZvcmNld2FrZV9kb21haW5z IGRvbWFpbnMpOwogCXZvaWQgKCpmb3JjZV93YWtlX3B1dCkoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAotCQkJCQkJCWVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZG9tYWlucyk7Ci0K LQl1aW50OF90ICAoKm1taW9fcmVhZGIpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgaTkxNV9yZWdfdCByLCBib29sIHRyYWNlKTsKLQl1aW50MTZfdCAoKm1taW9fcmVhZHcpKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCByLCBib29sIHRyYWNl KTsKLQl1aW50MzJfdCAoKm1taW9fcmVhZGwpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgaTkxNV9yZWdfdCByLCBib29sIHRyYWNlKTsKLQl1aW50NjRfdCAoKm1taW9fcmVhZHEp KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCByLCBib29sIHRy YWNlKTsKLQotCXZvaWQgKCptbWlvX3dyaXRlYikoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBpOTE1X3JlZ190IHIsCi0JCQkJdWludDhfdCB2YWwsIGJvb2wgdHJhY2UpOwotCXZv aWQgKCptbWlvX3dyaXRldykoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpOTE1 X3JlZ190IHIsCi0JCQkJdWludDE2X3QgdmFsLCBib29sIHRyYWNlKTsKLQl2b2lkICgqbW1pb193 cml0ZWwpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaTkxNV9yZWdfdCByLAot CQkJCXVpbnQzMl90IHZhbCwgYm9vbCB0cmFjZSk7CisJCQkgICAgICAgZW51bSBmb3JjZXdha2Vf ZG9tYWlucyBkb21haW5zKTsKKworCXVpbnQ4X3QgICgqbW1pb19yZWFkYikoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICAgIGk5MTVfcmVnX3QgciwgYm9vbCB0cmFj ZSk7CisJdWludDE2X3QgKCptbWlvX3JlYWR3KShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCisJCQkgICAgICAgaTkxNV9yZWdfdCByLCBib29sIHRyYWNlKTsKKwl1aW50MzJfdCAo Km1taW9fcmVhZGwpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAgICAg ICBpOTE1X3JlZ190IHIsIGJvb2wgdHJhY2UpOworCXVpbnQ2NF90ICgqbW1pb19yZWFkcSkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJICAgICAgIGk5MTVfcmVnX3Qgciwg Ym9vbCB0cmFjZSk7CisKKwl2b2lkICgqbW1pb193cml0ZWIpKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKKwkJCSAgICBpOTE1X3JlZ190IHIsIHVpbnQ4X3QgdmFsLCBib29sIHRy YWNlKTsKKwl2b2lkICgqbW1pb193cml0ZXcpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKKwkJCSAgICBpOTE1X3JlZ190IHIsIHVpbnQxNl90IHZhbCwgYm9vbCB0cmFjZSk7CisJ dm9pZCAoKm1taW9fd3JpdGVsKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJ CQkgICAgaTkxNV9yZWdfdCByLCB1aW50MzJfdCB2YWwsIGJvb2wgdHJhY2UpOwogfTsKIAogc3Ry dWN0IGludGVsX2ZvcmNld2FrZV9yYW5nZSB7CkBAIC03NzEsNyArNzc1LDYgQEAgc3RydWN0IGlu dGVsX3VuY29yZSB7CiAJZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zX2FjdGl2ZTsK IAogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiB7Ci0JCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1OwogCQllbnVtIGZvcmNld2FrZV9kb21haW5faWQgaWQ7CiAJCWVu dW0gZm9yY2V3YWtlX2RvbWFpbnMgbWFzazsKIAkJdW5zaWduZWQgd2FrZV9jb3VudDsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggMDlmNWYwMmQ3OTAxLi5hYTJlNzQwMWVmZGMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC01MiwxMCArNTIsMTEgQEAgaW50 ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW5fdG9fc3RyKGNvbnN0IGVudW0gZm9yY2V3YWtlX2Rv bWFpbl9pZCBpZCkKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1md19kb21haW5fcmVzZXQoY29u c3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQorZndfZG9tYWluX3Jl c2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQljb25zdCBzdHJ1Y3QgaW50ZWxf dW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiB7CiAJV0FSTl9PTighaTkxNV9tbWlvX3JlZ192 YWxpZChkLT5yZWdfc2V0KSk7Ci0JX19yYXdfaTkxNV93cml0ZTMyKGQtPmk5MTUsIGQtPnJlZ19z ZXQsIGQtPnZhbF9yZXNldCk7CisJX19yYXdfaTkxNV93cml0ZTMyKGk5MTUsIGQtPnJlZ19zZXQs IGQtPnZhbF9yZXNldCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZApAQCAtNjksOSArNzAsMTAg QEAgZndfZG9tYWluX2FybV90aW1lcihzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21h aW4gKmQpCiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAotZndfZG9tYWluX3dhaXRfYWNrX2NsZWFy KGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKK2Z3X2RvbWFp bl93YWl0X2Fja19jbGVhcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCSBjb25z dCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiB7Ci0JaWYgKHdhaXRf Zm9yX2F0b21pYygoX19yYXdfaTkxNV9yZWFkMzIoZC0+aTkxNSwgZC0+cmVnX2FjaykgJgorCWlm ICh3YWl0X2Zvcl9hdG9taWMoKF9fcmF3X2k5MTVfcmVhZDMyKGk5MTUsIGQtPnJlZ19hY2spICYK IAkJCSAgICAgRk9SQ0VXQUtFX0tFUk5FTCkgPT0gMCwKIAkJCSAgICBGT1JDRVdBS0VfQUNLX1RJ TUVPVVRfTVMpKQogCQlEUk1fRVJST1IoIiVzOiB0aW1lZCBvdXQgd2FpdGluZyBmb3IgZm9yY2V3 YWtlIGFjayB0byBjbGVhci5cbiIsCkBAIC03OSwxNSArODEsMTcgQEAgZndfZG9tYWluX3dhaXRf YWNrX2NsZWFyKGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkK IH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1md19kb21haW5fZ2V0KGNvbnN0IHN0cnVjdCBpbnRl bF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKK2Z3X2RvbWFpbl9nZXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsCisJICAgICAgY29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3Jj ZXdha2VfZG9tYWluICpkKQogewotCV9fcmF3X2k5MTVfd3JpdGUzMihkLT5pOTE1LCBkLT5yZWdf c2V0LCBkLT52YWxfc2V0KTsKKwlfX3Jhd19pOTE1X3dyaXRlMzIoaTkxNSwgZC0+cmVnX3NldCwg ZC0+dmFsX3NldCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAotZndfZG9tYWluX3dhaXRfYWNr KGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKK2Z3X2RvbWFp bl93YWl0X2FjayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJICAgY29uc3Qgc3Ry dWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQogewotCWlmICh3YWl0X2Zvcl9h dG9taWMoKF9fcmF3X2k5MTVfcmVhZDMyKGQtPmk5MTUsIGQtPnJlZ19hY2spICYKKwlpZiAod2Fp dF9mb3JfYXRvbWljKChfX3Jhd19pOTE1X3JlYWQzMihpOTE1LCBkLT5yZWdfYWNrKSAmCiAJCQkg ICAgIEZPUkNFV0FLRV9LRVJORUwpLAogCQkJICAgIEZPUkNFV0FLRV9BQ0tfVElNRU9VVF9NUykp CiAJCURSTV9FUlJPUigiJXM6IHRpbWVkIG91dCB3YWl0aW5nIGZvciBmb3JjZXdha2UgYWNrIHJl cXVlc3QuXG4iLApAQCAtOTUsNzIgKzk5LDc1IEBAIGZ3X2RvbWFpbl93YWl0X2Fjayhjb25zdCBz dHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiB9CiAKIHN0YXRpYyBpbmxp bmUgdm9pZAotZndfZG9tYWluX3B1dChjb25zdCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2Fr ZV9kb21haW4gKmQpCitmd19kb21haW5fcHV0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 LAorCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkK IHsKLQlfX3Jhd19pOTE1X3dyaXRlMzIoZC0+aTkxNSwgZC0+cmVnX3NldCwgZC0+dmFsX2NsZWFy KTsKKwlfX3Jhd19pOTE1X3dyaXRlMzIoaTkxNSwgZC0+cmVnX3NldCwgZC0+dmFsX2NsZWFyKTsK IH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1md19kb21haW5fcG9zdGluZ19yZWFkKGNvbnN0IHN0 cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKK2Z3X2RvbWFpbl9wb3N0aW5n X3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCSAgICAgICBjb25zdCBzdHJ1 Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiB7CiAJLyogc29tZXRoaW5nIGZy b20gc2FtZSBjYWNoZWxpbmUsIGJ1dCBub3QgZnJvbSB0aGUgc2V0IHJlZ2lzdGVyICovCiAJaWYg KGk5MTVfbW1pb19yZWdfdmFsaWQoZC0+cmVnX3Bvc3QpKQotCQlfX3Jhd19wb3N0aW5nX3JlYWQo ZC0+aTkxNSwgZC0+cmVnX3Bvc3QpOworCQlfX3Jhd19wb3N0aW5nX3JlYWQoaTkxNSwgZC0+cmVn X3Bvc3QpOwogfQogCiBzdGF0aWMgdm9pZAotZndfZG9tYWluc19nZXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCitm d19kb21haW5zX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBmb3JjZXdh a2VfZG9tYWlucyBmd19kb21haW5zKQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtl X2RvbWFpbiAqZDsKIAotCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlucywg ZGV2X3ByaXYpIHsKLQkJZndfZG9tYWluX3dhaXRfYWNrX2NsZWFyKGQpOwotCQlmd19kb21haW5f Z2V0KGQpOworCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlucywgaTkxNSkg eworCQlmd19kb21haW5fd2FpdF9hY2tfY2xlYXIoaTkxNSwgZCk7CisJCWZ3X2RvbWFpbl9nZXQo aTkxNSwgZCk7CiAJfQogCi0JZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkLCBmd19kb21haW5z LCBkZXZfcHJpdikKLQkJZndfZG9tYWluX3dhaXRfYWNrKGQpOworCWZvcl9lYWNoX2Z3X2RvbWFp bl9tYXNrZWQoZCwgZndfZG9tYWlucywgaTkxNSkKKwkJZndfZG9tYWluX3dhaXRfYWNrKGk5MTUs IGQpOwogCi0JZGV2X3ByaXYtPnVuY29yZS5md19kb21haW5zX2FjdGl2ZSB8PSBmd19kb21haW5z OworCWk5MTUtPnVuY29yZS5md19kb21haW5zX2FjdGl2ZSB8PSBmd19kb21haW5zOwogfQogCiBz dGF0aWMgdm9pZAotZndfZG9tYWluc19wdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCitmd19kb21haW5zX3B1dChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19k b21haW5zKQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKIAot CWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlucywgZGV2X3ByaXYpIHsKLQkJ ZndfZG9tYWluX3B1dChkKTsKLQkJZndfZG9tYWluX3Bvc3RpbmdfcmVhZChkKTsKKwlmb3JfZWFj aF9md19kb21haW5fbWFza2VkKGQsIGZ3X2RvbWFpbnMsIGk5MTUpIHsKKwkJZndfZG9tYWluX3B1 dChpOTE1LCBkKTsKKwkJZndfZG9tYWluX3Bvc3RpbmdfcmVhZChpOTE1LCBkKTsKIAl9CiAKLQlk ZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnNfYWN0aXZlICY9IH5md19kb21haW5zOworCWk5MTUt PnVuY29yZS5md19kb21haW5zX2FjdGl2ZSAmPSB+ZndfZG9tYWluczsKIH0KIAogc3RhdGljIHZv aWQKLWZ3X2RvbWFpbnNfcG9zdGluZ19yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKK2Z3X2RvbWFpbnNfcG9zdGluZ19yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKIAogCS8q IE5vIG5lZWQgdG8gZG8gZm9yIGFsbCwganVzdCBkbyBmb3IgZmlyc3QgZm91bmQgKi8KLQlmb3Jf ZWFjaF9md19kb21haW4oZCwgZGV2X3ByaXYpIHsKLQkJZndfZG9tYWluX3Bvc3RpbmdfcmVhZChk KTsKKwlmb3JfZWFjaF9md19kb21haW4oZCwgaTkxNSkgeworCQlmd19kb21haW5fcG9zdGluZ19y ZWFkKGk5MTUsIGQpOwogCQlicmVhazsKIAl9CiB9CiAKIHN0YXRpYyB2b2lkCi1md19kb21haW5z X3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBmb3JjZXdha2Vf ZG9tYWlucyBmd19kb21haW5zKQorZndfZG9tYWluc19yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwKKwkJIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZG9tYWlucykKIHsKIAlz dHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7CiAKLQlpZiAoZGV2X3ByaXYt PnVuY29yZS5md19kb21haW5zID09IDApCisJaWYgKGk5MTUtPnVuY29yZS5md19kb21haW5zID09 IDApCiAJCXJldHVybjsKIAotCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlu cywgZGV2X3ByaXYpCi0JCWZ3X2RvbWFpbl9yZXNldChkKTsKKwlmb3JfZWFjaF9md19kb21haW5f bWFza2VkKGQsIGZ3X2RvbWFpbnMsIGk5MTUpCisJCWZ3X2RvbWFpbl9yZXNldChpOTE1LCBkKTsK IAotCWZ3X2RvbWFpbnNfcG9zdGluZ19yZWFkKGRldl9wcml2KTsKKwlmd19kb21haW5zX3Bvc3Rp bmdfcmVhZChpOTE1KTsKIH0KIAogc3RhdGljIHZvaWQgX19nZW42X2d0X3dhaXRfZm9yX3RocmVh ZF9jMChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC0yMzYsNyArMjQzLDgg QEAgaW50ZWxfdW5jb3JlX2Z3X3JlbGVhc2VfdGltZXIoc3RydWN0IGhydGltZXIgKnRpbWVyKQog ewogCXN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZG9tYWluID0KIAkgICAg ICAgY29udGFpbmVyX29mKHRpbWVyLCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21h aW4sIHRpbWVyKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkb21haW4t Pmk5MTU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KKwkJY29udGFpbmVy X29mKGRvbWFpbiwgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUsIHVuY29yZS5md19kb21haW5bZG9t YWluLT5pZF0pOwogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CiAKIAlhc3NlcnRfcnBtX2Rldmlj ZV9ub3Rfc3VzcGVuZGVkKGRldl9wcml2KTsKQEAgLTExNjEsNyArMTE2OSw2IEBAIHN0YXRpYyB2 b2lkIGZ3X2RvbWFpbl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAll bHNlIGlmIChJU19HRU42KGRldl9wcml2KSB8fCBJU19HRU43KGRldl9wcml2KSB8fCBJU19HRU44 KGRldl9wcml2KSkKIAkJZC0+cmVnX3Bvc3QgPSBFQ09CVVM7CiAKLQlkLT5pOTE1ID0gZGV2X3By aXY7CiAJZC0+aWQgPSBkb21haW5faWQ7CiAKIAlCVUlMRF9CVUdfT04oRk9SQ0VXQUtFX1JFTkRF UiAhPSAoMSA8PCBGV19ET01BSU5fSURfUkVOREVSKSk7CkBAIC0xMTc1LDcgKzExODIsNyBAQCBz dGF0aWMgdm9pZCBmd19kb21haW5faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAKIAlkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnMgfD0gKDEgPDwgZG9tYWluX2lkKTsK IAotCWZ3X2RvbWFpbl9yZXNldChkKTsKKwlmd19kb21haW5fcmVzZXQoZGV2X3ByaXYsIGQpOwog fQogCiBzdGF0aWMgdm9pZCBpbnRlbF91bmNvcmVfZndfZG9tYWluc19pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==