From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: [PATCH 09/20] drm/i915: Watchdog timeout: Ringbuffer command emission for gen8 Date: Fri, 23 Oct 2015 02:32:31 +0100 Message-ID: <1445563962-20753-10-git-send-email-tomas.elf@intel.com> References: <1445563962-20753-1-git-send-email-tomas.elf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 8BBCA6E761 for ; Thu, 22 Oct 2015 18:33:25 -0700 (PDT) In-Reply-To: <1445563962-20753-1-git-send-email-tomas.elf@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: Ian Lister List-Id: intel-gfx@lists.freedesktop.org KioqIEdlbmVyYWwgKioqCgpXYXRjaGRvZyB0aW1lb3V0IChvciAibWVkaWEgZW5naW5lIHJlc2V0 IikgaXMgYSBmZWF0dXJlIHRoYXQgYWxsb3dzIHVzZXJsYW5kCmFwcGxpY2F0aW9ucyB0byBlbmFi bGUgaGFuZyBkZXRlY3Rpb24gb24gaW5kaXZpZHVhbCBiYXRjaCBidWZmZXJzLiBUaGUKZGV0ZWN0 aW9uIG1lY2hhbmlzbSBpdHNlbGYgaXMgbW9zdGx5IGJvdW5kIHRvIHRoZSBoYXJkd2FyZSBhbmQg dGhlIG9ubHkgdGhpbmcKdGhhdCB0aGUgZHJpdmVyIG5lZWRzIHRvIGRvIHRvIHN1cHBvcnQgdGhp cyBmb3JtIG9mIGhhbmcgZGV0ZWN0aW9uIGlzIHRvCmltcGxlbWVudCB0aGUgaW50ZXJydXB0IGhh bmRsaW5nIHN1cHBvcnQgYXMgd2VsbCBhcyB3YXRjaGRvZyBjb21tYW5kIGVtaXNzaW9uCmJlZm9y ZSBhbmQgYWZ0ZXIgdGhlIGVtaXR0ZWQgYmF0Y2ggYnVmZmVyIHN0YXJ0IGluc3RydWN0aW9uIGlu IHRoZSByaW5nIGJ1ZmZlci4KClRoZSBwcmluY2lwbGUgb2YgdGhlIGhhbmcgZGV0ZWN0aW9uIG1l Y2hhbmlzbSBpcyBhcyBmb2xsb3dzOgoKMS4gT25jZSB0aGUgZGVjaXNpb24gaGFzIGJlZW4gbWFk ZSB0byBlbmFibGUgd2F0Y2hkb2cgdGltZW91dCBmb3IgYSBwYXJ0aWN1bGFyCmJhdGNoIGJ1ZmZl ciBhbmQgdGhlIGRyaXZlciBpcyBpbiB0aGUgcHJvY2VzcyBvZiBlbWl0dGluZyB0aGUgYmF0Y2gg YnVmZmVyCnN0YXJ0IGluc3RydWN0aW9uIGludG8gdGhlIHJpbmcgYnVmZmVyIGl0IGFsc28gZW1p dHMgYSB3YXRjaGRvZyB0aW1lciBzdGFydAppbnN0cnVjdGlvbiBiZWZvcmUgYW5kIGEgd2F0Y2hk b2cgdGltZXIgY2FuY2VsbGF0aW9uIGluc3RydWN0aW9uIGFmdGVyIHRoZQpiYXRjaCBidWZmZXIg c3RhcnQgaW5zdHJ1Y3Rpb24gaW4gdGhlIHJpbmcgYnVmZmVyLgoKMi4gT25jZSB0aGUgR1BVIGV4 ZWN1dGlvbiByZWFjaGVzIHRoZSB3YXRjaGRvZyB0aW1lciBzdGFydCBpbnN0cnVjdGlvbiB0aGUK aGFyZHdhcmUgd2F0Y2hkb2cgY291bnRlciBpcyBzdGFydGVkIGJ5IHRoZSBoYXJkd2FyZS4gVGhl IGNvdW50ZXIga2VlcHMKY291bnRpbmcgdW50aWwgZWl0aGVyIHJlYWNoaW5nIGEgcHJldmlvdXNs eSBjb25maWd1cmVkIHRocmVzaG9sZCB2YWx1ZSBvciB0aGUKdGltZXIgY2FuY2VsbGF0aW9uIGlu c3RydWN0aW9uIGlzIGV4ZWN1dGVkLgoKMmEuIElmIHRoZSBjb3VudGVyIHJlYWNoZXMgdGhlIHRo cmVzaG9sZCB2YWx1ZSB0aGUgaGFyZHdhcmUgZmlyZXMgYSB3YXRjaGRvZwppbnRlcnJ1cHQgdGhh dCBpcyBwaWNrZWQgdXAgYnkgdGhlIHdhdGNoZG9nIGludGVycnVwdCBoYW5kbGVyLiBUaGlzIG1l YW5zIHRoYXQKYSBoYW5nIGhhcyBiZWVuIGRldGVjdGVkIGFuZCB0aGUgZHJpdmVyIG5lZWRzIHRv IGRlYWwgd2l0aCBpdCB0aGUgc2FtZSB3YXkgaXQKd291bGQgZGVhbCB3aXRoIGEgZW5naW5lIGhh bmcgZGV0ZWN0ZWQgYnkgdGhlIHBlcmlvZGljIGhhbmcgY2hlY2tlci4gVGhlIG9ubHkKZGlmZmVy ZW5jZSBiZXR3ZWVuIHRoZSB0d28gaXMgdGhhdCB3ZSBuZXZlciBwcm9tb3RlIGZ1bGwgR1BVIHJl c2V0IGZvbGxvd2luZyBhCndhdGNoZG9nIHRpbWVvdXQgaW4gY2FzZSBhIHBlci1lbmdpbmUgcmVz ZXQgd2FzIGF0dGVtcHRlZCB0b28gcmVjZW50bHkuIFRodXNseSwKdGhlIHdhdGNoZG9nIGludGVy cnVwdCBoYW5kbGVyIGNhbGxzIHRoZSBlcnJvciBoYW5kbGVyIGRpcmVjdGx5IHBhc3NpbmcgdGhl CmVuZ2luZSBtYXNrIG9mIHRoZSBodW5nIGVuZ2luZSBpbiBxdWVzdGlvbiwgd2hpY2ggaW1tZWRp YXRlbHkgcmVzdWx0cyBpbiBhCnBlci1lbmdpbmUgaGFuZyByZWNvdmVyeSBiZWluZyBzY2hlZHVs ZWQuCgoyYi4gSWYgdGhlIGJhdGNoIGJ1ZmZlciBjb21wbGV0ZXMgYW5kIHRoZSBleGVjdXRpb24g cmVhY2hlcyB0aGUgd2F0Y2hkb2cKY2FuY2VsbGF0aW9uIGluc3RydWN0aW9uIGJlZm9yZSB0aGUg d2F0Y2hkb2cgY291bnRlciByZWFjaGVzIGl0cyB0aHJlc2hvbGQKdmFsdWUgdGhlIHdhdGNoZG9n IGlzIGNhbmNlbGxlZCBhbmQgbm90aGluZyBtb3JlIGNvbWVzIG9mIGl0LiBObyBoYW5nIGlzCmRl dGVjdGVkLgoKKioqIFRoaXMgcGF0Y2ggaW50cm9kdWNlczogKioqCgoxLiBDb21tYW5kIGVtaXNz aW9uIGludG8gdGhlIHJpbmcgYnVmZmVyIGZvciBzdGFydGluZyBhbmQgc3RvcHBpbmcgdGhlIHdh dGNoZG9nCnRpbWVyIGJlZm9yZS9hZnRlciBiYXRjaCBidWZmZXIgc3RhcnQgZHVyaW5nIGJhdGNo IGJ1ZmZlciBzdWJtaXNzaW9uLgoKMi4gRmVhdHVyZSBzdXBwb3J0IHF1ZXJ5IGZ1bmN0aW9ucyBm b3IgdmVyaWZ5aW5nIHRoYXQgdGhlIHJlcXVlc3RlZCBlbmdpbmUKYWN0dWFsbHkgc3VwcG9ydHMg d2F0Y2hkb2cgdGltZW91dCBhbmQgZmFpbHMgdGhlIGJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uCm90 aGVyd2lzZS4KCk5PVEU6IEkgZG9uJ3Qga25vdyBpZiBCZW4gV2lkYXdza3kgaGFkIGFueSBwYXJ0 IGluIHRoaXMgY29kZSBmcm9tIDMgeWVhcnMgYWdvLgpUaGVyZSBoYXZlIGJlZW4gc28gbWFueSBw ZW9wbGUgaW52b2x2ZWQgaW4gdGhpcyBhbHJlYWR5IHRoYXQgSSBhbSBpbiBubwpwb3NpdGlvbiB0 byBrbm93LiBJZiBJJ3ZlIG1pc3NlZCBhbnlvbmUncyBzb2IgbGluZSBwbGVhc2UgbGV0IG1lIGtu b3cuCgpTaWduZWQtb2ZmLWJ5OiBUb21hcyBFbGYgPHRvbWFzLmVsZkBpbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IEFydW4gU2lsdXZlcnkgPGFydW4uc2lsdXZlcnlAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBJYW4gTGlzdGVyIDxpYW4ubGlzdGVyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA5OSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8IDIy ICsrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwppbmRleCA0MDYwN2RhLi4zMGNkMGFjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwpAQCAtMTA1Niw2ICsxMDU2LDgwIEBAIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfcmVz ZXJ2ZV9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAJcmV0dXJu IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyZXF1ZXN0LCAwKTsKIH0KIAorc3RhdGljIGludAor Z2VuOF9yaW5nX3N0YXJ0X3dhdGNoZG9nKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KQoreworCWludCByZXQ7CisJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXEt PnJpbmdidWY7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJpbmdidWYtPnJpbmc7 CisKKwlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmVxLCAxMCk7CisJaWYgKHJldCkK KwkJcmV0dXJuIHJldDsKKworCS8qCisJICogaTkxNV9yZWcuaCBpbmNsdWRlcyBhIHdhcm5pbmcg dG8gcGxhY2UgYSBNSV9OT09QCisJICogYmVmb3JlIGEgTUlfTE9BRF9SRUdJU1RFUl9JTU0KKwkg Ki8KKwlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKKwlpbnRlbF9s b2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKKworCS8qIFNldCBjb3VudGVyIHBl cmlvZCAqLworCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX0xPQURfUkVHSVNU RVJfSU1NKDEpKTsKKwlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBSSU5HX1RIUkVT SChyaW5nLT5tbWlvX2Jhc2UpKTsKKwlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBy aW5nLT53YXRjaGRvZ190aHJlc2hvbGQpOworCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdi dWYsIE1JX05PT1ApOworCisJLyogU3RhcnQgY291bnRlciAqLworCWludGVsX2xvZ2ljYWxfcmlu Z19lbWl0KHJpbmdidWYsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKKwlpbnRlbF9sb2dpY2Fs X3JpbmdfZW1pdChyaW5nYnVmLCBSSU5HX0NOVFIocmluZy0+bW1pb19iYXNlKSk7CisJaW50ZWxf bG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgSTkxNV9XQVRDSERPR19FTkFCTEUpOworCWludGVs X2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX05PT1ApOworCWludGVsX2xvZ2ljYWxfcmlu Z19hZHZhbmNlKHJpbmdidWYpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2dlbjhf cmluZ19zdG9wX3dhdGNoZG9nKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQorewor CWludCByZXQ7CisJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXEtPnJpbmdi dWY7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJpbmdidWYtPnJpbmc7CisKKwly ZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmVxLCA2KTsKKwlpZiAocmV0KQorCQlyZXR1 cm4gcmV0OworCisJLyoKKwkgKiBpOTE1X3JlZy5oIGluY2x1ZGVzIGEgd2FybmluZyB0byBwbGFj ZSBhIE1JX05PT1AKKwkgKiBiZWZvcmUgYSBNSV9MT0FEX1JFR0lTVEVSX0lNTQorCSAqLworCWlu dGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX05PT1ApOworCWludGVsX2xvZ2ljYWxf cmluZ19lbWl0KHJpbmdidWYsIE1JX05PT1ApOworCisJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQo cmluZ2J1ZiwgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOworCWludGVsX2xvZ2ljYWxfcmluZ19l bWl0KHJpbmdidWYsIFJJTkdfQ05UUihyaW5nLT5tbWlvX2Jhc2UpKTsKKworCXN3aXRjaCAocmlu Zy0+aWQpIHsKKwlkZWZhdWx0OgorCQlXQVJOKDEsICIlcyBkb2VzIG5vdCBzdXBwb3J0IHdhdGNo ZG9nIHRpbWVvdXQhICIgXAorCQkJIkRlZmF1bHRpbmcgdG8gcmVuZGVyIGVuZ2luZS5cbiIsIHJp bmctPm5hbWUpOworCWNhc2UgUkNTOgorCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVm LCBHRU42X1JDU19XQVRDSERPR19ESVNBQkxFKTsKKwkJYnJlYWs7CisJY2FzZSBWQ1M6CisJY2Fz ZSBWQ1MyOgorCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBHRU44X1ZDU19XQVRD SERPR19ESVNBQkxFKTsKKwkJYnJlYWs7CisJfQorCisJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQo cmluZ2J1ZiwgTUlfTk9PUCk7CisJaW50ZWxfbG9naWNhbF9yaW5nX2FkdmFuY2UocmluZ2J1Zik7 CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBleGVjbGlzdHNfc3VibWlzc2lvbigpIC0gc3Vi bWl0IGEgYmF0Y2hidWZmZXIgZm9yIGV4ZWN1dGlvbiwgRXhlY2xpc3RzIHN0eWxlCiAgKiBAZGV2 OiBEUk0gZGV2aWNlLgpAQCAtMTA4NSw2ICsxMTU5LDEyIEBAIGludCBpbnRlbF9leGVjbGlzdHNf c3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCWludCBp bnN0cF9tb2RlOwogCXUzMiBpbnN0cF9tYXNrOwogCWludCByZXQ7CisJYm9vbCB3YXRjaGRvZ19y dW5uaW5nID0gZmFsc2U7CisJLyoKKwkgKiBOQjogUGxhY2UtaG9sZGVyIHVudGlsIHdhdGNoZG9n IHRpbWVvdXQgaXMgZW5hYmxlZCB0aHJvdWdoIERSTQorCSAqIGV4ZWNidWYgaW50ZXJmYWNlCisJ ICovCisJYm9vbCBlbmFibGVfd2F0Y2hkb2cgPSBmYWxzZTsKIAogCWluc3RwX21vZGUgPSBhcmdz LT5mbGFncyAmIEk5MTVfRVhFQ19DT05TVEFOVFNfTUFTSzsKIAlpbnN0cF9tYXNrID0gSTkxNV9F WEVDX0NPTlNUQU5UU19NQVNLOwpAQCAtMTEyMSw2ICsxMjAxLDE4IEBAIGludCBpbnRlbF9leGVj bGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKKwkvKiBTdGFydCB3YXRjaGRvZyB0aW1lciAqLwor CWlmIChlbmFibGVfd2F0Y2hkb2cpIHsKKwkJaWYgKCFpbnRlbF9yaW5nX3N1cHBvcnRzX3dhdGNo ZG9nKHJpbmcpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJcmV0ID0gZ2VuOF9yaW5nX3N0YXJ0 X3dhdGNoZG9nKHBhcmFtcy0+cmVxdWVzdCk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0Owor CisJCXdhdGNoZG9nX3J1bm5pbmcgPSB0cnVlOworCX0KKwogCWlmIChyaW5nID09ICZkZXZfcHJp di0+cmluZ1tSQ1NdICYmCiAJICAgIGluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2Nv bnN0YW50c19tb2RlKSB7CiAJCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihwYXJhbXMt PnJlcXVlc3QsIDQpOwpAQCAtMTE0NSw2ICsxMjM3LDEzIEBAIGludCBpbnRlbF9leGVjbGlzdHNf c3VibWlzc2lvbihzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCiAJdHJh Y2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChwYXJhbXMtPnJlcXVlc3QsIHBhcmFtcy0+ZGlzcGF0 Y2hfZmxhZ3MpOwogCisJLyogQ2FuY2VsIHdhdGNoZG9nIHRpbWVyICovCisJaWYgKHdhdGNoZG9n X3J1bm5pbmcpIHsKKwkJcmV0ID0gZ2VuOF9yaW5nX3N0b3Bfd2F0Y2hkb2cocGFyYW1zLT5yZXF1 ZXN0KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCiAJaTkxNV9nZW1fZXhlY2J1 ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVlc3QpOwogCWk5MTVfZ2VtX2V4 ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKHBhcmFtcyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaAppbmRleCA0OTY4YzkzLi4wMTFhYjUyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0zMSw2ICszMSw4IEBAIHN0cnVjdCAgaW50ZWxf aHdfc3RhdHVzX3BhZ2UgewogCXN0cnVjdAkJZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogfTsK IAorI2RlZmluZSBJOTE1X1dBVENIRE9HX0VOQUJMRSAwCisKICNkZWZpbmUgSTkxNV9SRUFEX1RB SUwocmluZykgSTkxNV9SRUFEKFJJTkdfVEFJTCgocmluZyktPm1taW9fYmFzZSkpCiAjZGVmaW5l IEk5MTVfV1JJVEVfVEFJTChyaW5nLCB2YWwpIEk5MTVfV1JJVEUoUklOR19UQUlMKChyaW5nKS0+ bW1pb19iYXNlKSwgdmFsKQogCkBAIC01MjQsNiArNTI2LDI2IEBAIGludCBpbnRlbF9yaW5nX3Nh dmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIGludCBpbnRlbF9yaW5nX3Jlc3RvcmUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpyZXEpOwogCitzdGF0aWMgaW5saW5lIGJvb2wgaW50ZWxfcmluZ19zdXBwb3J0c193YXRj aGRvZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQoreworCWJvb2wgcmV0ID0gZmFsc2U7 CisKKwlpZiAoV0FSTl9PTighcmluZykpCisJCWdvdG8gZXhpdDsKKworCXJldCA9ICgJcmluZy0+ aWQgPT0gUkNTIHx8CisJCXJpbmctPmlkID09IFZDUyB8fAorCQlyaW5nLT5pZCA9PSBWQ1MyKTsK KworCWlmICghcmV0KQorCQlEUk1fRVJST1IoIiVzIGRvZXMgbm90IHN1cHBvcnQgd2F0Y2hkb2cg dGltZW91dCFcbiIsIHJpbmctPm5hbWUpOworCitleGl0OgorCXJldHVybiByZXQ7Cit9CitpbnQg aW50ZWxfcmluZ19zdGFydF93YXRjaGRvZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsK K2ludCBpbnRlbF9yaW5nX3N0b3Bfd2F0Y2hkb2coc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu Zyk7CisKIGludCBfX211c3RfY2hlY2sgaW50ZWxfcmluZ19pZGxlKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpOwogdm9pZCBpbnRlbF9yaW5nX2luaXRfc2Vxbm8oc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywgdTMyIHNlcW5vKTsKIGludCBpbnRlbF9yaW5nX2ZsdXNoX2FsbF9jYWNo ZXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwotLSAKMS45LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==