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 12:32:14 +0200 Message-ID: <1429093934-7535-1-git-send-email-daniel.vetter@ffwll.ch> References: <1429082222-20820-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: Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by gabe.freedesktop.org (Postfix) with ESMTP id 2D7A26E819 for ; Wed, 15 Apr 2015 03:30:19 -0700 (PDT) Received: by wiax7 with SMTP id x7so108649409wia.0 for ; Wed, 15 Apr 2015 03:30:18 -0700 (PDT) In-Reply-To: <1429082222-20820-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Intel Graphics Development , DRI Development Cc: 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 cmlzLgoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogTWFy aW8gS2xlaW5lciA8bWFyaW8ua2xlaW5lci5kZUBnbWFpbC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogTWljaGVsIETDpG56ZXIgPG1p Y2hlbEBkYWVuemVyLm5ldD4KU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyB8IDk1ICsrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2RybS9k cm1QLmggICAgICAgIHwgIDggKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCsp LCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwppbmRleCBjOGEzNDQ3NjU3MGEuLjg2OTRiNzdk MDAwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2lycS5jCkBAIC03NCw2ICs3NCwzNiBAQCBtb2R1bGVfcGFyYW1fbmFtZWQo dmJsYW5rb2ZmZGVsYXksIGRybV92Ymxhbmtfb2ZmZGVsYXksIGludCwgMDYwMCk7CiBtb2R1bGVf cGFyYW1fbmFtZWQodGltZXN0YW1wX3ByZWNpc2lvbl91c2VjLCBkcm1fdGltZXN0YW1wX3ByZWNp c2lvbiwgaW50LCAwNjAwKTsKIG1vZHVsZV9wYXJhbV9uYW1lZCh0aW1lc3RhbXBfbW9ub3Rvbmlj LCBkcm1fdGltZXN0YW1wX21vbm90b25pYywgaW50LCAwNjAwKTsKIAorc3RhdGljIHZvaWQgc3Rv cmVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjLAorCQkJIHVuc2lnbmVk IHZibGFua19jb3VudF9pbmMsCisJCQkgc3RydWN0IHRpbWV2YWwgKnRfdmJsYW5rKQoreworCXN0 cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuayA9ICZkZXYtPnZibGFua1tjcnRjXTsKKwl1MzIg dHNsb3Q7CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldi0+dmJsYW5rX3RpbWVfbG9jayk7CisK KwlpZiAodF92YmxhbmspIHsKKwkJLyogQWxsIHdyaXRlcnMgaG9sZCB0aGUgc3BpbmxvY2ssIGJ1 dCByZWFkZXJzIGFyZSBzZXJpYWxpemVkIGJ5CisJCSAqIHRoZSBsYXRjaGluZyBvZiB2Ymxhbmst PmNvdW50IGJlbG93LgorCQkgKi8KKwkJdHNsb3QgPSB2YmxhbmstPmNvdW50ICsgdmJsYW5rX2Nv dW50X2luYzsKKwkJdmJsYW5rdGltZXN0YW1wKGRldiwgY3J0YywgdHNsb3QpID0gKnRfdmJsYW5r OworCX0KKworCS8qCisJICogdmJsYW5rIHRpbWVzdGFtcCB1cGRhdGVzIGFyZSBwcm90ZWN0ZWQg b24gdGhlIHdyaXRlIHNpZGUgd2l0aAorCSAqIHZibGFua190aW1lX2xvY2ssIGJ1dCBvbiB0aGUg cmVhZCBzaWRlIGRvbmUgbG9ja2xlc3NseSB1c2luZyBhCisJICogc2VxdWVuY2UtbG9jayBvbiB0 aGUgdmJsYW5rIGNvdW50ZXIuIEVuc3VyZSBjb3JyZWN0IG9yZGVyaW5nIHVzaW5nCisJICogbWVt b3J5IGJhcnJyaWVycy4gV2UgbmVlZCB0aGUgYmFycmllciBib3RoIGJlZm9yZSBhbmQgYWxzbyBh ZnRlciB0aGUKKwkgKiBjb3VudGVyIHVwZGF0ZSB0byBzeW5jaHJvbml6ZSB3aXRoIHRoZSBuZXh0 IHRpbWVzdGFtcCB3cml0ZS4KKwkgKiBUaGUgcmVhZC1zaWRlIGJhcnJpZXJzIGZvciB0aGlzIGFy ZSBpbiBkcm1fdmJsYW5rX2NvdW50X2FuZF90aW1lLgorCSAqLworCXNtcF93bWIoKTsKKwl2Ymxh bmstPmNvdW50ICs9IHZibGFua19jb3VudF9pbmM7CisJc21wX3dtYigpOworfQorCiAvKioKICAq IGRybV91cGRhdGVfdmJsYW5rX2NvdW50IC0gdXBkYXRlIHRoZSBtYXN0ZXIgdmJsYW5rIGNvdW50 ZXIKICAqIEBkZXY6IERSTSBkZXZpY2UKQEAgLTkzLDcgKzEyMyw3IEBAIG1vZHVsZV9wYXJhbV9u YW1lZCh0aW1lc3RhbXBfbW9ub3RvbmljLCBkcm1fdGltZXN0YW1wX21vbm90b25pYywgaW50LCAw NjAwKTsKIHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGludCBjcnRjKQogewogCXN0cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuayA9 ICZkZXYtPnZibGFua1tjcnRjXTsKLQl1MzIgY3VyX3ZibGFuaywgZGlmZiwgdHNsb3Q7CisJdTMy IGN1cl92YmxhbmssIGRpZmY7CiAJYm9vbCByYzsKIAlzdHJ1Y3QgdGltZXZhbCB0X3ZibGFuazsK IApAQCAtMTI5LDE4ICsxNTksMTIgQEAgc3RhdGljIHZvaWQgZHJtX3VwZGF0ZV92YmxhbmtfY291 bnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGNydGMpCiAJaWYgKGRpZmYgPT0gMCkKIAkJ cmV0dXJuOwogCi0JLyogUmVpbml0aWFsaXplIGNvcnJlc3BvbmRpbmcgdmJsYW5rIHRpbWVzdGFt cCBpZiBoaWdoLXByZWNpc2lvbiBxdWVyeQotCSAqIGF2YWlsYWJsZS4gU2tpcCB0aGlzIHN0ZXAg aWYgcXVlcnkgdW5zdXBwb3J0ZWQgb3IgZmFpbGVkLiBXaWxsCi0JICogcmVpbml0aWFsaXplIGRl bGF5ZWQgYXQgbmV4dCB2YmxhbmsgaW50ZXJydXB0IGluIHRoYXQgY2FzZS4KKwkvKgorCSAqIE9u bHkgcmVpbml0aWFsaXplIGNvcnJlc3BvbmRpbmcgdmJsYW5rIHRpbWVzdGFtcCBpZiBoaWdoLXBy ZWNpc2lvbiBxdWVyeQorCSAqIGF2YWlsYWJsZSBhbmQgZGlkbid0IGZhaWwuIFdpbGwgcmVpbml0 aWFsaXplIGRlbGF5ZWQgYXQgbmV4dCB2YmxhbmsKKwkgKiBpbnRlcnJ1cHQgaW4gdGhhdCBjYXNl LgogCSAqLwotCWlmIChyYykgewotCQl0c2xvdCA9IGF0b21pY19yZWFkKCZ2YmxhbmstPmNvdW50 KSArIGRpZmY7Ci0JCXZibGFua3RpbWVzdGFtcChkZXYsIGNydGMsIHRzbG90KSA9IHRfdmJsYW5r OwotCX0KLQotCXNtcF9tYl9fYmVmb3JlX2F0b21pYygpOwotCWF0b21pY19hZGQoZGlmZiwgJnZi bGFuay0+Y291bnQpOwotCXNtcF9tYl9fYWZ0ZXJfYXRvbWljKCk7CisJc3RvcmVfdmJsYW5rKGRl diwgY3J0YywgZGlmZiwgcmMgPyAmdF92YmxhbmsgOiBOVUxMKTsKIH0KIAogLyoKQEAgLTIxOCw3 ICsyNDIsNyBAQCBzdGF0aWMgdm9pZCB2YmxhbmtfZGlzYWJsZV9hbmRfc2F2ZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgY3J0YykKIAkvKiBDb21wdXRlIHRpbWUgZGlmZmVyZW5jZSB0byBz dG9yZWQgdGltZXN0YW1wIG9mIGxhc3QgdmJsYW5rCiAJICogYXMgdXBkYXRlZCBieSBsYXN0IGlu dm9jYXRpb24gb2YgZHJtX2hhbmRsZV92YmxhbmsoKSBpbiB2YmxhbmsgaXJxLgogCSAqLwotCXZi bGNvdW50ID0gYXRvbWljX3JlYWQoJnZibGFuay0+Y291bnQpOworCXZibGNvdW50ID0gdmJsYW5r LT5jb3VudDsKIAlkaWZmX25zID0gdGltZXZhbF90b19ucygmdHZibGFuaykgLQogCQkgIHRpbWV2 YWxfdG9fbnMoJnZibGFua3RpbWVzdGFtcChkZXYsIGNydGMsIHZibGNvdW50KSk7CiAKQEAgLTIz NCwxNyArMjU4LDggQEAgc3RhdGljIHZvaWQgdmJsYW5rX2Rpc2FibGVfYW5kX3NhdmUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IGNydGMpCiAJICogYXZhaWxhYmxlLiBJbiB0aGF0IGNhc2Ug d2UgY2FuJ3QgYWNjb3VudCBmb3IgdGhpcyBhbmQganVzdAogCSAqIGhvcGUgZm9yIHRoZSBiZXN0 LgogCSAqLwotCWlmICh2YmxyYyAmJiAoYWJzNjQoZGlmZl9ucykgPiAxMDAwMDAwKSkgewotCQkv KiBTdG9yZSBuZXcgdGltZXN0YW1wIGluIHJpbmdidWZmZXIuICovCi0JCXZibGFua3RpbWVzdGFt cChkZXYsIGNydGMsIHZibGNvdW50ICsgMSkgPSB0dmJsYW5rOwotCi0JCS8qIEluY3JlbWVudCBj b29rZWQgdmJsYW5rIGNvdW50LiBUaGlzIGFsc28gYXRvbWljYWxseSBjb21taXRzCi0JCSAqIHRo ZSB0aW1lc3RhbXAgY29tcHV0ZWQgYWJvdmUuCi0JCSAqLwotCQlzbXBfbWJfX2JlZm9yZV9hdG9t aWMoKTsKLQkJYXRvbWljX2luYygmdmJsYW5rLT5jb3VudCk7Ci0JCXNtcF9tYl9fYWZ0ZXJfYXRv bWljKCk7Ci0JfQorCWlmICh2YmxyYyAmJiAoYWJzNjQoZGlmZl9ucykgPiAxMDAwMDAwKSkKKwkJ c3RvcmVfdmJsYW5rKGRldiwgY3J0YywgMSwgJnR2YmxhbmspOwogCiAJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmZGV2LT52YmxhbmtfdGltZV9sb2NrLCBpcnFmbGFncyk7CiB9CkBAIC04NTIsNyAr ODY3LDcgQEAgdTMyIGRybV92YmxhbmtfY291bnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50 IGNydGMpCiAKIAlpZiAoV0FSTl9PTihjcnRjID49IGRldi0+bnVtX2NydGNzKSkKIAkJcmV0dXJu IDA7Ci0JcmV0dXJuIGF0b21pY19yZWFkKCZ2YmxhbmstPmNvdW50KTsKKwlyZXR1cm4gdmJsYW5r LT5jb3VudDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3ZibGFua19jb3VudCk7CiAKQEAgLTg5Nywx NiArOTEyLDE3IEBAIHUzMiBkcm1fdmJsYW5rX2NvdW50X2FuZF90aW1lKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGludCBjcnRjLAogCWlmIChXQVJOX09OKGNydGMgPj0gZGV2LT5udW1fY3J0Y3Mp KQogCQlyZXR1cm4gMDsKIAotCS8qIFJlYWQgdGltZXN0YW1wIGZyb20gc2xvdCBvZiBfdmJsYW5r X3RpbWUgcmluZ2J1ZmZlcgotCSAqIHRoYXQgY29ycmVzcG9uZHMgdG8gY3VycmVudCB2Ymxhbmsg Y291bnQuIFJldHJ5IGlmCi0JICogY291bnQgaGFzIGluY3JlbWVudGVkIGR1cmluZyByZWFkb3V0 LiBUaGlzIHdvcmtzIGxpa2UKLQkgKiBhIHNlcWxvY2suCisJLyoKKwkgKiBWYmxhbmsgdGltZXN0 YW1wcyBhcmUgcmVhZCBsb2NrbGVzcy4gVG8gZW5zdXJlIGNvbnNpc3RlbmN5IHRoZSB2YmxhbmsK KwkgKiBjb3VudGVyIGlzIHJlY2hlY2tlZCBhbmQgb3JkZXJpbmcgaXMgZW5zdXJlZCB1c2luZyBt ZW1vcnkgYmFycmllcnMuCisJICogVGhpcyB3b3JrcyBsaWtlIGEgc2VxbG9jay4gVGhlIHdyaXRl LXNpZGUgYmFycmllcnMgYXJlIGluIHN0b3JlX3ZibGFuay4KIAkgKi8KIAlkbyB7Ci0JCWN1cl92 YmxhbmsgPSBhdG9taWNfcmVhZCgmdmJsYW5rLT5jb3VudCk7CisJCWN1cl92YmxhbmsgPSB2Ymxh bmstPmNvdW50OworCQlzbXBfcm1iKCk7CiAJCSp2Ymxhbmt0aW1lID0gdmJsYW5rdGltZXN0YW1w KGRldiwgY3J0YywgY3VyX3ZibGFuayk7CiAJCXNtcF9ybWIoKTsKLQl9IHdoaWxlIChjdXJfdmJs YW5rICE9IGF0b21pY19yZWFkKCZ2YmxhbmstPmNvdW50KSk7CisJfSB3aGlsZSAoY3VyX3ZibGFu ayAhPSB2YmxhbmstPmNvdW50KTsKIAogCXJldHVybiBjdXJfdmJsYW5rOwogfQpAQCAtMTcxNSw3 ICsxNzMxLDcgQEAgYm9vbCBkcm1faGFuZGxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgY3J0YykKIAkgKi8KIAogCS8qIEdldCBjdXJyZW50IHRpbWVzdGFtcCBhbmQgY291bnQu ICovCi0JdmJsY291bnQgPSBhdG9taWNfcmVhZCgmdmJsYW5rLT5jb3VudCk7CisJdmJsY291bnQg PSB2YmxhbmstPmNvdW50OwogCWRybV9nZXRfbGFzdF92Ymx0aW1lc3RhbXAoZGV2LCBjcnRjLCAm dHZibGFuaywgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSk7CiAKIAkvKiBDb21wdXRlIHRpbWUgZGlm ZmVyZW5jZSB0byB0aW1lc3RhbXAgb2YgbGFzdCB2YmxhbmsgKi8KQEAgLTE3MzEsMjAgKzE3NDcs MTEgQEAgYm9vbCBkcm1faGFuZGxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg Y3J0YykKIAkgKiBlLmcuLCBkdWUgdG8gc3B1cmlvdXMgdmJsYW5rIGludGVycnVwdHMuIFdlIG5l ZWQgdG8KIAkgKiBpZ25vcmUgdGhvc2UgZm9yIGFjY291bnRpbmcuCiAJICovCi0JaWYgKGFiczY0 KGRpZmZfbnMpID4gRFJNX1JFRFVOREFOVF9WQkxJUlFfVEhSRVNIX05TKSB7Ci0JCS8qIFN0b3Jl IG5ldyB0aW1lc3RhbXAgaW4gcmluZ2J1ZmZlci4gKi8KLQkJdmJsYW5rdGltZXN0YW1wKGRldiwg Y3J0YywgdmJsY291bnQgKyAxKSA9IHR2Ymxhbms7Ci0KLQkJLyogSW5jcmVtZW50IGNvb2tlZCB2 YmxhbmsgY291bnQuIFRoaXMgYWxzbyBhdG9taWNhbGx5IGNvbW1pdHMKLQkJICogdGhlIHRpbWVz dGFtcCBjb21wdXRlZCBhYm92ZS4KLQkJICovCi0JCXNtcF9tYl9fYmVmb3JlX2F0b21pYygpOwot CQlhdG9taWNfaW5jKCZ2YmxhbmstPmNvdW50KTsKLQkJc21wX21iX19hZnRlcl9hdG9taWMoKTsK LQl9IGVsc2UgeworCWlmIChhYnM2NChkaWZmX25zKSA+IERSTV9SRURVTkRBTlRfVkJMSVJRX1RI UkVTSF9OUykKKwkJc3RvcmVfdmJsYW5rKGRldiwgY3J0YywgMSwgJnR2YmxhbmspOworCWVsc2UK IAkJRFJNX0RFQlVHKCJjcnRjICVkOiBSZWR1bmRhbnQgdmJsaXJxIGlnbm9yZWQuIGRpZmZfbnMg PSAlZFxuIiwKIAkJCSAgY3J0YywgKGludCkgZGlmZl9ucyk7Ci0JfQogCiAJc3Bpbl91bmxvY2so JmRldi0+dmJsYW5rX3RpbWVfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAu aCBiL2luY2x1ZGUvZHJtL2RybVAuaAppbmRleCA2MmM0MDc3N2MwMDkuLjRjMzFhMmNjNWEzMyAx MDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApA QCAtNjg2LDkgKzY4NiwxMyBAQCBzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5rX2V2ZW50IHsKIHN0 cnVjdCBkcm1fdmJsYW5rX2NydGMgewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CQkvKiBwb2lu dGVyIHRvIHRoZSBkcm1fZGV2aWNlICovCiAJd2FpdF9xdWV1ZV9oZWFkX3QgcXVldWU7CS8qKjwg VkJMQU5LIHdhaXQgcXVldWUgKi8KLQlzdHJ1Y3QgdGltZXZhbCB0aW1lW0RSTV9WQkxBTktUSU1F X1JCU0laRV07CS8qKjwgdGltZXN0YW1wIG9mIGN1cnJlbnQgY291bnQgKi8KIAlzdHJ1Y3QgdGlt ZXJfbGlzdCBkaXNhYmxlX3RpbWVyOwkJLyogZGVsYXllZCBkaXNhYmxlIHRpbWVyICovCi0JYXRv bWljX3QgY291bnQ7CQkJLyoqPCBudW1iZXIgb2YgVkJMQU5LIGludGVycnVwdHMgKi8KKworCS8q IHZibGFuayBjb3VudGVyLCBwcm90ZWN0ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3 cml0ZXMgKi8KKwl1bnNpZ25lZCBsb25nIGNvdW50OworCS8qIHZibGFuayB0aW1lc3RhbXBzLCBw cm90ZWN0ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3cml0ZXMgKi8KKwlzdHJ1Y3Qg dGltZXZhbCB0aW1lW0RSTV9WQkxBTktUSU1FX1JCU0laRV07CisKIAlhdG9taWNfdCByZWZjb3Vu dDsJCS8qIG51bWJlciBvZiB1c2VycyBvZiB2YmxhbmsgaW50ZXJydXB0c3BlciBjcnRjICovCiAJ dTMyIGxhc3Q7CQkJLyogcHJvdGVjdGVkIGJ5IGRldi0+dmJsX2xvY2ssIHVzZWQgKi8KIAkJCQkJ LyogZm9yIHdyYXBhcm91bmQgaGFuZGxpbmcgKi8KLS0gCjIuMS40CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=