From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/vblank: Fixup and document timestamp update/read barriers Date: Wed, 15 Apr 2015 19:34:43 +0200 Message-ID: <1429119283-11215-1-git-send-email-daniel.vetter@ffwll.ch> References: <1429093934-7535-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1429093934-7535-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel Graphics Development , DRI Development Cc: Peter Hurley , Daniel Vetter , =?UTF-8?q?Michel=20D=C3=A4nzer?= , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VGhpcyB3YXMgYSBiaXQgdG9vIG11Y2ggY2FyZ28tY3VsdGVkLCBzbyBsZXRzIG1ha2UgaXQgc29s aWQ6Ci0gdmJsYW5rLT5jb3VudCBkb2Vzbid0IG5lZWQgdG8gYmUgYW4gYXRvbWljLCB3cml0ZXMg YXJlIGFsd2F5cyBkb25lCiAgdW5kZXIgdGhlIHByb3RlY3Rpb24gb2YgZGV2LT52YmxhbmtfdGlt ZV9sb2NrLiBTd2l0Y2ggdG8gYW4gdW5zaWduZWQKICBsb25nIGluc3RlYWQgYW5kIHVwZGF0ZSBj b21tZW50cy4gTm90ZSB0aGF0IGF0b21pY19yZWFkIGlzIGp1c3QgYQogIG5vcm1hbCByZWFkIG9m IGEgdm9sYXRpbGUgdmFyaWFibGUsIHNvIG5vIG5lZWQgdG8gYXVkaXQgYWxsIHRoZQogIHJlYWQt c2lkZSBhY2Nlc3Mgc3BlY2lmaWNhbGx5LgoKLSBUaGUgYmFycmllcnMgZm9yIHRoZSB2Ymxhbmsg Y291bnRlciBzZXFsb2NrIHdlcmVuJ3QgY29tcGxldGU6IFRoZQogIHJlYWQtc2lkZSB3YXMgbWlz c2luZyB0aGUgZmlyc3QgYmFycmllciBiZXR3ZWVuIHRoZSBjb3VudGVyIHJlYWQgYW5kCiAgdGhl IHRpbWVzdGFtcCByZWFkLCBpdCBvbmx5IGhhZCBhIGJhcnJpZXIgYmV0d2VlbiB0aGUgdHMgYW5k IHRoZQogIGNvdW50ZXIgcmVhZC4gV2UgbmVlZCBib3RoLgoKLSBCYXJyaWVycyB3ZXJlbid0IHBy b3Blcmx5IGRvY3VtZW50ZWQuIFNpbmNlIGJhcnJpZXJzIG9ubHkgd29yayBpZgogIHlvdSBoYXZl IHRoZW0gb24gYm90aHMgc2lkZXMgb2YgdGhlIHRyYW5zYWN0aW9uIGl0J3MgcHJ1ZGVudCB0bwog IHJlZmVyZW5jZSB3aGVyZSB0aGUgb3RoZXIgc2lkZSBpcy4gVG8gYXZvaWQgZHVwbGljYXRpbmcg dGhlCiAgd3JpdGUtc2lkZSBjb21tZW50IDMgdGltZXMgZXh0cmFjdCBhIGxpdHRsZSBzdG9yZV92 YmxhbmsoKSBoZWxwZXIuCiAgSW4gdGhhdCBoZWxwZXIgYWxzbyBhc3NlcnQgdGhhdCB3ZSBkbyBp bmRlZWQgaG9sZAogIGRldi0+dmJsYW5rX3RpbWVfbG9jaywgc2luY2UgaW4gc29tZSBjYXNlcyB0 aGUgbG9jayBpcyBhY3F1aXJlZCBhCiAgZmV3IGZ1bmN0aW9ucyB1cCBpbiB0aGUgY2FsbGNoYWlu LgoKU3BvdHRlZCB3aGlsZSByZXZpZXdpbmcgYSBwYXRjaCBmcm9tIENocmlzIFdpbHNvbiB0byBh ZGQgYSBmYXN0cGF0aCB0bwp0aGUgdmJsYW5rX3dhaXQgaW9jdGwuCgp2MjogQWRkIGNvbW1lbnQg dG8gYmV0dGVyIGV4cGxhaW4gaG93IHN0b3JlX3ZibGFuayB3b3Jrcywgc3VnZ2VzdGVkIGJ5CkNo cmlzLgoKdjM6IFBldGVyIG5vdGljZWQgdGhhdCBhcy1pcyB0aGUgMm5kIHNtcF93bWIgaXMgcmVk dW5kYW50IHdpdGggdGhlCmltcGxpY2l0IGJhcnJpZXIgaW4gdGhlIHNwaW5fdW5sb2NrLiBCdXQg dGhhdCBjYW4gb25seSBiZSBwcm92ZW4gYnkKYXVkaXRpbmcgYWxsIGNhbGxlcnMgYW5kIG15IHBv aW50IGluIGV4dHJhY3RpbmcgdGhpcyBsaXR0bGUgaGVscGVyIHdhcwp0byBsb2NhbGl6ZSBhbGwg dGhlIGxvY2tpbmcgaW50byBqdXN0IG9uZSBwbGFjZS4gSGVuY2UgSSB0aGluayB0aGF0CmFkZGl0 aW9uYWwgb3B0aW1pemF0aW9uIGlzIHRvbyByaXNreS4KCkNjOiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KQ2M6IE1hcmlvIEtsZWluZXIgPG1hcmlvLmtsZWluZXIuZGVA Z21haWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KQ2M6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWxAZGFlbnplci5uZXQ+CkNjOiBQZXRlciBI dXJsZXkgPHBldGVyQGh1cmxleXNvZnR3YXJlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9p cnEuYyB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBpbmNsdWRlL2RybS9kcm1QLmggICAgICAgIHwgIDggKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA1 NyBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwppbmRleCBjOGEzNDQ3 NjU3MGEuLjg2OTRiNzdkMDAwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCkBAIC03NCw2ICs3NCwzNiBAQCBtb2R1 bGVfcGFyYW1fbmFtZWQodmJsYW5rb2ZmZGVsYXksIGRybV92Ymxhbmtfb2ZmZGVsYXksIGludCwg MDYwMCk7CiBtb2R1bGVfcGFyYW1fbmFtZWQodGltZXN0YW1wX3ByZWNpc2lvbl91c2VjLCBkcm1f dGltZXN0YW1wX3ByZWNpc2lvbiwgaW50LCAwNjAwKTsKIG1vZHVsZV9wYXJhbV9uYW1lZCh0aW1l c3RhbXBfbW9ub3RvbmljLCBkcm1fdGltZXN0YW1wX21vbm90b25pYywgaW50LCAwNjAwKTsKIAor c3RhdGljIHZvaWQgc3RvcmVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRj LAorCQkJIHVuc2lnbmVkIHZibGFua19jb3VudF9pbmMsCisJCQkgc3RydWN0IHRpbWV2YWwgKnRf dmJsYW5rKQoreworCXN0cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuayA9ICZkZXYtPnZibGFu a1tjcnRjXTsKKwl1MzIgdHNsb3Q7CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldi0+dmJsYW5r X3RpbWVfbG9jayk7CisKKwlpZiAodF92YmxhbmspIHsKKwkJLyogQWxsIHdyaXRlcnMgaG9sZCB0 aGUgc3BpbmxvY2ssIGJ1dCByZWFkZXJzIGFyZSBzZXJpYWxpemVkIGJ5CisJCSAqIHRoZSBsYXRj aGluZyBvZiB2YmxhbmstPmNvdW50IGJlbG93LgorCQkgKi8KKwkJdHNsb3QgPSB2YmxhbmstPmNv dW50ICsgdmJsYW5rX2NvdW50X2luYzsKKwkJdmJsYW5rdGltZXN0YW1wKGRldiwgY3J0YywgdHNs b3QpID0gKnRfdmJsYW5rOworCX0KKworCS8qCisJICogdmJsYW5rIHRpbWVzdGFtcCB1cGRhdGVz IGFyZSBwcm90ZWN0ZWQgb24gdGhlIHdyaXRlIHNpZGUgd2l0aAorCSAqIHZibGFua190aW1lX2xv Y2ssIGJ1dCBvbiB0aGUgcmVhZCBzaWRlIGRvbmUgbG9ja2xlc3NseSB1c2luZyBhCisJICogc2Vx dWVuY2UtbG9jayBvbiB0aGUgdmJsYW5rIGNvdW50ZXIuIEVuc3VyZSBjb3JyZWN0IG9yZGVyaW5n IHVzaW5nCisJICogbWVtb3J5IGJhcnJyaWVycy4gV2UgbmVlZCB0aGUgYmFycmllciBib3RoIGJl Zm9yZSBhbmQgYWxzbyBhZnRlciB0aGUKKwkgKiBjb3VudGVyIHVwZGF0ZSB0byBzeW5jaHJvbml6 ZSB3aXRoIHRoZSBuZXh0IHRpbWVzdGFtcCB3cml0ZS4KKwkgKiBUaGUgcmVhZC1zaWRlIGJhcnJp ZXJzIGZvciB0aGlzIGFyZSBpbiBkcm1fdmJsYW5rX2NvdW50X2FuZF90aW1lLgorCSAqLworCXNt cF93bWIoKTsKKwl2YmxhbmstPmNvdW50ICs9IHZibGFua19jb3VudF9pbmM7CisJc21wX3dtYigp OworfQorCiAvKioKICAqIGRybV91cGRhdGVfdmJsYW5rX2NvdW50IC0gdXBkYXRlIHRoZSBtYXN0 ZXIgdmJsYW5rIGNvdW50ZXIKICAqIEBkZXY6IERSTSBkZXZpY2UKQEAgLTkzLDcgKzEyMyw3IEBA IG1vZHVsZV9wYXJhbV9uYW1lZCh0aW1lc3RhbXBfbW9ub3RvbmljLCBkcm1fdGltZXN0YW1wX21v bm90b25pYywgaW50LCAwNjAwKTsKIHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjKQogewogCXN0cnVjdCBkcm1fdmJsYW5r X2NydGMgKnZibGFuayA9ICZkZXYtPnZibGFua1tjcnRjXTsKLQl1MzIgY3VyX3ZibGFuaywgZGlm ZiwgdHNsb3Q7CisJdTMyIGN1cl92YmxhbmssIGRpZmY7CiAJYm9vbCByYzsKIAlzdHJ1Y3QgdGlt ZXZhbCB0X3ZibGFuazsKIApAQCAtMTI5LDE4ICsxNTksMTIgQEAgc3RhdGljIHZvaWQgZHJtX3Vw ZGF0ZV92YmxhbmtfY291bnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGNydGMpCiAJaWYg KGRpZmYgPT0gMCkKIAkJcmV0dXJuOwogCi0JLyogUmVpbml0aWFsaXplIGNvcnJlc3BvbmRpbmcg dmJsYW5rIHRpbWVzdGFtcCBpZiBoaWdoLXByZWNpc2lvbiBxdWVyeQotCSAqIGF2YWlsYWJsZS4g U2tpcCB0aGlzIHN0ZXAgaWYgcXVlcnkgdW5zdXBwb3J0ZWQgb3IgZmFpbGVkLiBXaWxsCi0JICog cmVpbml0aWFsaXplIGRlbGF5ZWQgYXQgbmV4dCB2YmxhbmsgaW50ZXJydXB0IGluIHRoYXQgY2Fz ZS4KKwkvKgorCSAqIE9ubHkgcmVpbml0aWFsaXplIGNvcnJlc3BvbmRpbmcgdmJsYW5rIHRpbWVz dGFtcCBpZiBoaWdoLXByZWNpc2lvbiBxdWVyeQorCSAqIGF2YWlsYWJsZSBhbmQgZGlkbid0IGZh aWwuIFdpbGwgcmVpbml0aWFsaXplIGRlbGF5ZWQgYXQgbmV4dCB2YmxhbmsKKwkgKiBpbnRlcnJ1 cHQgaW4gdGhhdCBjYXNlLgogCSAqLwotCWlmIChyYykgewotCQl0c2xvdCA9IGF0b21pY19yZWFk KCZ2YmxhbmstPmNvdW50KSArIGRpZmY7Ci0JCXZibGFua3RpbWVzdGFtcChkZXYsIGNydGMsIHRz bG90KSA9IHRfdmJsYW5rOwotCX0KLQotCXNtcF9tYl9fYmVmb3JlX2F0b21pYygpOwotCWF0b21p Y19hZGQoZGlmZiwgJnZibGFuay0+Y291bnQpOwotCXNtcF9tYl9fYWZ0ZXJfYXRvbWljKCk7CisJ c3RvcmVfdmJsYW5rKGRldiwgY3J0YywgZGlmZiwgcmMgPyAmdF92YmxhbmsgOiBOVUxMKTsKIH0K IAogLyoKQEAgLTIxOCw3ICsyNDIsNyBAQCBzdGF0aWMgdm9pZCB2YmxhbmtfZGlzYWJsZV9hbmRf c2F2ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgY3J0YykKIAkvKiBDb21wdXRlIHRpbWUg ZGlmZmVyZW5jZSB0byBzdG9yZWQgdGltZXN0YW1wIG9mIGxhc3QgdmJsYW5rCiAJICogYXMgdXBk YXRlZCBieSBsYXN0IGludm9jYXRpb24gb2YgZHJtX2hhbmRsZV92YmxhbmsoKSBpbiB2Ymxhbmsg aXJxLgogCSAqLwotCXZibGNvdW50ID0gYXRvbWljX3JlYWQoJnZibGFuay0+Y291bnQpOworCXZi bGNvdW50ID0gdmJsYW5rLT5jb3VudDsKIAlkaWZmX25zID0gdGltZXZhbF90b19ucygmdHZibGFu aykgLQogCQkgIHRpbWV2YWxfdG9fbnMoJnZibGFua3RpbWVzdGFtcChkZXYsIGNydGMsIHZibGNv dW50KSk7CiAKQEAgLTIzNCwxNyArMjU4LDggQEAgc3RhdGljIHZvaWQgdmJsYW5rX2Rpc2FibGVf YW5kX3NhdmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGNydGMpCiAJICogYXZhaWxhYmxl LiBJbiB0aGF0IGNhc2Ugd2UgY2FuJ3QgYWNjb3VudCBmb3IgdGhpcyBhbmQganVzdAogCSAqIGhv cGUgZm9yIHRoZSBiZXN0LgogCSAqLwotCWlmICh2YmxyYyAmJiAoYWJzNjQoZGlmZl9ucykgPiAx MDAwMDAwKSkgewotCQkvKiBTdG9yZSBuZXcgdGltZXN0YW1wIGluIHJpbmdidWZmZXIuICovCi0J CXZibGFua3RpbWVzdGFtcChkZXYsIGNydGMsIHZibGNvdW50ICsgMSkgPSB0dmJsYW5rOwotCi0J CS8qIEluY3JlbWVudCBjb29rZWQgdmJsYW5rIGNvdW50LiBUaGlzIGFsc28gYXRvbWljYWxseSBj b21taXRzCi0JCSAqIHRoZSB0aW1lc3RhbXAgY29tcHV0ZWQgYWJvdmUuCi0JCSAqLwotCQlzbXBf bWJfX2JlZm9yZV9hdG9taWMoKTsKLQkJYXRvbWljX2luYygmdmJsYW5rLT5jb3VudCk7Ci0JCXNt cF9tYl9fYWZ0ZXJfYXRvbWljKCk7Ci0JfQorCWlmICh2YmxyYyAmJiAoYWJzNjQoZGlmZl9ucykg PiAxMDAwMDAwKSkKKwkJc3RvcmVfdmJsYW5rKGRldiwgY3J0YywgMSwgJnR2YmxhbmspOwogCiAJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT52YmxhbmtfdGltZV9sb2NrLCBpcnFmbGFncyk7 CiB9CkBAIC04NTIsNyArODY3LDcgQEAgdTMyIGRybV92YmxhbmtfY291bnQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgaW50IGNydGMpCiAKIAlpZiAoV0FSTl9PTihjcnRjID49IGRldi0+bnVtX2Ny dGNzKSkKIAkJcmV0dXJuIDA7Ci0JcmV0dXJuIGF0b21pY19yZWFkKCZ2YmxhbmstPmNvdW50KTsK KwlyZXR1cm4gdmJsYW5rLT5jb3VudDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3ZibGFua19jb3Vu dCk7CiAKQEAgLTg5NywxNiArOTEyLDE3IEBAIHUzMiBkcm1fdmJsYW5rX2NvdW50X2FuZF90aW1l KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjLAogCWlmIChXQVJOX09OKGNydGMgPj0g ZGV2LT5udW1fY3J0Y3MpKQogCQlyZXR1cm4gMDsKIAotCS8qIFJlYWQgdGltZXN0YW1wIGZyb20g c2xvdCBvZiBfdmJsYW5rX3RpbWUgcmluZ2J1ZmZlcgotCSAqIHRoYXQgY29ycmVzcG9uZHMgdG8g Y3VycmVudCB2YmxhbmsgY291bnQuIFJldHJ5IGlmCi0JICogY291bnQgaGFzIGluY3JlbWVudGVk IGR1cmluZyByZWFkb3V0LiBUaGlzIHdvcmtzIGxpa2UKLQkgKiBhIHNlcWxvY2suCisJLyoKKwkg KiBWYmxhbmsgdGltZXN0YW1wcyBhcmUgcmVhZCBsb2NrbGVzcy4gVG8gZW5zdXJlIGNvbnNpc3Rl bmN5IHRoZSB2YmxhbmsKKwkgKiBjb3VudGVyIGlzIHJlY2hlY2tlZCBhbmQgb3JkZXJpbmcgaXMg ZW5zdXJlZCB1c2luZyBtZW1vcnkgYmFycmllcnMuCisJICogVGhpcyB3b3JrcyBsaWtlIGEgc2Vx bG9jay4gVGhlIHdyaXRlLXNpZGUgYmFycmllcnMgYXJlIGluIHN0b3JlX3ZibGFuay4KIAkgKi8K IAlkbyB7Ci0JCWN1cl92YmxhbmsgPSBhdG9taWNfcmVhZCgmdmJsYW5rLT5jb3VudCk7CisJCWN1 cl92YmxhbmsgPSB2YmxhbmstPmNvdW50OworCQlzbXBfcm1iKCk7CiAJCSp2Ymxhbmt0aW1lID0g dmJsYW5rdGltZXN0YW1wKGRldiwgY3J0YywgY3VyX3ZibGFuayk7CiAJCXNtcF9ybWIoKTsKLQl9 IHdoaWxlIChjdXJfdmJsYW5rICE9IGF0b21pY19yZWFkKCZ2YmxhbmstPmNvdW50KSk7CisJfSB3 aGlsZSAoY3VyX3ZibGFuayAhPSB2YmxhbmstPmNvdW50KTsKIAogCXJldHVybiBjdXJfdmJsYW5r OwogfQpAQCAtMTcxNSw3ICsxNzMxLDcgQEAgYm9vbCBkcm1faGFuZGxlX3ZibGFuayhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBpbnQgY3J0YykKIAkgKi8KIAogCS8qIEdldCBjdXJyZW50IHRpbWVz dGFtcCBhbmQgY291bnQuICovCi0JdmJsY291bnQgPSBhdG9taWNfcmVhZCgmdmJsYW5rLT5jb3Vu dCk7CisJdmJsY291bnQgPSB2YmxhbmstPmNvdW50OwogCWRybV9nZXRfbGFzdF92Ymx0aW1lc3Rh bXAoZGV2LCBjcnRjLCAmdHZibGFuaywgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSk7CiAKIAkvKiBD b21wdXRlIHRpbWUgZGlmZmVyZW5jZSB0byB0aW1lc3RhbXAgb2YgbGFzdCB2YmxhbmsgKi8KQEAg LTE3MzEsMjAgKzE3NDcsMTEgQEAgYm9vbCBkcm1faGFuZGxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCBpbnQgY3J0YykKIAkgKiBlLmcuLCBkdWUgdG8gc3B1cmlvdXMgdmJsYW5rIGlu dGVycnVwdHMuIFdlIG5lZWQgdG8KIAkgKiBpZ25vcmUgdGhvc2UgZm9yIGFjY291bnRpbmcuCiAJ ICovCi0JaWYgKGFiczY0KGRpZmZfbnMpID4gRFJNX1JFRFVOREFOVF9WQkxJUlFfVEhSRVNIX05T KSB7Ci0JCS8qIFN0b3JlIG5ldyB0aW1lc3RhbXAgaW4gcmluZ2J1ZmZlci4gKi8KLQkJdmJsYW5r dGltZXN0YW1wKGRldiwgY3J0YywgdmJsY291bnQgKyAxKSA9IHR2Ymxhbms7Ci0KLQkJLyogSW5j cmVtZW50IGNvb2tlZCB2YmxhbmsgY291bnQuIFRoaXMgYWxzbyBhdG9taWNhbGx5IGNvbW1pdHMK LQkJICogdGhlIHRpbWVzdGFtcCBjb21wdXRlZCBhYm92ZS4KLQkJICovCi0JCXNtcF9tYl9fYmVm b3JlX2F0b21pYygpOwotCQlhdG9taWNfaW5jKCZ2YmxhbmstPmNvdW50KTsKLQkJc21wX21iX19h ZnRlcl9hdG9taWMoKTsKLQl9IGVsc2UgeworCWlmIChhYnM2NChkaWZmX25zKSA+IERSTV9SRURV TkRBTlRfVkJMSVJRX1RIUkVTSF9OUykKKwkJc3RvcmVfdmJsYW5rKGRldiwgY3J0YywgMSwgJnR2 YmxhbmspOworCWVsc2UKIAkJRFJNX0RFQlVHKCJjcnRjICVkOiBSZWR1bmRhbnQgdmJsaXJxIGln bm9yZWQuIGRpZmZfbnMgPSAlZFxuIiwKIAkJCSAgY3J0YywgKGludCkgZGlmZl9ucyk7Ci0JfQog CiAJc3Bpbl91bmxvY2soJmRldi0+dmJsYW5rX3RpbWVfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaAppbmRleCA2MmM0MDc3N2MwMDku LjRjMzFhMmNjNWEzMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1 ZGUvZHJtL2RybVAuaApAQCAtNjg2LDkgKzY4NiwxMyBAQCBzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJs YW5rX2V2ZW50IHsKIHN0cnVjdCBkcm1fdmJsYW5rX2NydGMgewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXY7CQkvKiBwb2ludGVyIHRvIHRoZSBkcm1fZGV2aWNlICovCiAJd2FpdF9xdWV1ZV9oZWFk X3QgcXVldWU7CS8qKjwgVkJMQU5LIHdhaXQgcXVldWUgKi8KLQlzdHJ1Y3QgdGltZXZhbCB0aW1l W0RSTV9WQkxBTktUSU1FX1JCU0laRV07CS8qKjwgdGltZXN0YW1wIG9mIGN1cnJlbnQgY291bnQg Ki8KIAlzdHJ1Y3QgdGltZXJfbGlzdCBkaXNhYmxlX3RpbWVyOwkJLyogZGVsYXllZCBkaXNhYmxl IHRpbWVyICovCi0JYXRvbWljX3QgY291bnQ7CQkJLyoqPCBudW1iZXIgb2YgVkJMQU5LIGludGVy cnVwdHMgKi8KKworCS8qIHZibGFuayBjb3VudGVyLCBwcm90ZWN0ZWQgYnkgZGV2LT52Ymxhbmtf dGltZV9sb2NrIGZvciB3cml0ZXMgKi8KKwl1bnNpZ25lZCBsb25nIGNvdW50OworCS8qIHZibGFu ayB0aW1lc3RhbXBzLCBwcm90ZWN0ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3cml0 ZXMgKi8KKwlzdHJ1Y3QgdGltZXZhbCB0aW1lW0RSTV9WQkxBTktUSU1FX1JCU0laRV07CisKIAlh dG9taWNfdCByZWZjb3VudDsJCS8qIG51bWJlciBvZiB1c2VycyBvZiB2YmxhbmsgaW50ZXJydXB0 c3BlciBjcnRjICovCiAJdTMyIGxhc3Q7CQkJLyogcHJvdGVjdGVkIGJ5IGRldi0+dmJsX2xvY2ss IHVzZWQgKi8KIAkJCQkJLyogZm9yIHdyYXBhcm91bmQgaGFuZGxpbmcgKi8KLS0gCjIuMS40Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=