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: Thu, 16 Apr 2015 10:59:17 +0200 Message-ID: <1429174757-693-1-git-send-email-daniel.vetter@ffwll.ch> References: <1429119283-11215-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: <1429119283-11215-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 aW9uYWwgb3B0aW1pemF0aW9uIGlzIHRvbyByaXNreS4KCnY0OiBVc2UgdTMyIGZvciBjb25zaXN0 ZW5jeSwgc3VnZ2VzdGVkIGJ5IE1hcmlvLgoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgpDYzogTWFyaW8gS2xlaW5lciA8bWFyaW8ua2xlaW5lci5kZUBnbWFpbC5j b20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpD YzogTWljaGVsIETDpG56ZXIgPG1pY2hlbEBkYWVuemVyLm5ldD4KQ2M6IFBldGVyIEh1cmxleSA8 cGV0ZXJAaHVybGV5c29mdHdhcmUuY29tPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+ICh2MykKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyB8 IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNs dWRlL2RybS9kcm1QLmggICAgICAgIHwgIDggKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNl cnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwppbmRleCBjOGEzNDQ3NjU3MGEu LmQ1NjdmMDMxODkyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCkBAIC03NCw2ICs3NCwzNiBAQCBtb2R1bGVfcGFy YW1fbmFtZWQodmJsYW5rb2ZmZGVsYXksIGRybV92Ymxhbmtfb2ZmZGVsYXksIGludCwgMDYwMCk7 CiBtb2R1bGVfcGFyYW1fbmFtZWQodGltZXN0YW1wX3ByZWNpc2lvbl91c2VjLCBkcm1fdGltZXN0 YW1wX3ByZWNpc2lvbiwgaW50LCAwNjAwKTsKIG1vZHVsZV9wYXJhbV9uYW1lZCh0aW1lc3RhbXBf bW9ub3RvbmljLCBkcm1fdGltZXN0YW1wX21vbm90b25pYywgaW50LCAwNjAwKTsKIAorc3RhdGlj IHZvaWQgc3RvcmVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjLAorCQkJ IHUzMiB2YmxhbmtfY291bnRfaW5jLAorCQkJIHN0cnVjdCB0aW1ldmFsICp0X3ZibGFuaykKK3sK KwlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2YmxhbmsgPSAmZGV2LT52YmxhbmtbY3J0Y107CisJ dTMyIHRzbG90OworCisJYXNzZXJ0X3NwaW5fbG9ja2VkKCZkZXYtPnZibGFua190aW1lX2xvY2sp OworCisJaWYgKHRfdmJsYW5rKSB7CisJCS8qIEFsbCB3cml0ZXJzIGhvbGQgdGhlIHNwaW5sb2Nr LCBidXQgcmVhZGVycyBhcmUgc2VyaWFsaXplZCBieQorCQkgKiB0aGUgbGF0Y2hpbmcgb2YgdmJs YW5rLT5jb3VudCBiZWxvdy4KKwkJICovCisJCXRzbG90ID0gdmJsYW5rLT5jb3VudCArIHZibGFu a19jb3VudF9pbmM7CisJCXZibGFua3RpbWVzdGFtcChkZXYsIGNydGMsIHRzbG90KSA9ICp0X3Zi bGFuazsKKwl9CisKKwkvKgorCSAqIHZibGFuayB0aW1lc3RhbXAgdXBkYXRlcyBhcmUgcHJvdGVj dGVkIG9uIHRoZSB3cml0ZSBzaWRlIHdpdGgKKwkgKiB2YmxhbmtfdGltZV9sb2NrLCBidXQgb24g dGhlIHJlYWQgc2lkZSBkb25lIGxvY2tsZXNzbHkgdXNpbmcgYQorCSAqIHNlcXVlbmNlLWxvY2sg b24gdGhlIHZibGFuayBjb3VudGVyLiBFbnN1cmUgY29ycmVjdCBvcmRlcmluZyB1c2luZworCSAq IG1lbW9yeSBiYXJycmllcnMuIFdlIG5lZWQgdGhlIGJhcnJpZXIgYm90aCBiZWZvcmUgYW5kIGFs c28gYWZ0ZXIgdGhlCisJICogY291bnRlciB1cGRhdGUgdG8gc3luY2hyb25pemUgd2l0aCB0aGUg bmV4dCB0aW1lc3RhbXAgd3JpdGUuCisJICogVGhlIHJlYWQtc2lkZSBiYXJyaWVycyBmb3IgdGhp cyBhcmUgaW4gZHJtX3ZibGFua19jb3VudF9hbmRfdGltZS4KKwkgKi8KKwlzbXBfd21iKCk7CisJ dmJsYW5rLT5jb3VudCArPSB2YmxhbmtfY291bnRfaW5jOworCXNtcF93bWIoKTsKK30KKwogLyoq CiAgKiBkcm1fdXBkYXRlX3ZibGFua19jb3VudCAtIHVwZGF0ZSB0aGUgbWFzdGVyIHZibGFuayBj b3VudGVyCiAgKiBAZGV2OiBEUk0gZGV2aWNlCkBAIC05Myw3ICsxMjMsNyBAQCBtb2R1bGVfcGFy YW1fbmFtZWQodGltZXN0YW1wX21vbm90b25pYywgZHJtX3RpbWVzdGFtcF9tb25vdG9uaWMsIGlu dCwgMDYwMCk7CiBzdGF0aWMgdm9pZCBkcm1fdXBkYXRlX3ZibGFua19jb3VudChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX3ZibGFua19jcnRjICp2Ymxh bmsgPSAmZGV2LT52YmxhbmtbY3J0Y107Ci0JdTMyIGN1cl92YmxhbmssIGRpZmYsIHRzbG90Owor CXUzMiBjdXJfdmJsYW5rLCBkaWZmOwogCWJvb2wgcmM7CiAJc3RydWN0IHRpbWV2YWwgdF92Ymxh bms7CiAKQEAgLTEyOSwxOCArMTU5LDEyIEBAIHN0YXRpYyB2b2lkIGRybV91cGRhdGVfdmJsYW5r X2NvdW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjKQogCWlmIChkaWZmID09IDAp CiAJCXJldHVybjsKIAotCS8qIFJlaW5pdGlhbGl6ZSBjb3JyZXNwb25kaW5nIHZibGFuayB0aW1l c3RhbXAgaWYgaGlnaC1wcmVjaXNpb24gcXVlcnkKLQkgKiBhdmFpbGFibGUuIFNraXAgdGhpcyBz dGVwIGlmIHF1ZXJ5IHVuc3VwcG9ydGVkIG9yIGZhaWxlZC4gV2lsbAotCSAqIHJlaW5pdGlhbGl6 ZSBkZWxheWVkIGF0IG5leHQgdmJsYW5rIGludGVycnVwdCBpbiB0aGF0IGNhc2UuCisJLyoKKwkg KiBPbmx5IHJlaW5pdGlhbGl6ZSBjb3JyZXNwb25kaW5nIHZibGFuayB0aW1lc3RhbXAgaWYgaGln aC1wcmVjaXNpb24gcXVlcnkKKwkgKiBhdmFpbGFibGUgYW5kIGRpZG4ndCBmYWlsLiBXaWxsIHJl aW5pdGlhbGl6ZSBkZWxheWVkIGF0IG5leHQgdmJsYW5rCisJICogaW50ZXJydXB0IGluIHRoYXQg Y2FzZS4KIAkgKi8KLQlpZiAocmMpIHsKLQkJdHNsb3QgPSBhdG9taWNfcmVhZCgmdmJsYW5rLT5j b3VudCkgKyBkaWZmOwotCQl2Ymxhbmt0aW1lc3RhbXAoZGV2LCBjcnRjLCB0c2xvdCkgPSB0X3Zi bGFuazsKLQl9Ci0KLQlzbXBfbWJfX2JlZm9yZV9hdG9taWMoKTsKLQlhdG9taWNfYWRkKGRpZmYs ICZ2YmxhbmstPmNvdW50KTsKLQlzbXBfbWJfX2FmdGVyX2F0b21pYygpOworCXN0b3JlX3ZibGFu ayhkZXYsIGNydGMsIGRpZmYsIHJjID8gJnRfdmJsYW5rIDogTlVMTCk7CiB9CiAKIC8qCkBAIC0y MTgsNyArMjQyLDcgQEAgc3RhdGljIHZvaWQgdmJsYW5rX2Rpc2FibGVfYW5kX3NhdmUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IGNydGMpCiAJLyogQ29tcHV0ZSB0aW1lIGRpZmZlcmVuY2Ug dG8gc3RvcmVkIHRpbWVzdGFtcCBvZiBsYXN0IHZibGFuawogCSAqIGFzIHVwZGF0ZWQgYnkgbGFz dCBpbnZvY2F0aW9uIG9mIGRybV9oYW5kbGVfdmJsYW5rKCkgaW4gdmJsYW5rIGlycS4KIAkgKi8K LQl2Ymxjb3VudCA9IGF0b21pY19yZWFkKCZ2YmxhbmstPmNvdW50KTsKKwl2Ymxjb3VudCA9IHZi bGFuay0+Y291bnQ7CiAJZGlmZl9ucyA9IHRpbWV2YWxfdG9fbnMoJnR2YmxhbmspIC0KIAkJICB0 aW1ldmFsX3RvX25zKCZ2Ymxhbmt0aW1lc3RhbXAoZGV2LCBjcnRjLCB2Ymxjb3VudCkpOwogCkBA IC0yMzQsMTcgKzI1OCw4IEBAIHN0YXRpYyB2b2lkIHZibGFua19kaXNhYmxlX2FuZF9zYXZlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBjcnRjKQogCSAqIGF2YWlsYWJsZS4gSW4gdGhhdCBj YXNlIHdlIGNhbid0IGFjY291bnQgZm9yIHRoaXMgYW5kIGp1c3QKIAkgKiBob3BlIGZvciB0aGUg YmVzdC4KIAkgKi8KLQlpZiAodmJscmMgJiYgKGFiczY0KGRpZmZfbnMpID4gMTAwMDAwMCkpIHsK LQkJLyogU3RvcmUgbmV3IHRpbWVzdGFtcCBpbiByaW5nYnVmZmVyLiAqLwotCQl2Ymxhbmt0aW1l c3RhbXAoZGV2LCBjcnRjLCB2Ymxjb3VudCArIDEpID0gdHZibGFuazsKLQotCQkvKiBJbmNyZW1l bnQgY29va2VkIHZibGFuayBjb3VudC4gVGhpcyBhbHNvIGF0b21pY2FsbHkgY29tbWl0cwotCQkg KiB0aGUgdGltZXN0YW1wIGNvbXB1dGVkIGFib3ZlLgotCQkgKi8KLQkJc21wX21iX19iZWZvcmVf YXRvbWljKCk7Ci0JCWF0b21pY19pbmMoJnZibGFuay0+Y291bnQpOwotCQlzbXBfbWJfX2FmdGVy X2F0b21pYygpOwotCX0KKwlpZiAodmJscmMgJiYgKGFiczY0KGRpZmZfbnMpID4gMTAwMDAwMCkp CisJCXN0b3JlX3ZibGFuayhkZXYsIGNydGMsIDEsICZ0dmJsYW5rKTsKIAogCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmRldi0+dmJsYW5rX3RpbWVfbG9jaywgaXJxZmxhZ3MpOwogfQpAQCAtODUy LDcgKzg2Nyw3IEBAIHUzMiBkcm1fdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IGludCBjcnRjKQogCiAJaWYgKFdBUk5fT04oY3J0YyA+PSBkZXYtPm51bV9jcnRjcykpCiAJCXJl dHVybiAwOwotCXJldHVybiBhdG9taWNfcmVhZCgmdmJsYW5rLT5jb3VudCk7CisJcmV0dXJuIHZi bGFuay0+Y291bnQ7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV92YmxhbmtfY291bnQpOwogCkBAIC04 OTcsMTYgKzkxMiwxNyBAQCB1MzIgZHJtX3ZibGFua19jb3VudF9hbmRfdGltZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgY3J0YywKIAlpZiAoV0FSTl9PTihjcnRjID49IGRldi0+bnVtX2Ny dGNzKSkKIAkJcmV0dXJuIDA7CiAKLQkvKiBSZWFkIHRpbWVzdGFtcCBmcm9tIHNsb3Qgb2YgX3Zi bGFua190aW1lIHJpbmdidWZmZXIKLQkgKiB0aGF0IGNvcnJlc3BvbmRzIHRvIGN1cnJlbnQgdmJs YW5rIGNvdW50LiBSZXRyeSBpZgotCSAqIGNvdW50IGhhcyBpbmNyZW1lbnRlZCBkdXJpbmcgcmVh ZG91dC4gVGhpcyB3b3JrcyBsaWtlCi0JICogYSBzZXFsb2NrLgorCS8qCisJICogVmJsYW5rIHRp bWVzdGFtcHMgYXJlIHJlYWQgbG9ja2xlc3MuIFRvIGVuc3VyZSBjb25zaXN0ZW5jeSB0aGUgdmJs YW5rCisJICogY291bnRlciBpcyByZWNoZWNrZWQgYW5kIG9yZGVyaW5nIGlzIGVuc3VyZWQgdXNp bmcgbWVtb3J5IGJhcnJpZXJzLgorCSAqIFRoaXMgd29ya3MgbGlrZSBhIHNlcWxvY2suIFRoZSB3 cml0ZS1zaWRlIGJhcnJpZXJzIGFyZSBpbiBzdG9yZV92YmxhbmsuCiAJICovCiAJZG8gewotCQlj dXJfdmJsYW5rID0gYXRvbWljX3JlYWQoJnZibGFuay0+Y291bnQpOworCQljdXJfdmJsYW5rID0g dmJsYW5rLT5jb3VudDsKKwkJc21wX3JtYigpOwogCQkqdmJsYW5rdGltZSA9IHZibGFua3RpbWVz dGFtcChkZXYsIGNydGMsIGN1cl92YmxhbmspOwogCQlzbXBfcm1iKCk7Ci0JfSB3aGlsZSAoY3Vy X3ZibGFuayAhPSBhdG9taWNfcmVhZCgmdmJsYW5rLT5jb3VudCkpOworCX0gd2hpbGUgKGN1cl92 YmxhbmsgIT0gdmJsYW5rLT5jb3VudCk7CiAKIAlyZXR1cm4gY3VyX3ZibGFuazsKIH0KQEAgLTE3 MTUsNyArMTczMSw3IEBAIGJvb2wgZHJtX2hhbmRsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgaW50IGNydGMpCiAJICovCiAKIAkvKiBHZXQgY3VycmVudCB0aW1lc3RhbXAgYW5kIGNv dW50LiAqLwotCXZibGNvdW50ID0gYXRvbWljX3JlYWQoJnZibGFuay0+Y291bnQpOworCXZibGNv dW50ID0gdmJsYW5rLT5jb3VudDsKIAlkcm1fZ2V0X2xhc3RfdmJsdGltZXN0YW1wKGRldiwgY3J0 YywgJnR2YmxhbmssIERSTV9DQUxMRURfRlJPTV9WQkxJUlEpOwogCiAJLyogQ29tcHV0ZSB0aW1l IGRpZmZlcmVuY2UgdG8gdGltZXN0YW1wIG9mIGxhc3QgdmJsYW5rICovCkBAIC0xNzMxLDIwICsx NzQ3LDExIEBAIGJvb2wgZHJtX2hhbmRsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg aW50IGNydGMpCiAJICogZS5nLiwgZHVlIHRvIHNwdXJpb3VzIHZibGFuayBpbnRlcnJ1cHRzLiBX ZSBuZWVkIHRvCiAJICogaWdub3JlIHRob3NlIGZvciBhY2NvdW50aW5nLgogCSAqLwotCWlmIChh YnM2NChkaWZmX25zKSA+IERSTV9SRURVTkRBTlRfVkJMSVJRX1RIUkVTSF9OUykgewotCQkvKiBT dG9yZSBuZXcgdGltZXN0YW1wIGluIHJpbmdidWZmZXIuICovCi0JCXZibGFua3RpbWVzdGFtcChk ZXYsIGNydGMsIHZibGNvdW50ICsgMSkgPSB0dmJsYW5rOwotCi0JCS8qIEluY3JlbWVudCBjb29r ZWQgdmJsYW5rIGNvdW50LiBUaGlzIGFsc28gYXRvbWljYWxseSBjb21taXRzCi0JCSAqIHRoZSB0 aW1lc3RhbXAgY29tcHV0ZWQgYWJvdmUuCi0JCSAqLwotCQlzbXBfbWJfX2JlZm9yZV9hdG9taWMo KTsKLQkJYXRvbWljX2luYygmdmJsYW5rLT5jb3VudCk7Ci0JCXNtcF9tYl9fYWZ0ZXJfYXRvbWlj KCk7Ci0JfSBlbHNlIHsKKwlpZiAoYWJzNjQoZGlmZl9ucykgPiBEUk1fUkVEVU5EQU5UX1ZCTElS UV9USFJFU0hfTlMpCisJCXN0b3JlX3ZibGFuayhkZXYsIGNydGMsIDEsICZ0dmJsYW5rKTsKKwll bHNlCiAJCURSTV9ERUJVRygiY3J0YyAlZDogUmVkdW5kYW50IHZibGlycSBpZ25vcmVkLiBkaWZm X25zID0gJWRcbiIsCiAJCQkgIGNydGMsIChpbnQpIGRpZmZfbnMpOwotCX0KIAogCXNwaW5fdW5s b2NrKCZkZXYtPnZibGFua190aW1lX2xvY2spOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXggNjJjNDA3NzdjMDA5Li4wMTNlMzU2NDVm YmIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1Q LmgKQEAgLTY4Niw5ICs2ODYsMTMgQEAgc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCB7 CiBzdHJ1Y3QgZHJtX3ZibGFua19jcnRjIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OwkJLyog cG9pbnRlciB0byB0aGUgZHJtX2RldmljZSAqLwogCXdhaXRfcXVldWVfaGVhZF90IHF1ZXVlOwkv Kio8IFZCTEFOSyB3YWl0IHF1ZXVlICovCi0Jc3RydWN0IHRpbWV2YWwgdGltZVtEUk1fVkJMQU5L VElNRV9SQlNJWkVdOwkvKio8IHRpbWVzdGFtcCBvZiBjdXJyZW50IGNvdW50ICovCiAJc3RydWN0 IHRpbWVyX2xpc3QgZGlzYWJsZV90aW1lcjsJCS8qIGRlbGF5ZWQgZGlzYWJsZSB0aW1lciAqLwot CWF0b21pY190IGNvdW50OwkJCS8qKjwgbnVtYmVyIG9mIFZCTEFOSyBpbnRlcnJ1cHRzICovCisK KwkvKiB2YmxhbmsgY291bnRlciwgcHJvdGVjdGVkIGJ5IGRldi0+dmJsYW5rX3RpbWVfbG9jayBm b3Igd3JpdGVzICovCisJdTMyIGNvdW50OworCS8qIHZibGFuayB0aW1lc3RhbXBzLCBwcm90ZWN0 ZWQgYnkgZGV2LT52YmxhbmtfdGltZV9sb2NrIGZvciB3cml0ZXMgKi8KKwlzdHJ1Y3QgdGltZXZh bCB0aW1lW0RSTV9WQkxBTktUSU1FX1JCU0laRV07CisKIAlhdG9taWNfdCByZWZjb3VudDsJCS8q IG51bWJlciBvZiB1c2VycyBvZiB2YmxhbmsgaW50ZXJydXB0c3BlciBjcnRjICovCiAJdTMyIGxh c3Q7CQkJLyogcHJvdGVjdGVkIGJ5IGRldi0+dmJsX2xvY2ssIHVzZWQgKi8KIAkJCQkJLyogZm9y IHdyYXBhcm91bmQgaGFuZGxpbmcgKi8KLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=