From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [PATCH 4/5] drm/vblank: Restoring vblank counts after device PM events. Date: Fri, 12 Jan 2018 13:57:06 -0800 Message-ID: <20180112215707.3084-4-dhinakaran.pandiyan@intel.com> References: <20180112215707.3084-1-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180112215707.3084-1-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , =?UTF-8?q?Michel=20D=C3=A4nzer?= , dri-devel@lists.freedesktop.org, Dhinakaran Pandiyan , rodrigo.vivi@intel.com List-Id: dri-devel@lists.freedesktop.org VGhlIEhXIGZyYW1lIGNvdW50ZXIgY2FuIGdldCByZXNldCBpZiBkZXZpY2UgZW50ZXJzIGEgbG93 IHBvd2VyIHN0YXRlIGFmdGVyCnZibGFuayBpbnRlcnJ1cHRzIHdlcmUgZGlzYWJsZWQuIFRoaXMg bWVzc2VzIHVwIGFueSBmb2xsb3dpbmcgdmJsYW5rIGNvdW50CnVwZGF0ZSBhcyBhIG5lZ2F0aXZl IGRpZmYgKGh1Z2UgdW5zaWduZWQgZGlmZikgaXMgY2FsY3VsYXRlZCBmcm9tIHRoZSBIVwpmcmFt ZSBjb3VudGVyIGNoYW5nZS4gV2UgY2Fubm90IGlnbm9yZSBuZWdhdGl2ZSBkaWZmcyBhbHRvZ3Ro ZXIgYXMgdGhlcmUKY291bGQgYmUgbGVnaXRpbWF0ZSB3cmFwIGFyb3VuZHMuIFNvLCBhbGxvdyBk cml2ZXJzIHRvIHVwZGF0ZSB2YmxhbmstPmNvdW50CndpdGggbWlzc2VkIHZibGFua3MgZm9yIHRo ZSB0aW1lIGludGVycnVwdHMgd2VyZSBkaXNhYmxlZC4gVGhpcyBpcyBzaW1pbGFyCnRvIF9jcnRj X3ZibGFua19vbigpIGV4Y2VwdCB0aGF0IHZibGFua3MgaW50ZXJydXB0cyBhcmUgbm90IGVuYWJs ZWQgYXQgdGhlCmVuZCBhcyB0aGlzIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBm cm9tIHRoZSBkcml2ZXIKX2VuYWJsZV92YmxhbmsoKSB2ZnVuYy4KCnYyOiBkcm1fY3J0Y192Ymxh bmtfcmVzdG9yZSBzaG91bGQgdGFrZSBjcnRjIGFzIGFyZy4gKENocmlzKQogICAgQWRkIGRvY3Mg YW5kIHNwcmlua2xlIHNvbWUgYXNzZXJ0cy4KCkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ CkNjOiBNaWNoZWwgRMOkbnplciA8bWljaGVsQGRhZW56ZXIubmV0PgpTaWduZWQtb2ZmLWJ5OiBE aGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5jIHwgNTkgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV92YmxhbmsuaCAgICAgfCAgMiAr KwogMiBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV92YmxhbmsuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fdmJsYW5rLmMKaW5k ZXggMjU1OWQyZDdiOTA3Li4yNjkwOTY2Njk0ZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fdmJsYW5rLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYwpAQCAtMTIz Nyw2ICsxMjM3LDY1IEBAIHZvaWQgZHJtX2NydGNfdmJsYW5rX29uKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2NydGNfdmJsYW5rX29uKTsKIAorLyoqCisgKiBk cm1fdmJsYW5rX3Jlc3RvcmUgLSBlc3RpbWF0ZWQgdmJsYW5rcyB1c2luZyB0aW1lc3RhbXBzIGFu ZCB1cGRhdGUgaXQuCisgKgorICogUG93ZXIgbWFuYW1lbWVudCBmZWF0dXJlcyBjYW4gY2F1c2Ug ZnJhbWUgY291bnRlciByZXNldHMgYmV0d2VlbiB2YmxhbmsKKyAqIGRpc2FibGUgYW5kIGVuYWJs ZS4gRHJpdmVycyBjYW4gdGhlbiB1c2UgdGhpcyBmdW5jdGlvbiBpbiB0aGVpcgorICogJmRybV9j cnRjX2Z1bmNzLmVuYWJsZV92YmxhbmsgaW1wbGVtZW50YXRpb24gdG8gZXN0aW1hdGUgdGhlIHZi bGFua3Mgc2luY2UKKyAqIHRoZSBsYXN0ICZkcm1fY3J0Y19mdW5jcy5kaXNhYmxlX3ZibGFuay4K KyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBsZWdhY3kgdmVyc2lvbiBvZiBkcm1fY3J0Y192 YmxhbmtfcmVzdG9yZSgpLgorICovCit2b2lkIGRybV92YmxhbmtfcmVzdG9yZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKK3sKKwlrdGltZV90IHRfdmJsYW5rOwor CXN0cnVjdCBkcm1fdmJsYW5rX2NydGMgKnZibGFuazsKKwlpbnQgZnJhbWVkdXJfbnM7CisJdTY0 IGRpZmZfbnM7CisJdTMyIGN1cl92YmxhbmssIGRpZmYgPSAxOworCWludCBjb3VudCA9IERSTV9U SU1FU1RBTVBfTUFYUkVUUklFUzsKKworCWlmIChXQVJOX09OKHBpcGUgPj0gZGV2LT5udW1fY3J0 Y3MpKQorCQlyZXR1cm47CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJmRldi0+dmJsX2xvY2spOwor CWFzc2VydF9zcGluX2xvY2tlZCgmZGV2LT52YmxhbmtfdGltZV9sb2NrKTsKKworCXZibGFuayA9 ICZkZXYtPnZibGFua1twaXBlXTsKKwlXQVJOX09OQ0UoKGRybV9kZWJ1ZyAmIERSTV9VVF9WQkwp ICYmICF2YmxhbmstPmZyYW1lZHVyX25zLAorCQkgICJDYW5ub3QgY29tcHV0ZSBtaXNzZWQgdmJs YW5rcyB3aXRob3V0IGZyYW1lIGR1cmF0aW9uXG4iKTsKKwlmcmFtZWR1cl9ucyA9IHZibGFuay0+ ZnJhbWVkdXJfbnM7CisKKwlkbyB7CisJCWN1cl92YmxhbmsgPSBfX2dldF92YmxhbmtfY291bnRl cihkZXYsIHBpcGUpOworCQlkcm1fZ2V0X2xhc3RfdmJsdGltZXN0YW1wKGRldiwgcGlwZSwgJnRf dmJsYW5rLCBmYWxzZSk7CisJfSB3aGlsZSAoY3VyX3ZibGFuayAhPSBfX2dldF92YmxhbmtfY291 bnRlcihkZXYsIHBpcGUpICYmIC0tY291bnQgPiAwKTsKKworCWRpZmZfbnMgPSBrdGltZV90b19u cyhrdGltZV9zdWIodF92YmxhbmssIHZibGFuay0+dGltZSkpOworCWlmIChmcmFtZWR1cl9ucykK KwkJZGlmZiA9IERJVl9ST1VORF9DTE9TRVNUX1VMTChkaWZmX25zLCBmcmFtZWR1cl9ucyk7CisK KworCURSTV9ERUJVR19WQkwoIm1pc3NlZCAlZCB2YmxhbmtzIGluICVsbGQgbnMsIGZyYW1lIGR1 cmF0aW9uPSVkIG5zLCBod19kaWZmPSVkXG4iLAorCQkgICAgICBkaWZmLCBkaWZmX25zLCBmcmFt ZWR1cl9ucywgY3VyX3ZibGFuayAtIHZibGFuay0+bGFzdCk7CisJc3RvcmVfdmJsYW5rKGRldiwg cGlwZSwgZGlmZiwgdF92YmxhbmssIGN1cl92YmxhbmspOworfQorRVhQT1JUX1NZTUJPTChkcm1f dmJsYW5rX3Jlc3RvcmUpOworCisvKioKKyAqIGRybV9jcnRjX3ZibGFua19yZXN0b3JlIC0gZXN0 aW1hdGUgdmJsYW5rcyB1c2luZyB0aW1lc3RhbXBzIGFuZCB1cGRhdGUgaXQuCisgKiBQb3dlciBt YW5hbWVtZW50IGZlYXR1cmVzIGNhbiBjYXVzZSBmcmFtZSBjb3VudGVyIHJlc2V0cyBiZXR3ZWVu IHZibGFuaworICogZGlzYWJsZSBhbmQgZW5hYmxlLiBEcml2ZXJzIGNhbiB0aGVuIHVzZSB0aGlz IGZ1bmN0aW9uIGluIHRoZWlyCisgKiAmZHJtX2NydGNfZnVuY3MuZW5hYmxlX3ZibGFuayBpbXBs ZW1lbnRhdGlvbiB0byBlc3RpbWF0ZSB0aGUgdmJsYW5rcyBzaW5jZQorICogdGhlIGxhc3QgJmRy bV9jcnRjX2Z1bmNzLmRpc2FibGVfdmJsYW5rLgorICovCit2b2lkIGRybV9jcnRjX3ZibGFua19y ZXN0b3JlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlkcm1fdmJsYW5rX3Jlc3RvcmUoY3J0 Yy0+ZGV2LCBkcm1fY3J0Y19pbmRleChjcnRjKSk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9jcnRj X3ZibGFua19yZXN0b3JlKTsKKwogc3RhdGljIHZvaWQgZHJtX2xlZ2FjeV92YmxhbmtfcHJlX21v ZGVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJICB1bnNpZ25lZCBpbnQgcGlwZSkK IHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV92YmxhbmsuaCBiL2luY2x1ZGUvZHJtL2Ry bV92YmxhbmsuaAppbmRleCBhNGMzYjBhMGExOTcuLjE2ZDQ2ZTJhNjg1NCAxMDA2NDQKLS0tIGEv aW5jbHVkZS9kcm0vZHJtX3ZibGFuay5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV92YmxhbmsuaApA QCAtMTgwLDYgKzE4MCw4IEBAIHZvaWQgZHJtX2NydGNfdmJsYW5rX29mZihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpOwogdm9pZCBkcm1fY3J0Y192YmxhbmtfcmVzZXQoc3RydWN0IGRybV9jcnRjICpj cnRjKTsKIHZvaWQgZHJtX2NydGNfdmJsYW5rX29uKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB1 NjQgZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7 Cit2b2lkIGRybV92YmxhbmtfcmVzdG9yZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBpbnQgcGlwZSk7Cit2b2lkIGRybV9jcnRjX3ZibGFua19yZXN0b3JlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0Yyk7CiAKIGJvb2wgZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCQkgICB1bnNpZ25lZCBpbnQgcGlwZSwgaW50ICpt YXhfZXJyb3IsCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=