From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 1/9] drm: add helper to get crtc timings (v4) Date: Mon, 24 Nov 2014 11:52:58 -0800 Message-ID: <1416858786-25376-2-git-send-email-matthew.d.roper@intel.com> References: <1416858786-25376-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1416858786-25376-1-git-send-email-matthew.d.roper@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: Gustavo Padovan , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK V2UgbmVlZCB0byBnZXQgaGRpc3BsYXkgYW5kIHZkaXNwbGF5IGluIGEgZmV3IHBsYWNlcyBzbyBj cmVhdGUgYQpoZWxwZXIgdG8gbWFrZSBvdXIgam9iIGVhc2llci4KCnYyIChieSBNYXR0KTogVXNl IG5ldyBzdGVyZW8gZG91YmxpbmcgZnVuY3Rpb24gKHN1Z2dlc3RlZCBieSBWaWxsZSkKCnYzIChi eSBNYXR0KToKIC0gQWRkIG1pc3Npbmcga2VybmVsZG9jIChEYW5pZWwpCiAtIFVzZSBkcm1fbW9k ZV9jb3B5KCkgKEphbmkpCgp2NCAoYnkgTWF0dCk6CiAtIERyb3Agc3RlcmVvIGRvdWJsaW5nIGZ1 bmN0aW9uIGFnYWluOyBhZGQgJ3N0ZXJlbyBvbmx5JyBmbGFnCiAgIHRvIGRybV9tb2RlX3NldF9j cnRjaW5mbygpIGluc3RlYWQgKFZpbGxlKQoKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKU3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rhdm8ucGFkb3Zh bkBjb2xsYWJvcmEuY28udWs+ClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5y b3BlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgICAgICAgICAg IHwgMzIgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9k cm1fbW9kZXMuYyAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDYgKysrLS0tCiBpbmNsdWRlL2RybS9k cm1fY3J0Yy5oICAgICAgICAgICAgICAgfCAgMiArKwogaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgg ICAgICAgICAgICAgIHwgIDMgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyks IDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKaW5kZXggNTg5YTkyMS4uZjA2ZjFiNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9jcnRjLmMKQEAgLTI0OTksNiArMjQ5OSwyNyBAQCBpbnQgZHJtX21vZGVfc2V0X2NvbmZp Z19pbnRlcm5hbChzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQpCiBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX3NldF9jb25maWdfaW50ZXJuYWwpOwogCiAvKioKKyAqIGRybV9jcnRjX2dldF9odl90aW1p bmcgLSBGZXRjaGVzIGhkaXNwbGF5L3ZkaXNwbGF5IGZvciBnaXZlbiBtb2RlCisgKiBAbW9kZTog bW9kZSB0byBxdWVyeQorICogQGhkaXNwbGF5OiBoZGlzcGxheSB2YWx1ZSB0byBmaWxsIGluCisg KiBAdmRpc3BsYXk6IHZkaXNwbGF5IHZhbHVlIHRvIGZpbGwgaW4KKyAqCisgKiBUaGUgdmRpc3Bs YXkgdmFsdWUgd2lsbCBiZSBkb3VibGVkIGlmIHRoZSBzcGVjaWZpZWQgbW9kZSBpcyBhIHN0ZXJl byBtb2RlIG9mCisgKiB0aGUgYXBwcm9wcmlhdGUgbGF5b3V0LgorICovCit2b2lkIGRybV9jcnRj X2dldF9odl90aW1pbmcoY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkg ICAgaW50ICpoZGlzcGxheSwgaW50ICp2ZGlzcGxheSkKK3sKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSBhZGp1c3RlZDsKKworCWRybV9tb2RlX2NvcHkoJmFkanVzdGVkLCBtb2RlKTsKKwlkcm1f bW9kZV9zZXRfY3J0Y2luZm8oJmFkanVzdGVkLCBDUlRDX1NURVJFT19ET1VCTEVfT05MWSk7CisJ KmhkaXNwbGF5ID0gYWRqdXN0ZWQuY3J0Y19oZGlzcGxheTsKKwkqdmRpc3BsYXkgPSBhZGp1c3Rl ZC5jcnRjX3ZkaXNwbGF5OworfQorRVhQT1JUX1NZTUJPTChkcm1fY3J0Y19nZXRfaHZfdGltaW5n KTsKKworLyoqCiAgKiBkcm1fY3J0Y19jaGVja192aWV3cG9ydCAtIENoZWNrcyB0aGF0IGEgZnJh bWVidWZmZXIgaXMgYmlnIGVub3VnaCBmb3IgdGhlCiAgKiAgICAgQ1JUQyB2aWV3cG9ydAogICog QGNydGM6IENSVEMgdGhhdCBmcmFtZWJ1ZmZlciB3aWxsIGJlIGRpc3BsYXllZCBvbgpAQCAtMjUx NSwxNiArMjUzNiw3IEBAIGludCBkcm1fY3J0Y19jaGVja192aWV3cG9ydChjb25zdCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiB7CiAJaW50IGhkaXNwbGF5LCB2ZGlzcGxheTsKIAotCWhkaXNwbGF5 ID0gbW9kZS0+aGRpc3BsYXk7Ci0JdmRpc3BsYXkgPSBtb2RlLT52ZGlzcGxheTsKLQotCWlmIChk cm1fbW9kZV9pc19zdGVyZW8obW9kZSkpIHsKLQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgYWRq dXN0ZWQgPSAqbW9kZTsKLQotCQlkcm1fbW9kZV9zZXRfY3J0Y2luZm8oJmFkanVzdGVkLCBDUlRD X1NURVJFT19ET1VCTEUpOwotCQloZGlzcGxheSA9IGFkanVzdGVkLmNydGNfaGRpc3BsYXk7Ci0J CXZkaXNwbGF5ID0gYWRqdXN0ZWQuY3J0Y192ZGlzcGxheTsKLQl9CisJZHJtX2NydGNfZ2V0X2h2 X3RpbWluZyhtb2RlLCAmaGRpc3BsYXksICZ2ZGlzcGxheSk7CiAKIAlpZiAoY3J0Yy0+aW52ZXJ0 X2RpbWVuc2lvbnMpCiAJCXN3YXAoaGRpc3BsYXksIHZkaXNwbGF5KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwpp bmRleCA2ZDhiOTQxLi5mZDU0NzliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21v ZGVzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCkBAIC03NjUsMTggKzc2NSwy MiBAQCB2b2lkIGRybV9tb2RlX3NldF9jcnRjaW5mbyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq cCwgaW50IGFkanVzdF9mbGFncykKIAkJfQogCX0KIAotCWlmIChwLT5mbGFncyAmIERSTV9NT0RF X0ZMQUdfREJMU0NBTikgewotCQlwLT5jcnRjX3ZkaXNwbGF5ICo9IDI7Ci0JCXAtPmNydGNfdnN5 bmNfc3RhcnQgKj0gMjsKLQkJcC0+Y3J0Y192c3luY19lbmQgKj0gMjsKLQkJcC0+Y3J0Y192dG90 YWwgKj0gMjsKKwlpZiAoIShhZGp1c3RfZmxhZ3MgJiBDUlRDX05PX0RCTFNDQU4pKSB7CisJCWlm IChwLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJMU0NBTikgeworCQkJcC0+Y3J0Y192ZGlzcGxh eSAqPSAyOworCQkJcC0+Y3J0Y192c3luY19zdGFydCAqPSAyOworCQkJcC0+Y3J0Y192c3luY19l bmQgKj0gMjsKKwkJCXAtPmNydGNfdnRvdGFsICo9IDI7CisJCX0KIAl9CiAKLQlpZiAocC0+dnNj YW4gPiAxKSB7Ci0JCXAtPmNydGNfdmRpc3BsYXkgKj0gcC0+dnNjYW47Ci0JCXAtPmNydGNfdnN5 bmNfc3RhcnQgKj0gcC0+dnNjYW47Ci0JCXAtPmNydGNfdnN5bmNfZW5kICo9IHAtPnZzY2FuOwot CQlwLT5jcnRjX3Z0b3RhbCAqPSBwLT52c2NhbjsKKwlpZiAoIShhZGp1c3RfZmxhZ3MgJiBDUlRD X05PX1ZTQ0FOKSkgeworCQlpZiAocC0+dnNjYW4gPiAxKSB7CisJCQlwLT5jcnRjX3ZkaXNwbGF5 ICo9IHAtPnZzY2FuOworCQkJcC0+Y3J0Y192c3luY19zdGFydCAqPSBwLT52c2NhbjsKKwkJCXAt PmNydGNfdnN5bmNfZW5kICo9IHAtPnZzY2FuOworCQkJcC0+Y3J0Y192dG90YWwgKj0gcC0+dnNj YW47CisJCX0KIAl9CiAKIAlpZiAoYWRqdXN0X2ZsYWdzICYgQ1JUQ19TVEVSRU9fRE9VQkxFKSB7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYTNkMmE0NC4uYjg3YWVhYiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTAyMDUsOSArMTAyMDUsOSBA QCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkgKiBj b21wdXRhdGlvbiB0byBjbGVhcmx5IGRpc3Rpbmd1aXNoIGl0IGZyb20gdGhlIGFkanVzdGVkIG1v ZGUsIHdoaWNoCiAJICogY2FuIGJlIGNoYW5nZWQgYnkgdGhlIGNvbm5lY3RvcnMgaW4gdGhlIGJl bG93IHJldHJ5IGxvb3AuCiAJICovCi0JZHJtX21vZGVfc2V0X2NydGNpbmZvKCZwaXBlX2NvbmZp Zy0+cmVxdWVzdGVkX21vZGUsIENSVENfU1RFUkVPX0RPVUJMRSk7Ci0JcGlwZV9jb25maWctPnBp cGVfc3JjX3cgPSBwaXBlX2NvbmZpZy0+cmVxdWVzdGVkX21vZGUuY3J0Y19oZGlzcGxheTsKLQlw aXBlX2NvbmZpZy0+cGlwZV9zcmNfaCA9IHBpcGVfY29uZmlnLT5yZXF1ZXN0ZWRfbW9kZS5jcnRj X3ZkaXNwbGF5OworCWRybV9jcnRjX2dldF9odl90aW1pbmcoJnBpcGVfY29uZmlnLT5yZXF1ZXN0 ZWRfbW9kZSwKKwkJCSAgICAgICAmcGlwZV9jb25maWctPnBpcGVfc3JjX3csCisJCQkgICAgICAg JnBpcGVfY29uZmlnLT5waXBlX3NyY19oKTsKIAogZW5jb2Rlcl9yZXRyeToKIAkvKiBFbnN1cmUg dGhlIHBvcnQgY2xvY2sgZGVmYXVsdHMgYXJlIHJlc2V0IHdoZW4gcmV0cnlpbmcuICovCmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApp bmRleCBiNDU5ZThmLi42ZTQ2YzVkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5o CisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTExNDAsNiArMTE0MCw4IEBAIGV4dGVy biBpbnQgZHJtX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIGV4dGVybiB2b2lk IGRybV9wbGFuZV9jbGVhbnVwKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKIGV4dGVybiB1bnNp Z25lZCBpbnQgZHJtX3BsYW5lX2luZGV4KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKIGV4dGVy biB2b2lkIGRybV9wbGFuZV9mb3JjZV9kaXNhYmxlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsK K2V4dGVybiB2b2lkIGRybV9jcnRjX2dldF9odl90aW1pbmcoY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsCisJCQkJICAgaW50ICpoZGlzcGxheSwgaW50ICp2ZGlzcGxheSk7CiBl eHRlcm4gaW50IGRybV9jcnRjX2NoZWNrX3ZpZXdwb3J0KGNvbnN0IHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJCQkgICBpbnQgeCwgaW50IHksCiAJCQkJICAgY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaCBiL2lu Y2x1ZGUvZHJtL2RybV9tb2Rlcy5oCmluZGV4IDkxZDA1ODIuLjhmMTc4MTEgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCkBA IC05MCw2ICs5MCw5IEBAIGVudW0gZHJtX21vZGVfc3RhdHVzIHsKIAogI2RlZmluZSBDUlRDX0lO VEVSTEFDRV9IQUxWRV9WCSgxIDw8IDApIC8qIGhhbHZlIFYgdmFsdWVzIGZvciBpbnRlcmxhY2lu ZyAqLwogI2RlZmluZSBDUlRDX1NURVJFT19ET1VCTEUJKDEgPDwgMSkgLyogYWRqdXN0IHRpbWlu Z3MgZm9yIHN0ZXJlbyBtb2RlcyAqLworI2RlZmluZSBDUlRDX05PX0RCTFNDQU4JCSgxIDw8IDIp IC8qIGRvbid0IGFkanVzdCBkb3VibGVzY2FuICovCisjZGVmaW5lIENSVENfTk9fVlNDQU4JCSgx IDw8IDMpIC8qIGRvbid0IGFkanVzdCBkb3VibGVzY2FuICovCisjZGVmaW5lIENSVENfU1RFUkVP X0RPVUJMRV9PTkxZCShDUlRDX05PX0RCTFNDQU4gfCBDUlRDX05PX1ZTQ0FOKQogCiAjZGVmaW5l IERSTV9NT0RFX0ZMQUdfM0RfTUFYCURSTV9NT0RFX0ZMQUdfM0RfU0lERV9CWV9TSURFX0hBTEYK IAotLSAKMS44LjUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK