From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH] drm: use seqlock for vblank time/count Date: Tue, 10 May 2016 15:21:28 +0100 Message-ID: <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: 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 List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhaW1zIHRvIHJlcGxhY2UgdGhlIHJvbGwteW91ci1vd24gc2VxbG9jayBpbXBs ZW1lbnRhdGlvbiB3aXRoCmZ1bGwtYmxvd24gc2VxbG9jaycuIFdlIGFsc28gcmVtb3ZlIHRoZSB0 aW1lc3RhbXAgcmluZy1idWZmZXIgaW4gZmF2b3VyCm9mIHNpbmdsZSB0aW1lc3RhbXAvY291bnQg cGFpciBwcm90ZWN0ZWQgYnkgYSBzZXFsb2NrLiBJbiB0dXJuIHRoaXMKbWVhbnMgd2UgY2FuIG5v dyBpbmNyZW1lbnQgdGhlIHZibGFuayBmcmVlbHkgd2l0aG91dCB0aGUgbmVlZCBmb3IKY2xhbXBp bmcuCgp2MjoKICAtIHJlZHVjZSB0aGUgc2NvcGUgb2YgdGhlIHNlcWxvY2ssIGtlZXBpbmcgdmJs YW5rX3RpbWVfbG9jawogIC0gbWFrZSB0aGUgc2VxbG9jayBwZXIgdmJsYW5rX2NydGMsIHNvIG11 bHRpcGxlIHJlYWRlcnMgYXJlbid0IGJsb2NrZWQgYnkKICAgIHRoZSB3cml0ZXIKCkNjOiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxk IDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMg fCA5MCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5j bHVkZS9kcm0vZHJtUC5oICAgICAgICB8IDE0ICsrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE3 IGluc2VydGlvbnMoKyksIDg3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCmluZGV4IDNjMWE2ZjEu LjBlOTUxMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9pcnEuYwpAQCAtNDIsMTAgKzQyLDYgQEAKICNpbmNsdWRlIDxsaW51 eC92Z2FhcmIuaD4KICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KIAotLyogQWNjZXNzIG1hY3Jv IGZvciBzbG90cyBpbiB2YmxhbmsgdGltZXN0YW1wIHJpbmdidWZmZXIuICovCi0jZGVmaW5lIHZi bGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIGNvdW50KSBcCi0JKChkZXYpLT52YmxhbmtbcGlwZV0u dGltZVsoY291bnQpICUgRFJNX1ZCTEFOS1RJTUVfUkJTSVpFXSkKLQogLyogUmV0cnkgdGltZXN0 YW1wIGNhbGN1bGF0aW9uIHVwIHRvIDMgdGltZXMgdG8gc2F0aXNmeQogICogZHJtX3RpbWVzdGFt cF9wcmVjaXNpb24gYmVmb3JlIGdpdmluZyB1cC4KICAqLwpAQCAtODIsMjkgKzc4LDE1IEBAIHN0 YXRpYyB2b2lkIHN0b3JlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcGlwZSwKIAkJCSBzdHJ1Y3QgdGltZXZhbCAqdF92YmxhbmssIHUzMiBsYXN0KQogewogCXN0 cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuayA9ICZkZXYtPnZibGFua1twaXBlXTsKLQl1MzIg dHNsb3Q7CiAKIAlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldi0+dmJsYW5rX3RpbWVfbG9jayk7CiAK IAl2YmxhbmstPmxhc3QgPSBsYXN0OwogCi0JLyogQWxsIHdyaXRlcnMgaG9sZCB0aGUgc3Bpbmxv Y2ssIGJ1dCByZWFkZXJzIGFyZSBzZXJpYWxpemVkIGJ5Ci0JICogdGhlIGxhdGNoaW5nIG9mIHZi bGFuay0+Y291bnQgYmVsb3cuCi0JICovCi0JdHNsb3QgPSB2YmxhbmstPmNvdW50ICsgdmJsYW5r X2NvdW50X2luYzsKLQl2Ymxhbmt0aW1lc3RhbXAoZGV2LCBwaXBlLCB0c2xvdCkgPSAqdF92Ymxh bms7Ci0KLQkvKgotCSAqIHZibGFuayB0aW1lc3RhbXAgdXBkYXRlcyBhcmUgcHJvdGVjdGVkIG9u IHRoZSB3cml0ZSBzaWRlIHdpdGgKLQkgKiB2YmxhbmtfdGltZV9sb2NrLCBidXQgb24gdGhlIHJl YWQgc2lkZSBkb25lIGxvY2tsZXNzbHkgdXNpbmcgYQotCSAqIHNlcXVlbmNlLWxvY2sgb24gdGhl IHZibGFuayBjb3VudGVyLiBFbnN1cmUgY29ycmVjdCBvcmRlcmluZyB1c2luZwotCSAqIG1lbW9y eSBiYXJycmllcnMuIFdlIG5lZWQgdGhlIGJhcnJpZXIgYm90aCBiZWZvcmUgYW5kIGFsc28gYWZ0 ZXIgdGhlCi0JICogY291bnRlciB1cGRhdGUgdG8gc3luY2hyb25pemUgd2l0aCB0aGUgbmV4dCB0 aW1lc3RhbXAgd3JpdGUuCi0JICogVGhlIHJlYWQtc2lkZSBiYXJyaWVycyBmb3IgdGhpcyBhcmUg aW4gZHJtX3ZibGFua19jb3VudF9hbmRfdGltZS4KLQkgKi8KLQlzbXBfd21iKCk7CisJd3JpdGVf c2VxbG9jaygmdmJsYW5rLT5zZXFsb2NrKTsKKwl2YmxhbmstPnRpbWUgPSAqdF92Ymxhbms7CiAJ dmJsYW5rLT5jb3VudCArPSB2YmxhbmtfY291bnRfaW5jOwotCXNtcF93bWIoKTsKKwl3cml0ZV9z ZXF1bmxvY2soJnZibGFuay0+c2VxbG9jayk7CiB9CiAKIC8qKgpAQCAtMjA1LDcgKzE4Nyw3IEBA IHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHVuc2lnbmVkIGludCBwaXBlLAogCQljb25zdCBzdHJ1Y3QgdGltZXZhbCAqdF9vbGQ7CiAJ CXU2NCBkaWZmX25zOwogCi0JCXRfb2xkID0gJnZibGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIHZi bGFuay0+Y291bnQpOworCQl0X29sZCA9ICZ2YmxhbmstPnRpbWU7CiAJCWRpZmZfbnMgPSB0aW1l dmFsX3RvX25zKCZ0X3ZibGFuaykgLSB0aW1ldmFsX3RvX25zKHRfb2xkKTsKIAogCQkvKgpAQCAt MjM5LDQ5ICsyMjEsNiBAQCBzdGF0aWMgdm9pZCBkcm1fdXBkYXRlX3ZibGFua19jb3VudChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKIAkJZGlmZiA9IDE7CiAJfQog Ci0JLyoKLQkgKiBGSU1YRTogTmVlZCB0byByZXBsYWNlIHRoaXMgaGFjayB3aXRoIHByb3BlciBz ZXFsb2Nrcy4KLQkgKgotCSAqIFJlc3RyaWN0IHRoZSBidW1wIG9mIHRoZSBzb2Z0d2FyZSB2Ymxh bmsgY291bnRlciB0byBhIHNhZmUgbWF4aW11bQotCSAqIHZhbHVlIG9mICsxIHdoZW5ldmVyIHRo ZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IGNvbmN1cnJlbnQgcmVhZGVycwotCSAqIG9mIHZi bGFuayB0aW1lc3RhbXBzIGNvdWxkIGJlIGFjdGl2ZSBhdCB0aGUgbW9tZW50LCBhcyB0aGUgY3Vy cmVudAotCSAqIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0aW1lc3RhbXAgY2FjaGluZyBhbmQgdXBk YXRpbmcgaXMgbm90IHNhZmUKLQkgKiBhZ2FpbnN0IGNvbmN1cnJlbnQgcmVhZGVycyBmb3IgY2Fs bHMgdG8gc3RvcmVfdmJsYW5rKCkgd2l0aCBhIGJ1bXAKLQkgKiBvZiBhbnl0aGluZyBidXQgKzEu IEEgYnVtcCAhPSAxIHdvdWxkIHZlcnkgbGlrZWx5IHJldHVybiBjb3JydXB0ZWQKLQkgKiB0aW1l c3RhbXBzIHRvIHVzZXJzcGFjZSwgYmVjYXVzZSB0aGUgc2FtZSBzbG90IGluIHRoZSBjYWNoZSBj b3VsZAotCSAqIGJlIGNvbmN1cnJlbnRseSB3cml0dGVuIGJ5IHN0b3JlX3ZibGFuaygpIGFuZCBy ZWFkIGJ5IG9uZSBvZiB0aG9zZQotCSAqIHJlYWRlcnMgd2l0aG91dCB0aGUgcmVhZC1yZXRyeSBs b2dpYyBkZXRlY3RpbmcgdGhlIGNvbGxpc2lvbi4KLQkgKgotCSAqIENvbmN1cnJlbnQgcmVhZGVy cyBjYW4gZXhpc3Qgd2hlbiB3ZSBhcmUgY2FsbGVkIGZyb20gdGhlCi0JICogZHJtX3ZibGFua19v ZmYoKSBvciBkcm1fdmJsYW5rX29uKCkgZnVuY3Rpb25zIGFuZCBvdGhlciBub24tdmJsYW5rLQot CSAqIGlycSBjYWxsZXJzLiBIb3dldmVyLCBhbGwgdGhvc2UgY2FsbHMgdG8gdXMgYXJlIGhhcHBl bmluZyB3aXRoIHRoZQotCSAqIHZibF9sb2NrIGxvY2tlZCB0byBwcmV2ZW50IGRybV92Ymxhbmtf Z2V0KCksIHNvIHRoZSB2YmxhbmsgcmVmY291bnQKLQkgKiBjYW4ndCBpbmNyZWFzZSB3aGlsZSB3 ZSBhcmUgZXhlY3V0aW5nLiBUaGVyZWZvcmUgYSB6ZXJvIHJlZmNvdW50IGF0Ci0JICogdGhpcyBw b2ludCBpcyBzYWZlIGZvciBhcmJpdHJhcnkgY291bnRlciBidW1wcyBpZiB3ZSBhcmUgY2FsbGVk Ci0JICogb3V0c2lkZSB2YmxhbmsgaXJxLCBhIG5vbi16ZXJvIGNvdW50IGlzIG5vdCAxMDAlIHNh ZmUuIFVuZm9ydHVuYXRlbHkKLQkgKiB3ZSBtdXN0IGFsc28gYWNjZXB0IGEgcmVmY291bnQgb2Yg MSwgYXMgd2hlbmV2ZXIgd2UgYXJlIGNhbGxlZCBmcm9tCi0JICogZHJtX3ZibGFua19nZXQoKSAt PiBkcm1fdmJsYW5rX2VuYWJsZSgpIHRoZSByZWZjb3VudCB3aWxsIGJlIDEgYW5kCi0JICogd2Ug bXVzdCBsZXQgdGhhdCBvbmUgcGFzcyB0aHJvdWdoIGluIG9yZGVyIHRvIG5vdCBsb3NlIHZibGFu ayBjb3VudHMKLQkgKiBkdXJpbmcgdmJsYW5rIGlycSBvZmYgLSB3aGljaCB3b3VsZCBjb21wbGV0 ZWx5IGRlZmVhdCB0aGUgd2hvbGUKLQkgKiBwb2ludCBvZiB0aGlzIHJvdXRpbmUuCi0JICoKLQkg KiBXaGVuZXZlciB3ZSBhcmUgY2FsbGVkIGZyb20gdmJsYW5rIGlycSwgd2UgaGF2ZSB0byBhc3N1 bWUgY29uY3VycmVudAotCSAqIHJlYWRlcnMgZXhpc3Qgb3IgY2FuIHNob3cgdXAgYW55IHRpbWUg ZHVyaW5nIG91ciBleGVjdXRpb24sIGV2ZW4gaWYKLQkgKiB0aGUgcmVmY291bnQgaXMgY3VycmVu dGx5IHplcm8sIGFzIHZibGFuayBpcnFzIGFyZSB1c3VhbGx5IG9ubHkKLQkgKiBlbmFibGVkIGR1 ZSB0byB0aGUgcHJlc2VuY2Ugb2YgcmVhZGVycywgYW5kIGJlY2F1c2Ugd2hlbiB3ZSBhcmUgY2Fs bGVkCi0JICogZnJvbSB2YmxhbmsgaXJxIHdlIGNhbid0IGhvbGQgdGhlIHZibF9sb2NrIHRvIHBy b3RlY3QgdXMgZnJvbSBzdWRkZW4KLQkgKiBidW1wcyBpbiB2YmxhbmsgcmVmY291bnQuIFRoZXJl Zm9yZSBhbHNvIHJlc3RyaWN0IGJ1bXBzIHRvICsxIHdoZW4KLQkgKiBjYWxsZWQgZnJvbSB2Ymxh bmsgaXJxLgotCSAqLwotCWlmICgoZGlmZiA+IDEpICYmIChhdG9taWNfcmVhZCgmdmJsYW5rLT5y ZWZjb3VudCkgPiAxIHx8Ci0JICAgIChmbGFncyAmIERSTV9DQUxMRURfRlJPTV9WQkxJUlEpKSkg ewotCQlEUk1fREVCVUdfVkJMKCJjbGFtcGluZyB2YmxhbmsgYnVtcCB0byAxIG9uIGNydGMgJXU6 IGRpZmZyPSV1ICIKLQkJCSAgICAgICJyZWZjb3VudCAldSwgdmJsaXJxICV1XG4iLCBwaXBlLCBk aWZmLAotCQkJICAgICAgYXRvbWljX3JlYWQoJnZibGFuay0+cmVmY291bnQpLAotCQkJICAgICAg KGZsYWdzICYgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSkgIT0gMCk7Ci0JCWRpZmYgPSAxOwotCX0K LQogCURSTV9ERUJVR19WQkwoInVwZGF0aW5nIHZibGFuayBjb3VudCBvbiBjcnRjICV1OiIKIAkJ ICAgICAgIiBjdXJyZW50PSV1LCBkaWZmPSV1LCBodz0ldSBod19sYXN0PSV1XG4iLAogCQkgICAg ICBwaXBlLCB2YmxhbmstPmNvdW50LCBkaWZmLCBjdXJfdmJsYW5rLCB2YmxhbmstPmxhc3QpOwpA QCAtNDIwLDYgKzM1OSw3IEBAIGludCBkcm1fdmJsYW5rX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgaW50IG51bV9jcnRjcykKIAkJaW5pdF93YWl0cXVldWVfaGVhZCgmdmJs YW5rLT5xdWV1ZSk7CiAJCXNldHVwX3RpbWVyKCZ2YmxhbmstPmRpc2FibGVfdGltZXIsIHZibGFu a19kaXNhYmxlX2ZuLAogCQkJICAgICh1bnNpZ25lZCBsb25nKXZibGFuayk7CisJCXNlcWxvY2tf aW5pdCgmdmJsYW5rLT5zZXFsb2NrKTsKIAl9CiAKIAlEUk1fSU5GTygiU3VwcG9ydHMgdmJsYW5r IHRpbWVzdGFtcCBjYWNoaW5nIFJldiAyICgyMS4xMC4yMDEzKS5cbiIpOwpAQCAtOTkxLDI1ICs5 MzEsMTkgQEAgdTMyIGRybV92YmxhbmtfY291bnRfYW5kX3RpbWUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgaW50IHBpcGUsCiAJCQkgICAgICBzdHJ1Y3QgdGltZXZhbCAqdmJsYW5r dGltZSkKIHsKIAlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2LT52Ymxhbmtb cGlwZV07Ci0JaW50IGNvdW50ID0gRFJNX1RJTUVTVEFNUF9NQVhSRVRSSUVTOwotCXUzMiBjdXJf dmJsYW5rOworCXUzMiB2YmxhbmtfY291bnQ7CisJdW5zaWduZWQgaW50IHNlcTsKIAogCWlmIChX QVJOX09OKHBpcGUgPj0gZGV2LT5udW1fY3J0Y3MpKQogCQlyZXR1cm4gMDsKIAotCS8qCi0JICog VmJsYW5rIHRpbWVzdGFtcHMgYXJlIHJlYWQgbG9ja2xlc3MuIFRvIGVuc3VyZSBjb25zaXN0ZW5j eSB0aGUgdmJsYW5rCi0JICogY291bnRlciBpcyByZWNoZWNrZWQgYW5kIG9yZGVyaW5nIGlzIGVu c3VyZWQgdXNpbmcgbWVtb3J5IGJhcnJpZXJzLgotCSAqIFRoaXMgd29ya3MgbGlrZSBhIHNlcWxv Y2suIFRoZSB3cml0ZS1zaWRlIGJhcnJpZXJzIGFyZSBpbiBzdG9yZV92YmxhbmsuCi0JICovCiAJ ZG8gewotCQljdXJfdmJsYW5rID0gdmJsYW5rLT5jb3VudDsKLQkJc21wX3JtYigpOwotCQkqdmJs YW5rdGltZSA9IHZibGFua3RpbWVzdGFtcChkZXYsIHBpcGUsIGN1cl92YmxhbmspOwotCQlzbXBf cm1iKCk7Ci0JfSB3aGlsZSAoY3VyX3ZibGFuayAhPSB2YmxhbmstPmNvdW50ICYmIC0tY291bnQg PiAwKTsKKwkJc2VxID0gcmVhZF9zZXFiZWdpbigmdmJsYW5rLT5zZXFsb2NrKTsKKwkJdmJsYW5r X2NvdW50ID0gdmJsYW5rLT5jb3VudDsKKwkJKnZibGFua3RpbWUgPSB2YmxhbmstPnRpbWU7CisJ fSB3aGlsZSAocmVhZF9zZXFyZXRyeSgmdmJsYW5rLT5zZXFsb2NrLCBzZXEpKTsKIAotCXJldHVy biBjdXJfdmJsYW5rOworCXJldHVybiB2YmxhbmtfY291bnQ7CiB9CiBFWFBPUlRfU1lNQk9MKGRy bV92YmxhbmtfY291bnRfYW5kX3RpbWUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1Q LmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXggMzYwYjJhNy4uOWYzMzA5MCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAtNTIsNiAr NTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9yYXRlbGlt aXQuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcWxvY2su aD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNp bmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CkBAIC0zOTIsMTEgKzM5Myw2IEBAIHN0cnVjdCBkcm1f bWFzdGVyIHsKIAl2b2lkICpkcml2ZXJfcHJpdjsKIH07CiAKLS8qIFNpemUgb2YgcmluZ2J1ZmZl ciBmb3IgdmJsYW5rIHRpbWVzdGFtcHMuIEp1c3QgZG91YmxlLWJ1ZmZlcgotICogaW4gaW5pdGlh bCBpbXBsZW1lbnRhdGlvbi4KLSAqLwotI2RlZmluZSBEUk1fVkJMQU5LVElNRV9SQlNJWkUgMgot CiAvKiBGbGFncyBhbmQgcmV0dXJuIGNvZGVzIGZvciBnZXRfdmJsYW5rX3RpbWVzdGFtcCgpIGRy aXZlciBmdW5jdGlvbi4gKi8KICNkZWZpbmUgRFJNX0NBTExFRF9GUk9NX1ZCTElSUSAxCiAjZGVm aW5lIERSTV9WQkxBTktUSU1FX1NDQU5PVVRQT1NfTUVUSE9EICgxIDw8IDApCkBAIC03MjUsMTAg KzcyMSwxMCBAQCBzdHJ1Y3QgZHJtX3ZibGFua19jcnRjIHsKIAl3YWl0X3F1ZXVlX2hlYWRfdCBx dWV1ZTsJLyoqPCBWQkxBTksgd2FpdCBxdWV1ZSAqLwogCXN0cnVjdCB0aW1lcl9saXN0IGRpc2Fi bGVfdGltZXI7CQkvKiBkZWxheWVkIGRpc2FibGUgdGltZXIgKi8KIAotCS8qIHZibGFuayBjb3Vu dGVyLCBwcm90ZWN0ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3cml0ZXMgKi8KLQl1 MzIgY291bnQ7Ci0JLyogdmJsYW5rIHRpbWVzdGFtcHMsIHByb3RlY3RlZCBieSBkZXYtPnZibGFu a190aW1lX2xvY2sgZm9yIHdyaXRlcyAqLwotCXN0cnVjdCB0aW1ldmFsIHRpbWVbRFJNX1ZCTEFO S1RJTUVfUkJTSVpFXTsKKwlzZXFsb2NrX3Qgc2VxbG9jazsJCS8qIHByb3RlY3RzIHZibGFuayBj b3VudCBhbmQgdGltZSAqLworCisJdTMyIGNvdW50OwkJCS8qIHZibGFuayBjb3VudGVyICovCisJ c3RydWN0IHRpbWV2YWwgdGltZTsJCS8qIHZibGFuayB0aW1lc3RhbXAgKi8KIAogCWF0b21pY190 IHJlZmNvdW50OwkJLyogbnVtYmVyIG9mIHVzZXJzIG9mIHZibGFuayBpbnRlcnJ1cHRzcGVyIGNy dGMgKi8KIAl1MzIgbGFzdDsJCQkvKiBwcm90ZWN0ZWQgYnkgZGV2LT52YmxfbG9jaywgdXNlZCAq LwotLSAKMi40LjExCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK