From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 1/6] drm: Add vblank prepare and unprepare hooks. Date: Wed, 3 Aug 2016 14:33:34 -0700 Message-ID: <1470260019-6173-2-git-send-email-rodrigo.vivi@intel.com> References: <1470260019-6173-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470260019-6173-1-git-send-email-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Dhinakaran Pandiyan , dri-devel@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org VGhpcyB3aWxsIGFsbG93IGRyaXZlcnMgdG8gY29udHJvbCBzcGVjaWZpYyBwb3dlciBzYXZpbmcK ZmVhdHVyZSBhbmQgcG93ZXIgZG9tYWlucyB3aGVuIGRlYWxpbmcgd2l0aCB2YmxhbmtzLgoKVmJs YW5rcyBjb2RlIGFyZSBwcm90ZWN0ZWQgYnkgc3Bpbl9sb2NrcyB3aGVyZSB3ZSBjYW4ndApoYXZl IGFueXRoaW5nIHRoYXQgY2FuIHNsZWVwLiBXaGlsZSBwb3dlciBzYXZpbmcgZmVhdHVyZXMKYW5k IHBvd2VyIGRvbWFpbiBjb2RlIGhhdmUgbXV0ZXhlcyB0byBjb250cm9sIHRoZSBzdGF0ZXMuCgpN dXRleCBjYW4gc2xlZXAgc28gdGhleSBjYW5ub3QgYmUgdXNlZCBpbnNpZGUgc3BpbiBsb2NrIGFy ZWFzLgpTbyB0aGUgZWFzaWVzdCB3YXkgdG8gZGVhbCB3aXRoIHRoZW0gY3VycmVudGx5IGlzIHRv IGFkZCB0aGVzZQpwcmVwYXJlIGhvb2sgZm9yIHByZSBlbmFibGluZyB2YmxhbmtzCmFuZCB1bnBy ZXBhcmUgb25lIGZvciBwb3N0IGRpc2FibGluZyB0aGVtLgoKTGV0J3MgaW50cm9kdWNlIHRoaXMg b3B0aW9uYWwgcHJlcGFyZSBhbmQgdW5wcmVwYXJlCmhvb2tzIHNvIGRyaXZlcnMgY2FuIGRlYWwg d2l0aCBjYXNlcyBsaWtlIHRoaXMgYW5kIGFueSBvdGhlcgpjYXNlIHRoYXQgc2hvdWxkIHJlcXVp cmUgc2xlZXBpbmcgY29kZXMgaW50ZXJhY3Rpbmcgd2l0aCB2YmxhbmtzLgoKdjI6IC0gUmViYXNl IGFmdGVyIGEgc3BsaXQgb24gZHJtX2lycS5oLgogICAgLSBVc2UgcmVmY291bnQgdG8gbWluaW1p emUgdGhlIHByZXBhcmUvdW5wcmVwYXJlIGNhbGxzIHRvCiAgICAgIG9ubHkgd2hlbiBlbmFibGlu ZyBvciBkaXNhYmxpbmcgdGhlIHZibGFuayBpcnEuIChESydzKQogICAgLSBJbXByb3ZlZCBkb2Mu CiAgICAtIEZpeCB0aGUgbmVnYXRpdmUgdW5wcmVwYXJlLmNvdW50IGNhc2UuCgpDYzogRGhpbmFr YXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+ClNpZ25lZC1vZmYt Ynk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vZHJtX2lycS5jIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LQogaW5jbHVkZS9kcm0vZHJtUC5oICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9pcnEuaCAgICAgfCAyMCArKysr KysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1faXJxLmMKaW5kZXggNzdmMzU3Yi4uZDBkMWRkZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5j CkBAIC0zMzksNiArMzM5LDggQEAgdm9pZCBkcm1fdmJsYW5rX2NsZWFudXAoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAkJCWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNF VCkpOwogCiAJCWRlbF90aW1lcl9zeW5jKCZ2YmxhbmstPmRpc2FibGVfdGltZXIpOworCisJCWZs dXNoX3dvcmsoJnZibGFuay0+dW5wcmVwYXJlLndvcmspOwogCX0KIAogCWtmcmVlKGRldi0+dmJs YW5rKTsKQEAgLTM0Nyw2ICszNDksMjQgQEAgdm9pZCBkcm1fdmJsYW5rX2NsZWFudXAoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3ZibGFua19jbGVhbnVwKTsK IAorc3RhdGljIHZvaWQgZHJtX3ZibGFua191bnByZXBhcmVfd29ya19mbihzdHJ1Y3Qgd29ya19z dHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGRybV92YmxhbmtfY3J0YyAqdmJsYW5rOworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXY7CisKKwl2YmxhbmsgPSBjb250YWluZXJfb2Yod29yaywgdHlwZW9m KCp2YmxhbmspLCB1bnByZXBhcmUud29yayk7CisJZGV2ID0gdmJsYW5rLT5kZXY7CisKKwlpZiAo YXRvbWljX3JlYWQoJnZibGFuay0+dW5wcmVwYXJlLmNvdW50ZXIpID09IDApCisJCXJldHVybjsK KworCWRvIHsKKwkJaWYgKGRldi0+ZHJpdmVyLT51bnByZXBhcmVfdmJsYW5rICYmCisJCSAgICBh dG9taWNfcmVhZCgmdmJsYW5rLT5yZWZjb3VudCkgPT0gMCkKKwkJCWRldi0+ZHJpdmVyLT51bnBy ZXBhcmVfdmJsYW5rKGRldiwgdmJsYW5rLT5waXBlKTsKKwl9IHdoaWxlICghYXRvbWljX2RlY19h bmRfdGVzdCgmdmJsYW5rLT51bnByZXBhcmUuY291bnRlcikpOworfQorCiAvKioKICAqIGRybV92 YmxhbmtfaW5pdCAtIGluaXRpYWxpemUgdmJsYW5rIHN1cHBvcnQKICAqIEBkZXY6IERSTSBkZXZp Y2UKQEAgLTM4MCw2ICs0MDAsOSBAQCBpbnQgZHJtX3ZibGFua19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHVuc2lnbmVkIGludCBudW1fY3J0Y3MpCiAJCXNldHVwX3RpbWVyKCZ2Ymxhbmst PmRpc2FibGVfdGltZXIsIHZibGFua19kaXNhYmxlX2ZuLAogCQkJICAgICh1bnNpZ25lZCBsb25n KXZibGFuayk7CiAJCXNlcWxvY2tfaW5pdCgmdmJsYW5rLT5zZXFsb2NrKTsKKworCQlJTklUX1dP UksoJnZibGFuay0+dW5wcmVwYXJlLndvcmssCisJCQkgIGRybV92YmxhbmtfdW5wcmVwYXJlX3dv cmtfZm4pOwogCX0KIAogCURSTV9JTkZPKCJTdXBwb3J0cyB2YmxhbmsgdGltZXN0YW1wIGNhY2hp bmcgUmV2IDIgKDIxLjEwLjIwMTMpLlxuIik7CkBAIC0xMTE3LDYgKzExNDAsMTAgQEAgc3RhdGlj IGludCBkcm1fdmJsYW5rX2dldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQg cGlwZSkKIAlpZiAoV0FSTl9PTihwaXBlID49IGRldi0+bnVtX2NydGNzKSkKIAkJcmV0dXJuIC1F SU5WQUw7CiAKKwlpZiAoZGV2LT5kcml2ZXItPnByZXBhcmVfdmJsYW5rICYmCisJICAgIGF0b21p Y19yZWFkKCZ2YmxhbmstPnJlZmNvdW50KSA9PSAwKQorCQlkZXYtPmRyaXZlci0+cHJlcGFyZV92 YmxhbmsoZGV2LCBwaXBlKTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPnZibF9sb2NrLCBp cnFmbGFncyk7CiAJLyogR29pbmcgZnJvbSAwLT4xIG1lYW5zIHdlIGhhdmUgdG8gZW5hYmxlIGlu dGVycnVwdHMgYWdhaW4gKi8KIAlpZiAoYXRvbWljX2FkZF9yZXR1cm4oMSwgJnZibGFuay0+cmVm Y291bnQpID09IDEpIHsKQEAgLTExMjksNiArMTE1NiwxMCBAQCBzdGF0aWMgaW50IGRybV92Ymxh bmtfZ2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQogCX0KIAlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPnZibF9sb2NrLCBpcnFmbGFncyk7CiAKKwlpZiAo ZGV2LT5kcml2ZXItPnVucHJlcGFyZV92YmxhbmsgJiYKKwkgICAgYXRvbWljX3JlYWQoJnZibGFu ay0+cmVmY291bnQpID09IDApCisJCWRldi0+ZHJpdmVyLT51bnByZXBhcmVfdmJsYW5rKGRldiwg cGlwZSk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMTc4LDYgKzEyMDksMTEgQEAgc3RhdGlj IHZvaWQgZHJtX3ZibGFua19wdXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50 IHBpcGUpCiAJCQltb2RfdGltZXIoJnZibGFuay0+ZGlzYWJsZV90aW1lciwKIAkJCQkgIGppZmZp ZXMgKyAoKGRybV92Ymxhbmtfb2ZmZGVsYXkgKiBIWikvMTAwMCkpOwogCX0KKworCWlmIChhdG9t aWNfcmVhZCgmdmJsYW5rLT5yZWZjb3VudCkgPT0gMCkgeworCQlhdG9taWNfaW5jKCZ2Ymxhbmst PnVucHJlcGFyZS5jb3VudGVyKTsKKwkJc2NoZWR1bGVfd29yaygmdmJsYW5rLT51bnByZXBhcmUu d29yayk7CisJfQogfQogCiAvKioKQEAgLTE2MDMsNyArMTYzOSw2IEBAIHN0YXRpYyBpbnQgZHJt X3F1ZXVlX3ZibGFua19ldmVudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQg cGlwZSwKIAl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmV2ZW50X2xvY2ssIGZs YWdzKTsKLQogCXJldHVybiAwOwogCiBlcnJfdW5sb2NrOgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtUC5oIGIvaW5jbHVkZS9kcm0vZHJtUC5oCmluZGV4IGQzNzc4NjUuLmM2Y2EwNjEgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybVAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKQEAg LTQyMiw2ICs0MjIsNDkgQEAgc3RydWN0IGRybV9kcml2ZXIgewogCXUzMiAoKmdldF92Ymxhbmtf Y291bnRlcikgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKTsKIAog CS8qKgorCSAqIHByZXBhcmVfdmJsYW5rIC0gT3B0aW9uYWwgcHJlcGFyZSB2YmxhbmsgaG9vay4K KwkgKiBAZGV2OiBEUk0gZGV2aWNlCisJICogQHBpcGU6IGNvdW50ZXIgdG8gZmV0Y2gKKwkgKgor CSAqIERyaXZlcnMgdGhhdCBuZWVkIHRvIGhhbmRsZSBhbnkga2luZCBvZiBtdXRleCBvciBhbnkg b3RoZXIgc2xlZXBpbmcKKwkgKiBjb2RlIGluIGNvbWJpbmF0aW9uIHdpdGggdmJsYW5rcyBuZWVk IHRvIGltcGxlbWVudCB0aGlzIGhvb2sKKwkgKiB0aGF0IHdpbGwgYmUgY2FsbGVkIGJlZm9yZSBk cm1fdmJsYW5rX2dldCBzcGluX2xvY2sgZ2V0cy4KKwkgKgorCSAqIFByZXBhcmUvVW5wcmVwYXJl IHdhcyBkZXNpZ25lZCB0byBiZSBhYmxlIHRvIHNsZWVwIHNvIHRoZXkgYXJlIG5vdAorCSAqIGZy ZWUgZnJvbSBjb25jdXJyZW5jZS4gVGhlcmUgbWlnaHQgYmUgZmV3IHNpbXVsdGFuZW91cyBjYWxs cy4KKwkgKiBUaGlzIGNvbmN1cnJlbmNlIG5lZWRzIHRvIGJlIGhhbmRsZWQgb24gdGhlIGRyaXZl ciBzaWRlIHRoYXQgaXMKKwkgKiBpbXBsZW1lbnRpbmcgdGhlc2UgaG9va3MuIFByb2JhYmx5IHdp dGggcHJvdGVjdGVkIGdldC9wdXQgY291bnRlcnMuCisJICoKKwkgKiBJZiB0aGlzIGlzIHVzZWQg d2l0aCBzbGVlcGluZyBjb2RlIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZSB5b3UgYXJlCisJICogbm90 IGNhbGxpbmcgZHJtX2NydGNfdmJsYW5rX2dldCBpbnNpZGUgc3BpbmxvY2sgYXJlYXMgb3Igd2l0 aCBsb2NhbAorCSAqIGlycSBkaXNhYmxlZC4KKwkgKgorCSAqLworCXZvaWQgKCpwcmVwYXJlX3Zi bGFuaykgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKTsKKworCS8q KgorCSAqIHVucHJlcGFyZV92YmxhbmsgLSBPcHRpb25hbCB1bnByZXBhcmUgdmJsYW5rIGhvb2su CisJICogQGRldjogRFJNIGRldmljZQorCSAqIEBwaXBlOiBjb3VudGVyIHRvIGZldGNoCisJICoK KwkgKiBEcml2ZXJzIHRoYXQgbmVlZCB0byBoYW5kbGUgYW55IGtpbmQgb2YgbXV0ZXggb3IgYW55 IG90aGVyIHNsZWVwaW5nCisJICogY29kZSBpbiBjb21iaW5hdGlvbiB3aXRoIHZibGFua3MgbmVl ZCB0byBpbXBsZW1lbnQgdGhpcyBob29rCisJICogdGhhdCB3aWxsIGJlIGNhbGxlZCBpbiBhIHdv cmsgcXVldWUgdG8gYmUgZXhlY3V0ZWQgYWZ0ZXIgc3BpbiBsb2NrCisJICogYXJlYXMgb2YgZHJt X3ZibGFua19wdXQuCisJICoKKwkgKiBQcmVwYXJlL1VucHJlcGFyZSB3YXMgZGVzaWduZWQgdG8g YmUgYWJsZSB0byBzbGVlcCBzbyB0aGV5IGFyZSBub3QKKwkgKiBmcmVlIGZyb20gY29uY3VycmVu Y2UuIFRoZXJlIG1pZ2h0IGJlIGZldyBzaW11bHRhbmVvdXMgY2FsbHMuCisJICogVGhpcyBjb25j dXJyZW5jZSBuZWVkcyB0byBiZSBoYW5kbGVkIG9uIHRoZSBkcml2ZXIgc2lkZSB0aGF0IGlzCisJ ICogaW1wbGVtZW50aW5nIHRoZXNlIGhvb2tzLiBQcm9iYWJseSB3aXRoIHByb3RlY3RlZCBnZXQv cHV0IGNvdW50ZXJzLgorCSAqCisJICogVW5wcmVwYXJlIGlzIGNhbGxlZCBmcm9tIGEgd29ya3F1 ZXVlIGJlY2F1c2UgYXN5bmNocm9ub3VzCisJICogZHJtX2NydGNfdmJsYW5rX3B1dCB3aWxsIGJl IGluIHNwaW5sb2NrIGFyZWFzLiBTbyBpdCBpcyBzYWZlIHRvCisJICoga2VlcCBkcm1fY3J0Y192 YmxhbmtfcHV0IGluIGFyZWFzIHRoYXQgY2Fubm90IHNwbGVlcC4KKwkgKi8KKwl2b2lkICgqdW5w cmVwYXJlX3ZibGFuaykgKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBl KTsKKworCisJLyoqCiAJICogZW5hYmxlX3ZibGFuayAtIGVuYWJsZSB2YmxhbmsgaW50ZXJydXB0 IGV2ZW50cwogCSAqIEBkZXY6IERSTSBkZXZpY2UKIAkgKiBAcGlwZTogd2hpY2ggaXJxIHRvIGVu YWJsZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2lycS5oIGIvaW5jbHVkZS9kcm0vZHJt X2lycS5oCmluZGV4IDI0MDFiMTQuLjkzYTllOWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9pcnEuaAorKysgYi9pbmNsdWRlL2RybS9kcm1faXJxLmgKQEAgLTQ1LDYgKzQ1LDIwIEBAIHN0 cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgewogfTsKIAogLyoqCisgKiBzdHJ1Y3QgZHJt X3ZibGFua191bnByZXBhcmUgLSB1bnByZXBhcmUgdmJsYW5rCisgKi8KK3N0cnVjdCBkcm1fdmJs YW5rX3VucHJlcGFyZSB7CisJLyoqCisJICogQHdvcms6IERlbGF5ZWQgd29yayB0byBoYW5kbGUg dW5wcmVwYXJlIG91dCBvZiBzcGlubG9jayBhcmVhcworCSAqLworCXN0cnVjdCB3b3JrX3N0cnVj dCB3b3JrOworCS8qKgorCSAqIEBjb3VudGVyOiBOdW1iZXIgb2YgdmJsYW5rcyBoYW5kbGVkCisJ ICovCisJYXRvbWljX3QgY291bnRlcjsKK307CisKKy8qKgogICogc3RydWN0IGRybV92Ymxhbmtf Y3J0YyAtIHZibGFuayB0cmFja2luZyBmb3IgYSBDUlRDCiAgKgogICogVGhpcyBzdHJ1Y3R1cmUg dHJhY2tzIHRoZSB2Ymxhbmsgc3RhdGUgZm9yIG9uZSBDUlRDLgpAQCAtMTI4LDYgKzE0MiwxMiBA QCBzdHJ1Y3QgZHJtX3ZibGFua19jcnRjIHsKIAkgKiBkaXNhYmxpbmcgZnVuY3Rpb25zIG11bHRp cGxlIHRpbWVzLgogCSAqLwogCWJvb2wgZW5hYmxlZDsKKwkvKioKKwkgKiBAdW5wcmVwYXJlOiBU cmFja3MgdGhlIGFtb3VudCBvZiBkcm1fdmJsYW5rX3B1dCBoYW5kbGVkIHRoYXQgbmVlZHMKKwkg KiBhIGRlbGF5ZWQgdW5wcmVwYXJlIGNhbGwgc28gdGhlIHVucHJlcGFyZSBjYW4gcnVuIG91dCBv ZiBwcm90ZWN0ZWQKKwkgKiBhcmVhcyB3aGVyZSBjb2RlIGNhbiBzbGVlcC4KKwkgKi8KKwlzdHJ1 Y3QgZHJtX3ZibGFua191bnByZXBhcmUgdW5wcmVwYXJlOwogfTsKIAogZXh0ZXJuIGludCBkcm1f aXJxX2luc3RhbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGlycSk7Ci0tIAoyLjQuMwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==