From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH] drm: use seqlock for vblank time/count Date: Wed, 11 May 2016 10:48:30 +0100 Message-ID: <1462960110-22730-1-git-send-email-matthew.auld@intel.com> References: <1462890088-18194-1-git-send-email-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1462890088-18194-1-git-send-email-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Mario Kleiner List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhaW1zIHRvIHJlcGxhY2UgdGhlIHJvbGwteW91ci1vd24gc2VxbG9jayBpbXBs ZW1lbnRhdGlvbiB3aXRoCmZ1bGwtYmxvd24gc2VxbG9jaycuIFdlIGFsc28gcmVtb3ZlIHRoZSB0 aW1lc3RhbXAgcmluZy1idWZmZXIgaW4gZmF2b3VyCm9mIHNpbmdsZSB0aW1lc3RhbXAvY291bnQg cGFpciBwcm90ZWN0ZWQgYnkgYSBzZXFsb2NrLiBJbiB0dXJuIHRoaXMKbWVhbnMgd2UgY2FuIG5v dyBpbmNyZW1lbnQgdGhlIHZibGFuayBmcmVlbHkgd2l0aG91dCB0aGUgbmVlZCBmb3IKY2xhbXBp bmcuCgp2MjoKICAtIHJlZHVjZSB0aGUgc2NvcGUgb2YgdGhlIHNlcWxvY2ssIGtlZXBpbmcgdmJs YW5rX3RpbWVfbG9jawogIC0gbWFrZSB0aGUgc2VxbG9jayBwZXIgdmJsYW5rX2NydGMsIHNvIG11 bHRpcGxlIHJlYWRlcnMgYXJlbid0IGJsb2NrZWQgYnkKICAgIHRoZSB3cml0ZXIKCkNjOiBNYXJp byBLbGVpbmVyIDxtYXJpby5rbGVpbmVyQHR1ZWJpbmdlbi5tcGcuZGU+CkNjOiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0 aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMgfCA5MCAr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9k cm0vZHJtUC5oICAgICAgICB8IDE0ICsrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2Vy dGlvbnMoKyksIDg3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCmluZGV4IDNjMWE2ZjEuLjBlOTUx MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9pcnEuYwpAQCAtNDIsMTAgKzQyLDYgQEAKICNpbmNsdWRlIDxsaW51eC92Z2Fh cmIuaD4KICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KIAotLyogQWNjZXNzIG1hY3JvIGZvciBz bG90cyBpbiB2YmxhbmsgdGltZXN0YW1wIHJpbmdidWZmZXIuICovCi0jZGVmaW5lIHZibGFua3Rp bWVzdGFtcChkZXYsIHBpcGUsIGNvdW50KSBcCi0JKChkZXYpLT52YmxhbmtbcGlwZV0udGltZVso Y291bnQpICUgRFJNX1ZCTEFOS1RJTUVfUkJTSVpFXSkKLQogLyogUmV0cnkgdGltZXN0YW1wIGNh bGN1bGF0aW9uIHVwIHRvIDMgdGltZXMgdG8gc2F0aXNmeQogICogZHJtX3RpbWVzdGFtcF9wcmVj aXNpb24gYmVmb3JlIGdpdmluZyB1cC4KICAqLwpAQCAtODIsMjkgKzc4LDE1IEBAIHN0YXRpYyB2 b2lkIHN0b3JlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlw ZSwKIAkJCSBzdHJ1Y3QgdGltZXZhbCAqdF92YmxhbmssIHUzMiBsYXN0KQogewogCXN0cnVjdCBk cm1fdmJsYW5rX2NydGMgKnZibGFuayA9ICZkZXYtPnZibGFua1twaXBlXTsKLQl1MzIgdHNsb3Q7 CiAKIAlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldi0+dmJsYW5rX3RpbWVfbG9jayk7CiAKIAl2Ymxh bmstPmxhc3QgPSBsYXN0OwogCi0JLyogQWxsIHdyaXRlcnMgaG9sZCB0aGUgc3BpbmxvY2ssIGJ1 dCByZWFkZXJzIGFyZSBzZXJpYWxpemVkIGJ5Ci0JICogdGhlIGxhdGNoaW5nIG9mIHZibGFuay0+ Y291bnQgYmVsb3cuCi0JICovCi0JdHNsb3QgPSB2YmxhbmstPmNvdW50ICsgdmJsYW5rX2NvdW50 X2luYzsKLQl2Ymxhbmt0aW1lc3RhbXAoZGV2LCBwaXBlLCB0c2xvdCkgPSAqdF92Ymxhbms7Ci0K LQkvKgotCSAqIHZibGFuayB0aW1lc3RhbXAgdXBkYXRlcyBhcmUgcHJvdGVjdGVkIG9uIHRoZSB3 cml0ZSBzaWRlIHdpdGgKLQkgKiB2YmxhbmtfdGltZV9sb2NrLCBidXQgb24gdGhlIHJlYWQgc2lk ZSBkb25lIGxvY2tsZXNzbHkgdXNpbmcgYQotCSAqIHNlcXVlbmNlLWxvY2sgb24gdGhlIHZibGFu ayBjb3VudGVyLiBFbnN1cmUgY29ycmVjdCBvcmRlcmluZyB1c2luZwotCSAqIG1lbW9yeSBiYXJy cmllcnMuIFdlIG5lZWQgdGhlIGJhcnJpZXIgYm90aCBiZWZvcmUgYW5kIGFsc28gYWZ0ZXIgdGhl Ci0JICogY291bnRlciB1cGRhdGUgdG8gc3luY2hyb25pemUgd2l0aCB0aGUgbmV4dCB0aW1lc3Rh bXAgd3JpdGUuCi0JICogVGhlIHJlYWQtc2lkZSBiYXJyaWVycyBmb3IgdGhpcyBhcmUgaW4gZHJt X3ZibGFua19jb3VudF9hbmRfdGltZS4KLQkgKi8KLQlzbXBfd21iKCk7CisJd3JpdGVfc2VxbG9j aygmdmJsYW5rLT5zZXFsb2NrKTsKKwl2YmxhbmstPnRpbWUgPSAqdF92Ymxhbms7CiAJdmJsYW5r LT5jb3VudCArPSB2YmxhbmtfY291bnRfaW5jOwotCXNtcF93bWIoKTsKKwl3cml0ZV9zZXF1bmxv Y2soJnZibGFuay0+c2VxbG9jayk7CiB9CiAKIC8qKgpAQCAtMjA1LDcgKzE4Nyw3IEBAIHN0YXRp YyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVu c2lnbmVkIGludCBwaXBlLAogCQljb25zdCBzdHJ1Y3QgdGltZXZhbCAqdF9vbGQ7CiAJCXU2NCBk aWZmX25zOwogCi0JCXRfb2xkID0gJnZibGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIHZibGFuay0+ Y291bnQpOworCQl0X29sZCA9ICZ2YmxhbmstPnRpbWU7CiAJCWRpZmZfbnMgPSB0aW1ldmFsX3Rv X25zKCZ0X3ZibGFuaykgLSB0aW1ldmFsX3RvX25zKHRfb2xkKTsKIAogCQkvKgpAQCAtMjM5LDQ5 ICsyMjEsNiBAQCBzdGF0aWMgdm9pZCBkcm1fdXBkYXRlX3ZibGFua19jb3VudChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKIAkJZGlmZiA9IDE7CiAJfQogCi0JLyoK LQkgKiBGSU1YRTogTmVlZCB0byByZXBsYWNlIHRoaXMgaGFjayB3aXRoIHByb3BlciBzZXFsb2Nr cy4KLQkgKgotCSAqIFJlc3RyaWN0IHRoZSBidW1wIG9mIHRoZSBzb2Z0d2FyZSB2YmxhbmsgY291 bnRlciB0byBhIHNhZmUgbWF4aW11bQotCSAqIHZhbHVlIG9mICsxIHdoZW5ldmVyIHRoZXJlIGlz IHRoZSBwb3NzaWJpbGl0eSB0aGF0IGNvbmN1cnJlbnQgcmVhZGVycwotCSAqIG9mIHZibGFuayB0 aW1lc3RhbXBzIGNvdWxkIGJlIGFjdGl2ZSBhdCB0aGUgbW9tZW50LCBhcyB0aGUgY3VycmVudAot CSAqIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0aW1lc3RhbXAgY2FjaGluZyBhbmQgdXBkYXRpbmcg aXMgbm90IHNhZmUKLQkgKiBhZ2FpbnN0IGNvbmN1cnJlbnQgcmVhZGVycyBmb3IgY2FsbHMgdG8g c3RvcmVfdmJsYW5rKCkgd2l0aCBhIGJ1bXAKLQkgKiBvZiBhbnl0aGluZyBidXQgKzEuIEEgYnVt cCAhPSAxIHdvdWxkIHZlcnkgbGlrZWx5IHJldHVybiBjb3JydXB0ZWQKLQkgKiB0aW1lc3RhbXBz IHRvIHVzZXJzcGFjZSwgYmVjYXVzZSB0aGUgc2FtZSBzbG90IGluIHRoZSBjYWNoZSBjb3VsZAot CSAqIGJlIGNvbmN1cnJlbnRseSB3cml0dGVuIGJ5IHN0b3JlX3ZibGFuaygpIGFuZCByZWFkIGJ5 IG9uZSBvZiB0aG9zZQotCSAqIHJlYWRlcnMgd2l0aG91dCB0aGUgcmVhZC1yZXRyeSBsb2dpYyBk ZXRlY3RpbmcgdGhlIGNvbGxpc2lvbi4KLQkgKgotCSAqIENvbmN1cnJlbnQgcmVhZGVycyBjYW4g ZXhpc3Qgd2hlbiB3ZSBhcmUgY2FsbGVkIGZyb20gdGhlCi0JICogZHJtX3ZibGFua19vZmYoKSBv ciBkcm1fdmJsYW5rX29uKCkgZnVuY3Rpb25zIGFuZCBvdGhlciBub24tdmJsYW5rLQotCSAqIGly cSBjYWxsZXJzLiBIb3dldmVyLCBhbGwgdGhvc2UgY2FsbHMgdG8gdXMgYXJlIGhhcHBlbmluZyB3 aXRoIHRoZQotCSAqIHZibF9sb2NrIGxvY2tlZCB0byBwcmV2ZW50IGRybV92YmxhbmtfZ2V0KCks IHNvIHRoZSB2YmxhbmsgcmVmY291bnQKLQkgKiBjYW4ndCBpbmNyZWFzZSB3aGlsZSB3ZSBhcmUg ZXhlY3V0aW5nLiBUaGVyZWZvcmUgYSB6ZXJvIHJlZmNvdW50IGF0Ci0JICogdGhpcyBwb2ludCBp cyBzYWZlIGZvciBhcmJpdHJhcnkgY291bnRlciBidW1wcyBpZiB3ZSBhcmUgY2FsbGVkCi0JICog b3V0c2lkZSB2YmxhbmsgaXJxLCBhIG5vbi16ZXJvIGNvdW50IGlzIG5vdCAxMDAlIHNhZmUuIFVu Zm9ydHVuYXRlbHkKLQkgKiB3ZSBtdXN0IGFsc28gYWNjZXB0IGEgcmVmY291bnQgb2YgMSwgYXMg d2hlbmV2ZXIgd2UgYXJlIGNhbGxlZCBmcm9tCi0JICogZHJtX3ZibGFua19nZXQoKSAtPiBkcm1f dmJsYW5rX2VuYWJsZSgpIHRoZSByZWZjb3VudCB3aWxsIGJlIDEgYW5kCi0JICogd2UgbXVzdCBs ZXQgdGhhdCBvbmUgcGFzcyB0aHJvdWdoIGluIG9yZGVyIHRvIG5vdCBsb3NlIHZibGFuayBjb3Vu dHMKLQkgKiBkdXJpbmcgdmJsYW5rIGlycSBvZmYgLSB3aGljaCB3b3VsZCBjb21wbGV0ZWx5IGRl ZmVhdCB0aGUgd2hvbGUKLQkgKiBwb2ludCBvZiB0aGlzIHJvdXRpbmUuCi0JICoKLQkgKiBXaGVu ZXZlciB3ZSBhcmUgY2FsbGVkIGZyb20gdmJsYW5rIGlycSwgd2UgaGF2ZSB0byBhc3N1bWUgY29u Y3VycmVudAotCSAqIHJlYWRlcnMgZXhpc3Qgb3IgY2FuIHNob3cgdXAgYW55IHRpbWUgZHVyaW5n IG91ciBleGVjdXRpb24sIGV2ZW4gaWYKLQkgKiB0aGUgcmVmY291bnQgaXMgY3VycmVudGx5IHpl cm8sIGFzIHZibGFuayBpcnFzIGFyZSB1c3VhbGx5IG9ubHkKLQkgKiBlbmFibGVkIGR1ZSB0byB0 aGUgcHJlc2VuY2Ugb2YgcmVhZGVycywgYW5kIGJlY2F1c2Ugd2hlbiB3ZSBhcmUgY2FsbGVkCi0J ICogZnJvbSB2YmxhbmsgaXJxIHdlIGNhbid0IGhvbGQgdGhlIHZibF9sb2NrIHRvIHByb3RlY3Qg dXMgZnJvbSBzdWRkZW4KLQkgKiBidW1wcyBpbiB2YmxhbmsgcmVmY291bnQuIFRoZXJlZm9yZSBh bHNvIHJlc3RyaWN0IGJ1bXBzIHRvICsxIHdoZW4KLQkgKiBjYWxsZWQgZnJvbSB2YmxhbmsgaXJx LgotCSAqLwotCWlmICgoZGlmZiA+IDEpICYmIChhdG9taWNfcmVhZCgmdmJsYW5rLT5yZWZjb3Vu dCkgPiAxIHx8Ci0JICAgIChmbGFncyAmIERSTV9DQUxMRURfRlJPTV9WQkxJUlEpKSkgewotCQlE Uk1fREVCVUdfVkJMKCJjbGFtcGluZyB2YmxhbmsgYnVtcCB0byAxIG9uIGNydGMgJXU6IGRpZmZy PSV1ICIKLQkJCSAgICAgICJyZWZjb3VudCAldSwgdmJsaXJxICV1XG4iLCBwaXBlLCBkaWZmLAot CQkJICAgICAgYXRvbWljX3JlYWQoJnZibGFuay0+cmVmY291bnQpLAotCQkJICAgICAgKGZsYWdz ICYgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSkgIT0gMCk7Ci0JCWRpZmYgPSAxOwotCX0KLQogCURS TV9ERUJVR19WQkwoInVwZGF0aW5nIHZibGFuayBjb3VudCBvbiBjcnRjICV1OiIKIAkJICAgICAg IiBjdXJyZW50PSV1LCBkaWZmPSV1LCBodz0ldSBod19sYXN0PSV1XG4iLAogCQkgICAgICBwaXBl LCB2YmxhbmstPmNvdW50LCBkaWZmLCBjdXJfdmJsYW5rLCB2YmxhbmstPmxhc3QpOwpAQCAtNDIw LDYgKzM1OSw3IEBAIGludCBkcm1fdmJsYW5rX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IG51bV9jcnRjcykKIAkJaW5pdF93YWl0cXVldWVfaGVhZCgmdmJsYW5rLT5x dWV1ZSk7CiAJCXNldHVwX3RpbWVyKCZ2YmxhbmstPmRpc2FibGVfdGltZXIsIHZibGFua19kaXNh YmxlX2ZuLAogCQkJICAgICh1bnNpZ25lZCBsb25nKXZibGFuayk7CisJCXNlcWxvY2tfaW5pdCgm dmJsYW5rLT5zZXFsb2NrKTsKIAl9CiAKIAlEUk1fSU5GTygiU3VwcG9ydHMgdmJsYW5rIHRpbWVz dGFtcCBjYWNoaW5nIFJldiAyICgyMS4xMC4yMDEzKS5cbiIpOwpAQCAtOTkxLDI1ICs5MzEsMTkg QEAgdTMyIGRybV92YmxhbmtfY291bnRfYW5kX3RpbWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IHBpcGUsCiAJCQkgICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5rdGltZSkK IHsKIAlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2LT52YmxhbmtbcGlwZV07 Ci0JaW50IGNvdW50ID0gRFJNX1RJTUVTVEFNUF9NQVhSRVRSSUVTOwotCXUzMiBjdXJfdmJsYW5r OworCXUzMiB2YmxhbmtfY291bnQ7CisJdW5zaWduZWQgaW50IHNlcTsKIAogCWlmIChXQVJOX09O KHBpcGUgPj0gZGV2LT5udW1fY3J0Y3MpKQogCQlyZXR1cm4gMDsKIAotCS8qCi0JICogVmJsYW5r IHRpbWVzdGFtcHMgYXJlIHJlYWQgbG9ja2xlc3MuIFRvIGVuc3VyZSBjb25zaXN0ZW5jeSB0aGUg dmJsYW5rCi0JICogY291bnRlciBpcyByZWNoZWNrZWQgYW5kIG9yZGVyaW5nIGlzIGVuc3VyZWQg dXNpbmcgbWVtb3J5IGJhcnJpZXJzLgotCSAqIFRoaXMgd29ya3MgbGlrZSBhIHNlcWxvY2suIFRo ZSB3cml0ZS1zaWRlIGJhcnJpZXJzIGFyZSBpbiBzdG9yZV92YmxhbmsuCi0JICovCiAJZG8gewot CQljdXJfdmJsYW5rID0gdmJsYW5rLT5jb3VudDsKLQkJc21wX3JtYigpOwotCQkqdmJsYW5rdGlt ZSA9IHZibGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIGN1cl92YmxhbmspOwotCQlzbXBfcm1iKCk7 Ci0JfSB3aGlsZSAoY3VyX3ZibGFuayAhPSB2YmxhbmstPmNvdW50ICYmIC0tY291bnQgPiAwKTsK KwkJc2VxID0gcmVhZF9zZXFiZWdpbigmdmJsYW5rLT5zZXFsb2NrKTsKKwkJdmJsYW5rX2NvdW50 ID0gdmJsYW5rLT5jb3VudDsKKwkJKnZibGFua3RpbWUgPSB2YmxhbmstPnRpbWU7CisJfSB3aGls ZSAocmVhZF9zZXFyZXRyeSgmdmJsYW5rLT5zZXFsb2NrLCBzZXEpKTsKIAotCXJldHVybiBjdXJf dmJsYW5rOworCXJldHVybiB2YmxhbmtfY291bnQ7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV92Ymxh bmtfY291bnRfYW5kX3RpbWUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1QLmggYi9p bmNsdWRlL2RybS9kcm1QLmgKaW5kZXggMzYwYjJhNy4uOWYzMzA5MCAxMDA2NDQKLS0tIGEvaW5j bHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAtNTIsNiArNTIsNyBA QAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9yYXRlbGltaXQuaD4K ICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KICNp bmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRl IDxsaW51eC92bWFsbG9jLmg+CkBAIC0zOTIsMTEgKzM5Myw2IEBAIHN0cnVjdCBkcm1fbWFzdGVy IHsKIAl2b2lkICpkcml2ZXJfcHJpdjsKIH07CiAKLS8qIFNpemUgb2YgcmluZ2J1ZmZlciBmb3Ig dmJsYW5rIHRpbWVzdGFtcHMuIEp1c3QgZG91YmxlLWJ1ZmZlcgotICogaW4gaW5pdGlhbCBpbXBs ZW1lbnRhdGlvbi4KLSAqLwotI2RlZmluZSBEUk1fVkJMQU5LVElNRV9SQlNJWkUgMgotCiAvKiBG bGFncyBhbmQgcmV0dXJuIGNvZGVzIGZvciBnZXRfdmJsYW5rX3RpbWVzdGFtcCgpIGRyaXZlciBm dW5jdGlvbi4gKi8KICNkZWZpbmUgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSAxCiAjZGVmaW5lIERS TV9WQkxBTktUSU1FX1NDQU5PVVRQT1NfTUVUSE9EICgxIDw8IDApCkBAIC03MjUsMTAgKzcyMSwx MCBAQCBzdHJ1Y3QgZHJtX3ZibGFua19jcnRjIHsKIAl3YWl0X3F1ZXVlX2hlYWRfdCBxdWV1ZTsJ LyoqPCBWQkxBTksgd2FpdCBxdWV1ZSAqLwogCXN0cnVjdCB0aW1lcl9saXN0IGRpc2FibGVfdGlt ZXI7CQkvKiBkZWxheWVkIGRpc2FibGUgdGltZXIgKi8KIAotCS8qIHZibGFuayBjb3VudGVyLCBw cm90ZWN0ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3cml0ZXMgKi8KLQl1MzIgY291 bnQ7Ci0JLyogdmJsYW5rIHRpbWVzdGFtcHMsIHByb3RlY3RlZCBieSBkZXYtPnZibGFua190aW1l X2xvY2sgZm9yIHdyaXRlcyAqLwotCXN0cnVjdCB0aW1ldmFsIHRpbWVbRFJNX1ZCTEFOS1RJTUVf UkJTSVpFXTsKKwlzZXFsb2NrX3Qgc2VxbG9jazsJCS8qIHByb3RlY3RzIHZibGFuayBjb3VudCBh bmQgdGltZSAqLworCisJdTMyIGNvdW50OwkJCS8qIHZibGFuayBjb3VudGVyICovCisJc3RydWN0 IHRpbWV2YWwgdGltZTsJCS8qIHZibGFuayB0aW1lc3RhbXAgKi8KIAogCWF0b21pY190IHJlZmNv dW50OwkJLyogbnVtYmVyIG9mIHVzZXJzIG9mIHZibGFuayBpbnRlcnJ1cHRzcGVyIGNydGMgKi8K IAl1MzIgbGFzdDsJCQkvKiBwcm90ZWN0ZWQgYnkgZGV2LT52YmxfbG9jaywgdXNlZCAqLwotLSAK Mi40LjExCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK