From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 9/9] drm/i915/gt: Schedule request retirement when timeline idles Date: Wed, 20 Nov 2019 09:33:02 +0000 Message-ID: <20191120093302.3723715-9-chris@chris-wilson.co.uk> References: <20191120093302.3723715-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5DFCF6E137 for ; Wed, 20 Nov 2019 09:33:21 +0000 (UTC) In-Reply-To: <20191120093302.3723715-1-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org VGhlIG1ham9yIGRyYXdiYWNrIG9mIGNvbW1pdCA3ZTM0ZjRlNGFhZDMgKCJkcm0vaTkxNS9nZW44 KzogQWRkIFJDNiBDVFgKY29ycnVwdGlvbiBXQSIpIGlzIHRoYXQgaXQgZGlzYWJsZXMgUkM2IHdo aWxlIFNreWxha2UgKGFuZCBmcmllbmRzKSBpcwphY3RpdmUsIGFuZCB3ZSBkbyBub3QgY29uc2lk ZXIgdGhlIEdQVSBpZGxlIHVudGlsIGFsbCBvdXRzdGFuZGluZwpyZXF1ZXN0cyBoYXZlIGJlZW4g cmV0aXJlZCBhbmQgdGhlIGVuZ2luZSBzd2l0Y2hlZCBvdmVyIHRvIHRoZSBrZXJuZWwKY29udGV4 dC4gSWYgdXNlcnNwYWNlIGlzIGlkbGUsIHRoaXMgdGFzayBmYWxscyBvbnRvIG91ciBiYWNrZ3Jv dW5kIGlkbGUKd29ya2VyLCB3aGljaCBvbmx5IHJ1bnMgcm91Z2hseSBvbmNlIGEgc2Vjb25kLCBt ZWFuaW5nIHRoYXQgdXNlcnNwYWNlIGhhcwp0byBoYXZlIGJlZW4gaWRsZSBmb3IgYSBjb3VwbGUg b2Ygc2Vjb25kcyBiZWZvcmUgd2UgZW5hYmxlIFJDNiBhZ2Fpbi4KTmF0dXJhbGx5LCB0aGlzIGNh dXNlcyB1cyB0byBjb25zdW1lIGNvbnNpZGVyYWJseSBtb3JlIGVuZXJneSB0aGFuCmJlZm9yZSBh cyBwb3dlcnNhdmluZyBpcyBlZmZlY3RpdmVseSBkaXNhYmxlZCB3aGlsZSBhIGRpc3BsYXkgc2Vy dmVyCihoZXJlJ3MgbG9va2luZyBhdCB5b3UgWG9yZykgaXMgcnVubmluZy4KCkFzIGV4ZWNsaXN0 cyB3aWxsIGdldCBhIGNvbXBsZXRpb24gZXZlbnQgYXMgZWFjaCBjb250ZXh0IGlzIGNvbXBsZXRl ZCwKd2UgY2FuIHVzZSB0aGlzIGludGVycnVwdCB0byBxdWV1ZSBhIHJldGlyZSB3b3JrZXIgYm91 bmQgdG8gdGhpcyBlbmdpbmUKdG8gY2xlYW51cCBpZGxlIHRpbWVsaW5lcy4gV2Ugd2lsbCB0aGVu IGltbWVkaWF0ZWx5IG5vdGljZSB0aGUgaWRsZQplbmdpbmUgKHdpdGhvdXQgdXNlcnNwYWNlIGlu dGVydmVudGlvbiBvciB0aGUgYWlkIG9mIHRoZSBiYWNrZ3JvdW5kCnJldGlyZSB3b3JrZXIpIGFu ZCBzdGFydCBwYXJraW5nIHRoZSBHUFUuIFRodXMgZHVyaW5nIGxpZ2h0IHdvcmtsb2FkcywKd2Ug d2lsbCBkbyBtdWNoIG1vcmUgd29yayB0byBpZGxlIHRoZSBHUFUgZmFzdGVyLi4uICBIb3BlZnVs bHkgd2l0aApjb21tZW5zdXJhdGUgcG93ZXIgc2F2aW5nIQoKdjI6IFdhdGNoIGNvbnRleHQgY29t cGxldGlvbnMgYW5kIG9ubHkgbG9vayBhdCB0aG9zZSBsb2NhbCB0byB0aGUgZW5naW5lCndoZW4g cmV0aXJpbmcgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgZXhjZXNzIHdvcmsgd2UgcGVyZm9ybS4K ClJlZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lk PTExMjMxNQpSZWZlcmVuY2VzOiA3ZTM0ZjRlNGFhZDMgKCJkcm0vaTkxNS9nZW44KzogQWRkIFJD NiBDVFggY29ycnVwdGlvbiBXQSIpClJlZmVyZW5jZXM6IDIyNDhhMjgzODRmZSAoImRybS9pOTE1 L2dlbjgrOiBBZGQgUkM2IENUWCBjb3JydXB0aW9uIFdBIikKU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9jcy5jICAgICB8ICA4ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmVfdHlwZXMuaCAgfCAgOCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3Rf cmVxdWVzdHMuYyAgIHwgNzQgKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3RfcmVxdWVzdHMuaCAgIHwgMTcgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgICB8ICA5ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyAgICAgIHwgIDEgKwogLi4uL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF90aW1lbGluZV90eXBlcy5oICAgIHwgIDMgKwogNyBmaWxlcyBjaGFuZ2VkLCAxMTYgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9jcy5jCmluZGV4IGI5NjEzZDA0NDM5My4uOGY2ZTM1M2NhYTY2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMjgsMTMgKzI4LDEzIEBACiAK ICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCi0jaW5jbHVkZSAiZ3QvaW50ZWxfZ3QuaCIKLQorI2lu Y2x1ZGUgImludGVsX2NvbnRleHQuaCIKICNpbmNsdWRlICJpbnRlbF9lbmdpbmUuaCIKICNpbmNs dWRlICJpbnRlbF9lbmdpbmVfcG0uaCIKICNpbmNsdWRlICJpbnRlbF9lbmdpbmVfcG9vbC5oIgog I2luY2x1ZGUgImludGVsX2VuZ2luZV91c2VyLmgiCi0jaW5jbHVkZSAiaW50ZWxfY29udGV4dC5o IgorI2luY2x1ZGUgImludGVsX2d0LmgiCisjaW5jbHVkZSAiaW50ZWxfZ3RfcmVxdWVzdHMuaCIK ICNpbmNsdWRlICJpbnRlbF9scmMuaCIKICNpbmNsdWRlICJpbnRlbF9yZXNldC5oIgogI2luY2x1 ZGUgImludGVsX3JpbmcuaCIKQEAgLTYxNyw2ICs2MTcsNyBAQCBzdGF0aWMgaW50IGludGVsX2Vu Z2luZV9zZXR1cF9jb21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWludGVs X2VuZ2luZV9pbml0X2V4ZWNsaXN0cyhlbmdpbmUpOwogCWludGVsX2VuZ2luZV9pbml0X2NtZF9w YXJzZXIoZW5naW5lKTsKIAlpbnRlbF9lbmdpbmVfaW5pdF9fcG0oZW5naW5lKTsKKwlpbnRlbF9l bmdpbmVfaW5pdF9yZXRpcmUoZW5naW5lKTsKIAogCWludGVsX2VuZ2luZV9wb29sX2luaXQoJmVu Z2luZS0+cG9vbCk7CiAKQEAgLTgzOSw2ICs4NDAsNyBAQCB2b2lkIGludGVsX2VuZ2luZV9jbGVh bnVwX2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAKIAljbGVhbnVwX3N0 YXR1c19wYWdlKGVuZ2luZSk7CiAKKwlpbnRlbF9lbmdpbmVfZmluaV9yZXRpcmUoZW5naW5lKTsK IAlpbnRlbF9lbmdpbmVfcG9vbF9maW5pKCZlbmdpbmUtPnBvb2wpOwogCWludGVsX2VuZ2luZV9m aW5pX2JyZWFkY3J1bWJzKGVuZ2luZSk7CiAJaW50ZWxfZW5naW5lX2NsZWFudXBfY21kX3BhcnNl cihlbmdpbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5n aW5lX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMu aAppbmRleCA3NThmMGU4ZWM2NzIuLjE3ZjFmMTQ0MWVmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKQEAgLTQ1MSw2ICs0NTEsMTQgQEAgc3RydWN0 IGludGVsX2VuZ2luZV9jcyB7CiAKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyBleGVj bGlzdHM7CiAKKwkvKgorCSAqIEtlZXAgdHJhY2sgb2YgY29tcGxldGVkIHRpbWVsaW5lcyBvbiB0 aGlzIGVuZ2luZSBmb3IgZWFybHkKKwkgKiByZXRpcmVtZW50IHdpdGggdGhlIGdvYWwgb2YgcXVp Y2tseSBlbmFibGluZyBwb3dlcnNhdmluZyBhcworCSAqIHNvb24gYXMgdGhlIGVuZ2luZSBpcyBp ZGxlLgorCSAqLworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqcmV0aXJlOworCXN0cnVjdCB3b3Jr X3N0cnVjdCByZXRpcmVfd29yazsKKwogCS8qIHN0YXR1c19ub3RpZmllcjogbGlzdCBvZiBjYWxs YmFja3MgZm9yIGNvbnRleHQtc3dpdGNoIGNoYW5nZXMgKi8KIAlzdHJ1Y3QgYXRvbWljX25vdGlm aWVyX2hlYWQgY29udGV4dF9zdGF0dXNfbm90aWZpZXI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jCmluZGV4IDRkYzNjYmViMWIzNi4uNGE5OGZlZmRmOTE1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmMKQEAgLTI5 LDYgKzI5LDgwIEBAIHN0YXRpYyB2b2lkIGZsdXNoX3N1Ym1pc3Npb24oc3RydWN0IGludGVsX2d0 ICpndCkKIAkJaW50ZWxfZW5naW5lX2ZsdXNoX3N1Ym1pc3Npb24oZW5naW5lKTsKIH0KIAorc3Rh dGljIHZvaWQgZW5naW5lX3JldGlyZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0KKwkJY29udGFpbmVyX29mKHdvcmssIHR5cGVv ZigqZW5naW5lKSwgcmV0aXJlX3dvcmspOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSB4 Y2hnKCZlbmdpbmUtPnJldGlyZSwgTlVMTCk7CisKKwlkbyB7CisJCXN0cnVjdCBpbnRlbF90aW1l bGluZSAqbmV4dCA9IHhjaGcoJnRsLT5yZXRpcmUsIE5VTEwpOworCisJCS8qCisJCSAqIE91ciBn b2FsIGhlcmUgaXMgdG8gcmV0aXJlIF9pZGxlXyB0aW1lbGluZXMgYXMgc29vbiBhcworCQkgKiBw b3NzaWJsZSAoYXMgdGhleSBhcmUgaWRsZSwgd2UgZG8gbm90IGV4cGVjdCB1c2Vyc3BhY2UKKwkJ ICogdG8gYmUgY2xlYW5pbmcgdXAgYW55dGltZSBzb29uKS4KKwkJICoKKwkJICogSWYgdGhlIHRs LT5hY3RpdmVfY291bnQgaXMgYWxyZWFkeSB6ZXJvLCBzb21lb25lIGVsc2UKKwkJICogc2hvdWxk IGhhdmUgcmV0aXJlZCB0aGUgdGltZWxpbmUuIEVxdWFsbHkgaWYgdGhlIHRpbWVsaW5lCisJCSAq IGlzIGN1cnJlbnRseSBsb2NrZWQsIGVpdGhlciBpdCBpcyBiZWluZyByZXRpcmVkIGVsc2V3aGVy ZQorCQkgKiBvciBhYm91dCB0byBiZSEKKwkJICovCisJCWlmIChhdG9taWNfcmVhZCgmdGwtPmFj dGl2ZV9jb3VudCkgJiYKKwkJICAgIG11dGV4X3RyeWxvY2soJnRsLT5tdXRleCkpIHsKKwkJCXJl dGlyZV9yZXF1ZXN0cyh0bCk7CisJCQltdXRleF91bmxvY2soJnRsLT5tdXRleCk7CisJCX0KKwkJ aW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKKworCQlHRU1fQlVHX09OKCFuZXh0KTsKKwkJdGwgPSBw dHJfbWFza19iaXRzKG5leHQsIDEpOworCX0gd2hpbGUgKHRsKTsKK30KKworc3RhdGljIGJvb2wg YWRkX3JldGlyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQoreworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqZmlyc3Qg PSBSRUFEX09OQ0UoZW5naW5lLT5yZXRpcmUpOworCisJLyoKKwkgKiBXZSBvcGVuLWNvZGUgYSBs bGlzdCBoZXJlIHRvIGluY2x1ZGUgdGhlIGFkZGl0aW9uYWwgdGFnIFtCSVQoMCldCisJICogc28g dGhhdCB3ZSBrbm93IHdoZW4gdGhlIHRpbWVsaW5lIGlzIGFscmVhZHkgb24gYQorCSAqIHJldGly ZW1lbnQgcXVldWU6IGVpdGhlciB0aGlzIGVuZ2luZSBvciBhbm90aGVyLgorCSAqCisJICogSG93 ZXZlciwgd2UgcmVseSBvbiB0aGF0IGEgdGltZWxpbmUgY2FuIG9ubHkgYmUgYWN0aXZlIG9uIGEg c2luZ2xlCisJICogZW5naW5lIGF0IGFueSBvbmUgdGltZSBhbmQgdGhhdCBhZGRfcmV0aXJlKCkg aXMgY2FsbGVkIGJlZm9yZSB0aGUKKwkgKiBlbmdpbmUgcmVsZWFzZXMgdGhlIHRpbWVsaW5lIGFu ZCB0cmFuc2ZlcnJlZCB0byBhbm90aGVyIHRvIHJldGlyZS4KKwkgKi8KKworCWlmIChSRUFEX09O Q0UodGwtPnJldGlyZSkpIC8qIGFscmVhZHkgcXVldWVkICovCisJCXJldHVybiBmYWxzZTsKKwor CWludGVsX3RpbWVsaW5lX2dldCh0bCk7CisJZG8KKwkJdGwtPnJldGlyZSA9IHB0cl9wYWNrX2Jp dHMoZmlyc3QsIDEsIDEpOworCXdoaWxlICghdHJ5X2NtcHhjaGcoJmVuZ2luZS0+cmV0aXJlLCAm Zmlyc3QsIHRsKSk7CisKKwlyZXR1cm4gIWZpcnN0OworfQorCit2b2lkIGludGVsX2VuZ2luZV9h ZGRfcmV0aXJlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSAgICAgc3RydWN0 IGludGVsX3RpbWVsaW5lICp0bCkKK3sKKwlpZiAoYWRkX3JldGlyZShlbmdpbmUsIHRsKSkKKwkJ c2NoZWR1bGVfd29yaygmZW5naW5lLT5yZXRpcmVfd29yayk7Cit9CisKK3ZvaWQgaW50ZWxfZW5n aW5lX2luaXRfcmV0aXJlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlJTklU X1dPUksoJmVuZ2luZS0+cmV0aXJlX3dvcmssIGVuZ2luZV9yZXRpcmUpOworfQorCit2b2lkIGlu dGVsX2VuZ2luZV9maW5pX3JldGlyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7 CisJZmx1c2hfd29yaygmZW5naW5lLT5yZXRpcmVfd29yayk7Cit9CisKIGxvbmcgaW50ZWxfZ3Rf cmV0aXJlX3JlcXVlc3RzX3RpbWVvdXQoc3RydWN0IGludGVsX2d0ICpndCwgbG9uZyB0aW1lb3V0 KQogewogCXN0cnVjdCBpbnRlbF9ndF90aW1lbGluZXMgKnRpbWVsaW5lcyA9ICZndC0+dGltZWxp bmVzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVxdWVz dHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmgKaW5kZXgg ZmRlNTQ2NDI0YzYzLi44ZGU1NTliNWEwMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfZ3RfcmVxdWVzdHMuaApAQCAtNyw3ICs3LDEyIEBACiAjaWZuZGVmIElOVEVMX0dUX1JF UVVFU1RTX0gKICNkZWZpbmUgSU5URUxfR1RfUkVRVUVTVFNfSAogCi1zdHJ1Y3QgaW50ZWxfZ3Q7 CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisKKyNpbmNsdWRlICJpbnRlbF9ndF90eXBl cy5oIgorCitzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzOworc3RydWN0IGludGVsX3RpbWVsaW5lOwog CiBsb25nIGludGVsX2d0X3JldGlyZV9yZXF1ZXN0c190aW1lb3V0KHN0cnVjdCBpbnRlbF9ndCAq Z3QsIGxvbmcgdGltZW91dCk7CiBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfZ3RfcmV0aXJlX3Jl cXVlc3RzKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCkBAIC0xNSw2ICsyMCwxNiBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgaW50ZWxfZ3RfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAJ aW50ZWxfZ3RfcmV0aXJlX3JlcXVlc3RzX3RpbWVvdXQoZ3QsIDApOwogfQogCitzdGF0aWMgaW5s aW5lIHZvaWQgaW50ZWxfZ3Rfc2NoZWR1bGVfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9n dCAqZ3QpCit7CisJbW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fd3EsICZndC0+cmVxdWVzdHMucmV0 aXJlX3dvcmssIDApOworfQorCit2b2lkIGludGVsX2VuZ2luZV9pbml0X3JldGlyZShzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwordm9pZCBpbnRlbF9lbmdpbmVfYWRkX3JldGlyZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCQkgICAgIHN0cnVjdCBpbnRlbF90aW1l bGluZSAqdGwpOwordm9pZCBpbnRlbF9lbmdpbmVfZmluaV9yZXRpcmUoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKTsKKwogaW50IGludGVsX2d0X3dhaXRfZm9yX2lkbGUoc3RydWN0IGlu dGVsX2d0ICpndCwgbG9uZyB0aW1lb3V0KTsKIAogdm9pZCBpbnRlbF9ndF9pbml0X3JlcXVlc3Rz KHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwppbmRl eCBiNjViYzA2ODU1YjAuLjJjZWFhMmYyMjk5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf bHJjLmMKQEAgLTE0Miw2ICsxNDIsNyBAQAogI2luY2x1ZGUgImludGVsX2VuZ2luZV9wbS5oIgog I2luY2x1ZGUgImludGVsX2d0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZ3RfcG0uaCIKKyNpbmNsdWRl ICJpbnRlbF9ndF9yZXF1ZXN0cy5oIgogI2luY2x1ZGUgImludGVsX2xyY19yZWcuaCIKICNpbmNs dWRlICJpbnRlbF9tb2NzLmgiCiAjaW5jbHVkZSAiaW50ZWxfcmVzZXQuaCIKQEAgLTExNzAsNiAr MTE3MSwxNCBAQCBfX2V4ZWNsaXN0c19zY2hlZHVsZV9vdXQoc3RydWN0IGk5MTVfcmVxdWVzdCAq cnEsCiAJICogcmVmcmFpbiBmcm9tIGRvaW5nIG5vbi10cml2aWFsIHdvcmsgaGVyZS4KIAkgKi8K IAorCS8qCisJICogSWYgd2UgaGF2ZSBqdXN0IGNvbXBsZXRlZCB0aGlzIGNvbnRleHQsIHRoZSBl bmdpbmUgbWF5IG5vdyBiZQorCSAqIGlkbGUgYW5kIHdlIHdhbnQgdG8gcmUtZW50ZXIgcG93ZXJz YXZpbmcuCisJICovCisJaWYgKGxpc3RfaXNfbGFzdCgmcnEtPmxpbmssICZjZS0+dGltZWxpbmUt PnJlcXVlc3RzKSAmJgorCSAgICBpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJxKSkKKwkJaW50ZWxf ZW5naW5lX2FkZF9yZXRpcmUoZW5naW5lLCBjZS0+dGltZWxpbmUpOworCiAJaW50ZWxfZW5naW5l X2NvbnRleHRfb3V0KGVuZ2luZSk7CiAJZXhlY2xpc3RzX2NvbnRleHRfc3RhdHVzX2NoYW5nZShy cSwgSU5URUxfQ09OVEVYVF9TQ0hFRFVMRV9PVVQpOwogCWludGVsX2d0X3BtX3B1dF9hc3luYyhl bmdpbmUtPmd0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Rp bWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCmluZGV4 IGIxOTBhNWQ5YWIwMi4uYzFkMjQxOTQ0NGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3RpbWVsaW5lLmMKQEAgLTI3Nyw2ICsyNzcsNyBAQCB2b2lkIGludGVsX3RpbWVsaW5lX2Zp bmkoc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSkKIHsKIAlHRU1fQlVHX09OKGF0b21p Y19yZWFkKCZ0aW1lbGluZS0+cGluX2NvdW50KSk7CiAJR0VNX0JVR19PTighbGlzdF9lbXB0eSgm dGltZWxpbmUtPnJlcXVlc3RzKSk7CisJR0VNX0JVR19PTih0aW1lbGluZS0+cmV0aXJlKTsKIAog CWlmICh0aW1lbGluZS0+aHdzcF9jYWNoZWxpbmUpCiAJCWNhY2hlbGluZV9mcmVlKHRpbWVsaW5l LT5od3NwX2NhY2hlbGluZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF90aW1lbGluZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGlt ZWxpbmVfdHlwZXMuaAppbmRleCA1MjQ0NjE1ZWQxY2IuLmFhZjE1Y2JlMWNlMSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZV90eXBlcy5oCkBAIC02Niw2ICs2 Niw5IEBAIHN0cnVjdCBpbnRlbF90aW1lbGluZSB7CiAJICovCiAJc3RydWN0IGk5MTVfYWN0aXZl X2ZlbmNlIGxhc3RfcmVxdWVzdDsKIAorCS8qKiBBIGNoYWluIG9mIGNvbXBsZXRlZCB0aW1lbGlu ZXMgcmVhZHkgZm9yIGVhcmx5IHJldGlyZW1lbnQuICovCisJc3RydWN0IGludGVsX3RpbWVsaW5l ICpyZXRpcmU7CisKIAkvKioKIAkgKiBXZSB0cmFjayB0aGUgbW9zdCByZWNlbnQgc2Vxbm8gdGhh dCB3ZSB3YWl0IG9uIGluIGV2ZXJ5IGNvbnRleHQgc28KIAkgKiB0aGF0IHdlIG9ubHkgaGF2ZSB0 byBlbWl0IGEgbmV3IGF3YWl0IGFuZCBkZXBlbmRlbmN5IG9uIGEgbW9yZQotLSAKMi4yNC4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,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 63586C432C0 for ; Wed, 20 Nov 2019 09:33:23 +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 30FCF22311 for ; Wed, 20 Nov 2019 09:33:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 30FCF22311 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk 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 CF8076E137; Wed, 20 Nov 2019 09:33:22 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5DFCF6E137 for ; Wed, 20 Nov 2019 09:33:21 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 19267952-1500050 for multiple; Wed, 20 Nov 2019 09:33:06 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Wed, 20 Nov 2019 09:33:02 +0000 Message-Id: <20191120093302.3723715-9-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191120093302.3723715-1-chris@chris-wilson.co.uk> References: <20191120093302.3723715-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 9/9] drm/i915/gt: Schedule request retirement when timeline idles X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191120093302.erptnlraULhskGhhAucSWhlxsPnIy3m_LoKRwA6ZjnE@z> VGhlIG1ham9yIGRyYXdiYWNrIG9mIGNvbW1pdCA3ZTM0ZjRlNGFhZDMgKCJkcm0vaTkxNS9nZW44 KzogQWRkIFJDNiBDVFgKY29ycnVwdGlvbiBXQSIpIGlzIHRoYXQgaXQgZGlzYWJsZXMgUkM2IHdo aWxlIFNreWxha2UgKGFuZCBmcmllbmRzKSBpcwphY3RpdmUsIGFuZCB3ZSBkbyBub3QgY29uc2lk ZXIgdGhlIEdQVSBpZGxlIHVudGlsIGFsbCBvdXRzdGFuZGluZwpyZXF1ZXN0cyBoYXZlIGJlZW4g cmV0aXJlZCBhbmQgdGhlIGVuZ2luZSBzd2l0Y2hlZCBvdmVyIHRvIHRoZSBrZXJuZWwKY29udGV4 dC4gSWYgdXNlcnNwYWNlIGlzIGlkbGUsIHRoaXMgdGFzayBmYWxscyBvbnRvIG91ciBiYWNrZ3Jv dW5kIGlkbGUKd29ya2VyLCB3aGljaCBvbmx5IHJ1bnMgcm91Z2hseSBvbmNlIGEgc2Vjb25kLCBt ZWFuaW5nIHRoYXQgdXNlcnNwYWNlIGhhcwp0byBoYXZlIGJlZW4gaWRsZSBmb3IgYSBjb3VwbGUg b2Ygc2Vjb25kcyBiZWZvcmUgd2UgZW5hYmxlIFJDNiBhZ2Fpbi4KTmF0dXJhbGx5LCB0aGlzIGNh dXNlcyB1cyB0byBjb25zdW1lIGNvbnNpZGVyYWJseSBtb3JlIGVuZXJneSB0aGFuCmJlZm9yZSBh cyBwb3dlcnNhdmluZyBpcyBlZmZlY3RpdmVseSBkaXNhYmxlZCB3aGlsZSBhIGRpc3BsYXkgc2Vy dmVyCihoZXJlJ3MgbG9va2luZyBhdCB5b3UgWG9yZykgaXMgcnVubmluZy4KCkFzIGV4ZWNsaXN0 cyB3aWxsIGdldCBhIGNvbXBsZXRpb24gZXZlbnQgYXMgZWFjaCBjb250ZXh0IGlzIGNvbXBsZXRl ZCwKd2UgY2FuIHVzZSB0aGlzIGludGVycnVwdCB0byBxdWV1ZSBhIHJldGlyZSB3b3JrZXIgYm91 bmQgdG8gdGhpcyBlbmdpbmUKdG8gY2xlYW51cCBpZGxlIHRpbWVsaW5lcy4gV2Ugd2lsbCB0aGVu IGltbWVkaWF0ZWx5IG5vdGljZSB0aGUgaWRsZQplbmdpbmUgKHdpdGhvdXQgdXNlcnNwYWNlIGlu dGVydmVudGlvbiBvciB0aGUgYWlkIG9mIHRoZSBiYWNrZ3JvdW5kCnJldGlyZSB3b3JrZXIpIGFu ZCBzdGFydCBwYXJraW5nIHRoZSBHUFUuIFRodXMgZHVyaW5nIGxpZ2h0IHdvcmtsb2FkcywKd2Ug d2lsbCBkbyBtdWNoIG1vcmUgd29yayB0byBpZGxlIHRoZSBHUFUgZmFzdGVyLi4uICBIb3BlZnVs bHkgd2l0aApjb21tZW5zdXJhdGUgcG93ZXIgc2F2aW5nIQoKdjI6IFdhdGNoIGNvbnRleHQgY29t cGxldGlvbnMgYW5kIG9ubHkgbG9vayBhdCB0aG9zZSBsb2NhbCB0byB0aGUgZW5naW5lCndoZW4g cmV0aXJpbmcgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgZXhjZXNzIHdvcmsgd2UgcGVyZm9ybS4K ClJlZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lk PTExMjMxNQpSZWZlcmVuY2VzOiA3ZTM0ZjRlNGFhZDMgKCJkcm0vaTkxNS9nZW44KzogQWRkIFJD NiBDVFggY29ycnVwdGlvbiBXQSIpClJlZmVyZW5jZXM6IDIyNDhhMjgzODRmZSAoImRybS9pOTE1 L2dlbjgrOiBBZGQgUkM2IENUWCBjb3JydXB0aW9uIFdBIikKU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9jcy5jICAgICB8ICA4ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmVfdHlwZXMuaCAgfCAgOCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3Rf cmVxdWVzdHMuYyAgIHwgNzQgKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3RfcmVxdWVzdHMuaCAgIHwgMTcgKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgICB8ICA5ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyAgICAgIHwgIDEgKwogLi4uL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF90aW1lbGluZV90eXBlcy5oICAgIHwgIDMgKwogNyBmaWxlcyBjaGFuZ2VkLCAxMTYgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9jcy5jCmluZGV4IGI5NjEzZDA0NDM5My4uOGY2ZTM1M2NhYTY2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMjgsMTMgKzI4LDEzIEBACiAK ICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCi0jaW5jbHVkZSAiZ3QvaW50ZWxfZ3QuaCIKLQorI2lu Y2x1ZGUgImludGVsX2NvbnRleHQuaCIKICNpbmNsdWRlICJpbnRlbF9lbmdpbmUuaCIKICNpbmNs dWRlICJpbnRlbF9lbmdpbmVfcG0uaCIKICNpbmNsdWRlICJpbnRlbF9lbmdpbmVfcG9vbC5oIgog I2luY2x1ZGUgImludGVsX2VuZ2luZV91c2VyLmgiCi0jaW5jbHVkZSAiaW50ZWxfY29udGV4dC5o IgorI2luY2x1ZGUgImludGVsX2d0LmgiCisjaW5jbHVkZSAiaW50ZWxfZ3RfcmVxdWVzdHMuaCIK ICNpbmNsdWRlICJpbnRlbF9scmMuaCIKICNpbmNsdWRlICJpbnRlbF9yZXNldC5oIgogI2luY2x1 ZGUgImludGVsX3JpbmcuaCIKQEAgLTYxNyw2ICs2MTcsNyBAQCBzdGF0aWMgaW50IGludGVsX2Vu Z2luZV9zZXR1cF9jb21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWludGVs X2VuZ2luZV9pbml0X2V4ZWNsaXN0cyhlbmdpbmUpOwogCWludGVsX2VuZ2luZV9pbml0X2NtZF9w YXJzZXIoZW5naW5lKTsKIAlpbnRlbF9lbmdpbmVfaW5pdF9fcG0oZW5naW5lKTsKKwlpbnRlbF9l bmdpbmVfaW5pdF9yZXRpcmUoZW5naW5lKTsKIAogCWludGVsX2VuZ2luZV9wb29sX2luaXQoJmVu Z2luZS0+cG9vbCk7CiAKQEAgLTgzOSw2ICs4NDAsNyBAQCB2b2lkIGludGVsX2VuZ2luZV9jbGVh bnVwX2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAKIAljbGVhbnVwX3N0 YXR1c19wYWdlKGVuZ2luZSk7CiAKKwlpbnRlbF9lbmdpbmVfZmluaV9yZXRpcmUoZW5naW5lKTsK IAlpbnRlbF9lbmdpbmVfcG9vbF9maW5pKCZlbmdpbmUtPnBvb2wpOwogCWludGVsX2VuZ2luZV9m aW5pX2JyZWFkY3J1bWJzKGVuZ2luZSk7CiAJaW50ZWxfZW5naW5lX2NsZWFudXBfY21kX3BhcnNl cihlbmdpbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5n aW5lX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMu aAppbmRleCA3NThmMGU4ZWM2NzIuLjE3ZjFmMTQ0MWVmYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKQEAgLTQ1MSw2ICs0NTEsMTQgQEAgc3RydWN0 IGludGVsX2VuZ2luZV9jcyB7CiAKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyBleGVj bGlzdHM7CiAKKwkvKgorCSAqIEtlZXAgdHJhY2sgb2YgY29tcGxldGVkIHRpbWVsaW5lcyBvbiB0 aGlzIGVuZ2luZSBmb3IgZWFybHkKKwkgKiByZXRpcmVtZW50IHdpdGggdGhlIGdvYWwgb2YgcXVp Y2tseSBlbmFibGluZyBwb3dlcnNhdmluZyBhcworCSAqIHNvb24gYXMgdGhlIGVuZ2luZSBpcyBp ZGxlLgorCSAqLworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqcmV0aXJlOworCXN0cnVjdCB3b3Jr X3N0cnVjdCByZXRpcmVfd29yazsKKwogCS8qIHN0YXR1c19ub3RpZmllcjogbGlzdCBvZiBjYWxs YmFja3MgZm9yIGNvbnRleHQtc3dpdGNoIGNoYW5nZXMgKi8KIAlzdHJ1Y3QgYXRvbWljX25vdGlm aWVyX2hlYWQgY29udGV4dF9zdGF0dXNfbm90aWZpZXI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5jCmluZGV4IDRkYzNjYmViMWIzNi4uNGE5OGZlZmRmOTE1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9yZXF1ZXN0cy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmMKQEAgLTI5 LDYgKzI5LDgwIEBAIHN0YXRpYyB2b2lkIGZsdXNoX3N1Ym1pc3Npb24oc3RydWN0IGludGVsX2d0 ICpndCkKIAkJaW50ZWxfZW5naW5lX2ZsdXNoX3N1Ym1pc3Npb24oZW5naW5lKTsKIH0KIAorc3Rh dGljIHZvaWQgZW5naW5lX3JldGlyZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0KKwkJY29udGFpbmVyX29mKHdvcmssIHR5cGVv ZigqZW5naW5lKSwgcmV0aXJlX3dvcmspOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSB4 Y2hnKCZlbmdpbmUtPnJldGlyZSwgTlVMTCk7CisKKwlkbyB7CisJCXN0cnVjdCBpbnRlbF90aW1l bGluZSAqbmV4dCA9IHhjaGcoJnRsLT5yZXRpcmUsIE5VTEwpOworCisJCS8qCisJCSAqIE91ciBn b2FsIGhlcmUgaXMgdG8gcmV0aXJlIF9pZGxlXyB0aW1lbGluZXMgYXMgc29vbiBhcworCQkgKiBw b3NzaWJsZSAoYXMgdGhleSBhcmUgaWRsZSwgd2UgZG8gbm90IGV4cGVjdCB1c2Vyc3BhY2UKKwkJ ICogdG8gYmUgY2xlYW5pbmcgdXAgYW55dGltZSBzb29uKS4KKwkJICoKKwkJICogSWYgdGhlIHRs LT5hY3RpdmVfY291bnQgaXMgYWxyZWFkeSB6ZXJvLCBzb21lb25lIGVsc2UKKwkJICogc2hvdWxk IGhhdmUgcmV0aXJlZCB0aGUgdGltZWxpbmUuIEVxdWFsbHkgaWYgdGhlIHRpbWVsaW5lCisJCSAq IGlzIGN1cnJlbnRseSBsb2NrZWQsIGVpdGhlciBpdCBpcyBiZWluZyByZXRpcmVkIGVsc2V3aGVy ZQorCQkgKiBvciBhYm91dCB0byBiZSEKKwkJICovCisJCWlmIChhdG9taWNfcmVhZCgmdGwtPmFj dGl2ZV9jb3VudCkgJiYKKwkJICAgIG11dGV4X3RyeWxvY2soJnRsLT5tdXRleCkpIHsKKwkJCXJl dGlyZV9yZXF1ZXN0cyh0bCk7CisJCQltdXRleF91bmxvY2soJnRsLT5tdXRleCk7CisJCX0KKwkJ aW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKKworCQlHRU1fQlVHX09OKCFuZXh0KTsKKwkJdGwgPSBw dHJfbWFza19iaXRzKG5leHQsIDEpOworCX0gd2hpbGUgKHRsKTsKK30KKworc3RhdGljIGJvb2wg YWRkX3JldGlyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQoreworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqZmlyc3Qg PSBSRUFEX09OQ0UoZW5naW5lLT5yZXRpcmUpOworCisJLyoKKwkgKiBXZSBvcGVuLWNvZGUgYSBs bGlzdCBoZXJlIHRvIGluY2x1ZGUgdGhlIGFkZGl0aW9uYWwgdGFnIFtCSVQoMCldCisJICogc28g dGhhdCB3ZSBrbm93IHdoZW4gdGhlIHRpbWVsaW5lIGlzIGFscmVhZHkgb24gYQorCSAqIHJldGly ZW1lbnQgcXVldWU6IGVpdGhlciB0aGlzIGVuZ2luZSBvciBhbm90aGVyLgorCSAqCisJICogSG93 ZXZlciwgd2UgcmVseSBvbiB0aGF0IGEgdGltZWxpbmUgY2FuIG9ubHkgYmUgYWN0aXZlIG9uIGEg c2luZ2xlCisJICogZW5naW5lIGF0IGFueSBvbmUgdGltZSBhbmQgdGhhdCBhZGRfcmV0aXJlKCkg aXMgY2FsbGVkIGJlZm9yZSB0aGUKKwkgKiBlbmdpbmUgcmVsZWFzZXMgdGhlIHRpbWVsaW5lIGFu ZCB0cmFuc2ZlcnJlZCB0byBhbm90aGVyIHRvIHJldGlyZS4KKwkgKi8KKworCWlmIChSRUFEX09O Q0UodGwtPnJldGlyZSkpIC8qIGFscmVhZHkgcXVldWVkICovCisJCXJldHVybiBmYWxzZTsKKwor CWludGVsX3RpbWVsaW5lX2dldCh0bCk7CisJZG8KKwkJdGwtPnJldGlyZSA9IHB0cl9wYWNrX2Jp dHMoZmlyc3QsIDEsIDEpOworCXdoaWxlICghdHJ5X2NtcHhjaGcoJmVuZ2luZS0+cmV0aXJlLCAm Zmlyc3QsIHRsKSk7CisKKwlyZXR1cm4gIWZpcnN0OworfQorCit2b2lkIGludGVsX2VuZ2luZV9h ZGRfcmV0aXJlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKKwkJCSAgICAgc3RydWN0 IGludGVsX3RpbWVsaW5lICp0bCkKK3sKKwlpZiAoYWRkX3JldGlyZShlbmdpbmUsIHRsKSkKKwkJ c2NoZWR1bGVfd29yaygmZW5naW5lLT5yZXRpcmVfd29yayk7Cit9CisKK3ZvaWQgaW50ZWxfZW5n aW5lX2luaXRfcmV0aXJlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlJTklU X1dPUksoJmVuZ2luZS0+cmV0aXJlX3dvcmssIGVuZ2luZV9yZXRpcmUpOworfQorCit2b2lkIGlu dGVsX2VuZ2luZV9maW5pX3JldGlyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7 CisJZmx1c2hfd29yaygmZW5naW5lLT5yZXRpcmVfd29yayk7Cit9CisKIGxvbmcgaW50ZWxfZ3Rf cmV0aXJlX3JlcXVlc3RzX3RpbWVvdXQoc3RydWN0IGludGVsX2d0ICpndCwgbG9uZyB0aW1lb3V0 KQogewogCXN0cnVjdCBpbnRlbF9ndF90aW1lbGluZXMgKnRpbWVsaW5lcyA9ICZndC0+dGltZWxp bmVzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcmVxdWVz dHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmgKaW5kZXgg ZmRlNTQ2NDI0YzYzLi44ZGU1NTliNWEwMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2d0X3JlcXVlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfZ3RfcmVxdWVzdHMuaApAQCAtNyw3ICs3LDEyIEBACiAjaWZuZGVmIElOVEVMX0dUX1JF UVVFU1RTX0gKICNkZWZpbmUgSU5URUxfR1RfUkVRVUVTVFNfSAogCi1zdHJ1Y3QgaW50ZWxfZ3Q7 CisjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CisKKyNpbmNsdWRlICJpbnRlbF9ndF90eXBl cy5oIgorCitzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzOworc3RydWN0IGludGVsX3RpbWVsaW5lOwog CiBsb25nIGludGVsX2d0X3JldGlyZV9yZXF1ZXN0c190aW1lb3V0KHN0cnVjdCBpbnRlbF9ndCAq Z3QsIGxvbmcgdGltZW91dCk7CiBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfZ3RfcmV0aXJlX3Jl cXVlc3RzKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCkBAIC0xNSw2ICsyMCwxNiBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgaW50ZWxfZ3RfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAJ aW50ZWxfZ3RfcmV0aXJlX3JlcXVlc3RzX3RpbWVvdXQoZ3QsIDApOwogfQogCitzdGF0aWMgaW5s aW5lIHZvaWQgaW50ZWxfZ3Rfc2NoZWR1bGVfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9n dCAqZ3QpCit7CisJbW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1fd3EsICZndC0+cmVxdWVzdHMucmV0 aXJlX3dvcmssIDApOworfQorCit2b2lkIGludGVsX2VuZ2luZV9pbml0X3JldGlyZShzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpOwordm9pZCBpbnRlbF9lbmdpbmVfYWRkX3JldGlyZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCQkgICAgIHN0cnVjdCBpbnRlbF90aW1l bGluZSAqdGwpOwordm9pZCBpbnRlbF9lbmdpbmVfZmluaV9yZXRpcmUoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKTsKKwogaW50IGludGVsX2d0X3dhaXRfZm9yX2lkbGUoc3RydWN0IGlu dGVsX2d0ICpndCwgbG9uZyB0aW1lb3V0KTsKIAogdm9pZCBpbnRlbF9ndF9pbml0X3JlcXVlc3Rz KHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwppbmRl eCBiNjViYzA2ODU1YjAuLjJjZWFhMmYyMjk5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf bHJjLmMKQEAgLTE0Miw2ICsxNDIsNyBAQAogI2luY2x1ZGUgImludGVsX2VuZ2luZV9wbS5oIgog I2luY2x1ZGUgImludGVsX2d0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZ3RfcG0uaCIKKyNpbmNsdWRl ICJpbnRlbF9ndF9yZXF1ZXN0cy5oIgogI2luY2x1ZGUgImludGVsX2xyY19yZWcuaCIKICNpbmNs dWRlICJpbnRlbF9tb2NzLmgiCiAjaW5jbHVkZSAiaW50ZWxfcmVzZXQuaCIKQEAgLTExNzAsNiAr MTE3MSwxNCBAQCBfX2V4ZWNsaXN0c19zY2hlZHVsZV9vdXQoc3RydWN0IGk5MTVfcmVxdWVzdCAq cnEsCiAJICogcmVmcmFpbiBmcm9tIGRvaW5nIG5vbi10cml2aWFsIHdvcmsgaGVyZS4KIAkgKi8K IAorCS8qCisJICogSWYgd2UgaGF2ZSBqdXN0IGNvbXBsZXRlZCB0aGlzIGNvbnRleHQsIHRoZSBl bmdpbmUgbWF5IG5vdyBiZQorCSAqIGlkbGUgYW5kIHdlIHdhbnQgdG8gcmUtZW50ZXIgcG93ZXJz YXZpbmcuCisJICovCisJaWYgKGxpc3RfaXNfbGFzdCgmcnEtPmxpbmssICZjZS0+dGltZWxpbmUt PnJlcXVlc3RzKSAmJgorCSAgICBpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJxKSkKKwkJaW50ZWxf ZW5naW5lX2FkZF9yZXRpcmUoZW5naW5lLCBjZS0+dGltZWxpbmUpOworCiAJaW50ZWxfZW5naW5l X2NvbnRleHRfb3V0KGVuZ2luZSk7CiAJZXhlY2xpc3RzX2NvbnRleHRfc3RhdHVzX2NoYW5nZShy cSwgSU5URUxfQ09OVEVYVF9TQ0hFRFVMRV9PVVQpOwogCWludGVsX2d0X3BtX3B1dF9hc3luYyhl bmdpbmUtPmd0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Rp bWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCmluZGV4 IGIxOTBhNWQ5YWIwMi4uYzFkMjQxOTQ0NGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3RpbWVsaW5lLmMKQEAgLTI3Nyw2ICsyNzcsNyBAQCB2b2lkIGludGVsX3RpbWVsaW5lX2Zp bmkoc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSkKIHsKIAlHRU1fQlVHX09OKGF0b21p Y19yZWFkKCZ0aW1lbGluZS0+cGluX2NvdW50KSk7CiAJR0VNX0JVR19PTighbGlzdF9lbXB0eSgm dGltZWxpbmUtPnJlcXVlc3RzKSk7CisJR0VNX0JVR19PTih0aW1lbGluZS0+cmV0aXJlKTsKIAog CWlmICh0aW1lbGluZS0+aHdzcF9jYWNoZWxpbmUpCiAJCWNhY2hlbGluZV9mcmVlKHRpbWVsaW5l LT5od3NwX2NhY2hlbGluZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF90aW1lbGluZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGlt ZWxpbmVfdHlwZXMuaAppbmRleCA1MjQ0NjE1ZWQxY2IuLmFhZjE1Y2JlMWNlMSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZV90eXBlcy5oCkBAIC02Niw2ICs2 Niw5IEBAIHN0cnVjdCBpbnRlbF90aW1lbGluZSB7CiAJICovCiAJc3RydWN0IGk5MTVfYWN0aXZl X2ZlbmNlIGxhc3RfcmVxdWVzdDsKIAorCS8qKiBBIGNoYWluIG9mIGNvbXBsZXRlZCB0aW1lbGlu ZXMgcmVhZHkgZm9yIGVhcmx5IHJldGlyZW1lbnQuICovCisJc3RydWN0IGludGVsX3RpbWVsaW5l ICpyZXRpcmU7CisKIAkvKioKIAkgKiBXZSB0cmFjayB0aGUgbW9zdCByZWNlbnQgc2Vxbm8gdGhh dCB3ZSB3YWl0IG9uIGluIGV2ZXJ5IGNvbnRleHQgc28KIAkgKiB0aGF0IHdlIG9ubHkgaGF2ZSB0 byBlbWl0IGEgbmV3IGF3YWl0IGFuZCBkZXBlbmRlbmN5IG9uIGEgbW9yZQotLSAKMi4yNC4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=