From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 01/10] drm: add helper to get crtc timings (v5) Date: Mon, 1 Dec 2014 15:40:09 -0800 Message-ID: <1417477218-9519-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: 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: Gustavo Padovan , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK V2UgbmVlZCB0byBnZXQgaGRpc3BsYXkgYW5kIHZkaXNwbGF5IGluIGEgZmV3IHBsYWNlcyBzbyBj cmVhdGUgYQpoZWxwZXIgdG8gbWFrZSBvdXIgam9iIGVhc2llci4KCk5vdGUgdGhhdCBkcm1fY3J0 Y19jaGVja192aWV3cG9ydCgpIGFuZCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKCkgd2VyZQpw cmV2aW91c2x5IG1ha2luZyBhZGp1c3RtZW50cyBmb3IgZG91Ymxlc2NhbiBtb2RlcyBhbmQgdnNj YW4gPiAxIG1vZGVzLAp3aGljaCB3YXMgaW5jb3JyZWN0LiAgVXNpbmcgb3VyIG5ldyBoZWxwZXIg Zml4ZXMgdGhpcyBtaXN0YWtlLgoKdjIgKGJ5IE1hdHQpOiBVc2UgbmV3IHN0ZXJlbyBkb3VibGlu ZyBmdW5jdGlvbiAoc3VnZ2VzdGVkIGJ5IFZpbGxlKQoKdjMgKGJ5IE1hdHQpOgogLSBBZGQgbWlz c2luZyBrZXJuZWxkb2MgKERhbmllbCkKIC0gVXNlIGRybV9tb2RlX2NvcHkoKSAoSmFuaSkKCnY0 IChieSBNYXR0KToKIC0gRHJvcCBzdGVyZW8gZG91YmxpbmcgZnVuY3Rpb24gYWdhaW47IGFkZCAn c3RlcmVvIG9ubHknIGZsYWcKICAgdG8gZHJtX21vZGVfc2V0X2NydGNpbmZvKCkgaW5zdGVhZCAo VmlsbGUpCgp2NSAoYnkgTWF0dCk6CiAtIE5vdGUgYmVoYXZpb3JhbCBjaGFuZ2UgaW4gZHJtX2Ny dGNfY2hlY2tfdmlld3BvcnQoKSBhbmQKICAgaW50ZWxfbW9kZXNldF9waXBlX2NvbmZpZygpLiAo QW5kZXIpCiAtIERlc2NyaWJlIG5ldyBhZGp1c3RtZW50IGZsYWdzIGluIGRybV9tb2RlX3NldF9j cnRjaW5mbygpJ3MKICAga2VybmVsZG9jLiAoQW5kZXIpCgpDYzogZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpTdWdnZXN0ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2 by5wYWRvdmFuQGNvbGxhYm9yYS5jby51az4KU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0 dGhldy5kLnJvcGVyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAg ICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2RybV9tb2Rlcy5jICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8ICA2ICsrKy0tLQogaW5j bHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgIHwgIDIgKysKIGluY2x1ZGUvZHJtL2Ry bV9tb2Rlcy5oICAgICAgICAgICAgICB8ICAzICsrKwogNSBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNl cnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCmluZGV4IGRlNzkyODMuLjI5 ODVlM2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCkBAIC0yNTUwLDYgKzI1NTAsMjcgQEAgaW50IGRybV9tb2Rl X3NldF9jb25maWdfaW50ZXJuYWwoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogRVhQT1JUX1NZ TUJPTChkcm1fbW9kZV9zZXRfY29uZmlnX2ludGVybmFsKTsKIAogLyoqCisgKiBkcm1fY3J0Y19n ZXRfaHZfdGltaW5nIC0gRmV0Y2hlcyBoZGlzcGxheS92ZGlzcGxheSBmb3IgZ2l2ZW4gbW9kZQor ICogQG1vZGU6IG1vZGUgdG8gcXVlcnkKKyAqIEBoZGlzcGxheTogaGRpc3BsYXkgdmFsdWUgdG8g ZmlsbCBpbgorICogQHZkaXNwbGF5OiB2ZGlzcGxheSB2YWx1ZSB0byBmaWxsIGluCisgKgorICog VGhlIHZkaXNwbGF5IHZhbHVlIHdpbGwgYmUgZG91YmxlZCBpZiB0aGUgc3BlY2lmaWVkIG1vZGUg aXMgYSBzdGVyZW8gbW9kZSBvZgorICogdGhlIGFwcHJvcHJpYXRlIGxheW91dC4KKyAqLwordm9p ZCBkcm1fY3J0Y19nZXRfaHZfdGltaW5nKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlLAorCQkJICAgIGludCAqaGRpc3BsYXksIGludCAqdmRpc3BsYXkpCit7CisJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgYWRqdXN0ZWQ7CisKKwlkcm1fbW9kZV9jb3B5KCZhZGp1c3RlZCwgbW9k ZSk7CisJZHJtX21vZGVfc2V0X2NydGNpbmZvKCZhZGp1c3RlZCwgQ1JUQ19TVEVSRU9fRE9VQkxF X09OTFkpOworCSpoZGlzcGxheSA9IGFkanVzdGVkLmNydGNfaGRpc3BsYXk7CisJKnZkaXNwbGF5 ID0gYWRqdXN0ZWQuY3J0Y192ZGlzcGxheTsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2NydGNfZ2V0 X2h2X3RpbWluZyk7CisKKy8qKgogICogZHJtX2NydGNfY2hlY2tfdmlld3BvcnQgLSBDaGVja3Mg dGhhdCBhIGZyYW1lYnVmZmVyIGlzIGJpZyBlbm91Z2ggZm9yIHRoZQogICogICAgIENSVEMgdmll d3BvcnQKICAqIEBjcnRjOiBDUlRDIHRoYXQgZnJhbWVidWZmZXIgd2lsbCBiZSBkaXNwbGF5ZWQg b24KQEAgLTI1NjYsMTYgKzI1ODcsNyBAQCBpbnQgZHJtX2NydGNfY2hlY2tfdmlld3BvcnQoY29u c3Qgc3RydWN0IGRybV9jcnRjICpjcnRjLAogewogCWludCBoZGlzcGxheSwgdmRpc3BsYXk7CiAK LQloZGlzcGxheSA9IG1vZGUtPmhkaXNwbGF5OwotCXZkaXNwbGF5ID0gbW9kZS0+dmRpc3BsYXk7 Ci0KLQlpZiAoZHJtX21vZGVfaXNfc3RlcmVvKG1vZGUpKSB7Ci0JCXN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlIGFkanVzdGVkID0gKm1vZGU7Ci0KLQkJZHJtX21vZGVfc2V0X2NydGNpbmZvKCZhZGp1 c3RlZCwgQ1JUQ19TVEVSRU9fRE9VQkxFKTsKLQkJaGRpc3BsYXkgPSBhZGp1c3RlZC5jcnRjX2hk aXNwbGF5OwotCQl2ZGlzcGxheSA9IGFkanVzdGVkLmNydGNfdmRpc3BsYXk7Ci0JfQorCWRybV9j cnRjX2dldF9odl90aW1pbmcobW9kZSwgJmhkaXNwbGF5LCAmdmRpc3BsYXkpOwogCiAJaWYgKGNy dGMtPmludmVydF9kaW1lbnNpb25zKQogCQlzd2FwKGhkaXNwbGF5LCB2ZGlzcGxheSk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVzLmMKaW5kZXggNmQ4Yjk0MS4uNzY4OWMxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9tb2Rlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwpAQCAtNzM5 LDYgKzczOSw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfdnJlZnJlc2gpOwogICogLSBUaGUg Q1JUQ19TVEVSRU9fRE9VQkxFIGZsYWcgY2FuIGJlIHVzZWQgdG8gY29tcHV0ZSB0aGUgdGltaW5n cyBmb3IKICAqICAgYnVmZmVycyBjb250YWluaW5nIHR3byBleWVzIChvbmx5IGFkanVzdCB0aGUg dGltaW5ncyB3aGVuIG5lZWRlZCwgZWcuIGZvcgogICogICAiZnJhbWUgcGFja2luZyIgb3IgInNp ZGUgYnkgc2lkZSBmdWxsIikuCisgKiAtIFRoZSBDUlRDX05PX0RCTFNDQU4gYW5kIENSVENfTk9f VlNDQU4gZmxhZ3MgcmVxdWVzdCB0aGF0IGFkanVzdG1lbnQgKm5vdCoKKyAqICAgYmUgcGVyZm9y bWVkIGZvciBkb3VibGVzY2FuIGFuZCB2c2NhbiA+IDEgbW9kZXMgcmVzcGVjdGl2ZWx5LgogICov CiB2b2lkIGRybV9tb2RlX3NldF9jcnRjaW5mbyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcCwg aW50IGFkanVzdF9mbGFncykKIHsKQEAgLTc2NSwxOCArNzY3LDIyIEBAIHZvaWQgZHJtX21vZGVf c2V0X2NydGNpbmZvKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpwLCBpbnQgYWRqdXN0X2ZsYWdz KQogCQl9CiAJfQogCi0JaWYgKHAtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxTQ0FOKSB7Ci0J CXAtPmNydGNfdmRpc3BsYXkgKj0gMjsKLQkJcC0+Y3J0Y192c3luY19zdGFydCAqPSAyOwotCQlw LT5jcnRjX3ZzeW5jX2VuZCAqPSAyOwotCQlwLT5jcnRjX3Z0b3RhbCAqPSAyOworCWlmICghKGFk anVzdF9mbGFncyAmIENSVENfTk9fREJMU0NBTikpIHsKKwkJaWYgKHAtPmZsYWdzICYgRFJNX01P REVfRkxBR19EQkxTQ0FOKSB7CisJCQlwLT5jcnRjX3ZkaXNwbGF5ICo9IDI7CisJCQlwLT5jcnRj X3ZzeW5jX3N0YXJ0ICo9IDI7CisJCQlwLT5jcnRjX3ZzeW5jX2VuZCAqPSAyOworCQkJcC0+Y3J0 Y192dG90YWwgKj0gMjsKKwkJfQogCX0KIAotCWlmIChwLT52c2NhbiA+IDEpIHsKLQkJcC0+Y3J0 Y192ZGlzcGxheSAqPSBwLT52c2NhbjsKLQkJcC0+Y3J0Y192c3luY19zdGFydCAqPSBwLT52c2Nh bjsKLQkJcC0+Y3J0Y192c3luY19lbmQgKj0gcC0+dnNjYW47Ci0JCXAtPmNydGNfdnRvdGFsICo9 IHAtPnZzY2FuOworCWlmICghKGFkanVzdF9mbGFncyAmIENSVENfTk9fVlNDQU4pKSB7CisJCWlm IChwLT52c2NhbiA+IDEpIHsKKwkJCXAtPmNydGNfdmRpc3BsYXkgKj0gcC0+dnNjYW47CisJCQlw LT5jcnRjX3ZzeW5jX3N0YXJ0ICo9IHAtPnZzY2FuOworCQkJcC0+Y3J0Y192c3luY19lbmQgKj0g cC0+dnNjYW47CisJCQlwLT5jcnRjX3Z0b3RhbCAqPSBwLT52c2NhbjsKKwkJfQogCX0KIAogCWlm IChhZGp1c3RfZmxhZ3MgJiBDUlRDX1NURVJFT19ET1VCTEUpIHsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwppbmRleCBjNDI0YzM2Li5iZGE1OGY5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCkBAIC0xMDI3NSw5ICsxMDI3NSw5IEBAIGludGVsX21vZGVzZXRfcGlw ZV9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCSAqIGNvbXB1dGF0aW9uIHRvIGNsZWFy bHkgZGlzdGluZ3Vpc2ggaXQgZnJvbSB0aGUgYWRqdXN0ZWQgbW9kZSwgd2hpY2gKIAkgKiBjYW4g YmUgY2hhbmdlZCBieSB0aGUgY29ubmVjdG9ycyBpbiB0aGUgYmVsb3cgcmV0cnkgbG9vcC4KIAkg Ki8KLQlkcm1fbW9kZV9zZXRfY3J0Y2luZm8oJnBpcGVfY29uZmlnLT5yZXF1ZXN0ZWRfbW9kZSwg Q1JUQ19TVEVSRU9fRE9VQkxFKTsKLQlwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdyA9IHBpcGVfY29u ZmlnLT5yZXF1ZXN0ZWRfbW9kZS5jcnRjX2hkaXNwbGF5OwotCXBpcGVfY29uZmlnLT5waXBlX3Ny Y19oID0gcGlwZV9jb25maWctPnJlcXVlc3RlZF9tb2RlLmNydGNfdmRpc3BsYXk7CisJZHJtX2Ny dGNfZ2V0X2h2X3RpbWluZygmcGlwZV9jb25maWctPnJlcXVlc3RlZF9tb2RlLAorCQkJICAgICAg ICZwaXBlX2NvbmZpZy0+cGlwZV9zcmNfdywKKwkJCSAgICAgICAmcGlwZV9jb25maWctPnBpcGVf c3JjX2gpOwogCiBlbmNvZGVyX3JldHJ5OgogCS8qIEVuc3VyZSB0aGUgcG9ydCBjbG9jayBkZWZh dWx0cyBhcmUgcmVzZXQgd2hlbiByZXRyeWluZy4gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4IGRkMmMxNmUuLjk2OWRh MGYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVkZS9kcm0v ZHJtX2NydGMuaApAQCAtMTE2MSw2ICsxMTYxLDggQEAgZXh0ZXJuIGludCBkcm1fcGxhbmVfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogZXh0ZXJuIHZvaWQgZHJtX3BsYW5lX2NsZWFudXAo c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogZXh0ZXJuIHVuc2lnbmVkIGludCBkcm1fcGxhbmVf aW5kZXgoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwogZXh0ZXJuIHZvaWQgZHJtX3BsYW5lX2Zv cmNlX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOworZXh0ZXJuIHZvaWQgZHJtX2Ny dGNfZ2V0X2h2X3RpbWluZyhjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKKwkJ CQkgICBpbnQgKmhkaXNwbGF5LCBpbnQgKnZkaXNwbGF5KTsKIGV4dGVybiBpbnQgZHJtX2NydGNf Y2hlY2tfdmlld3BvcnQoY29uc3Qgc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCSAgIGludCB4 LCBpbnQgeSwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVz LmgKaW5kZXggOTFkMDU4Mi4uOGYxNzgxMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21v ZGVzLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKQEAgLTkwLDYgKzkwLDkgQEAgZW51 bSBkcm1fbW9kZV9zdGF0dXMgewogCiAjZGVmaW5lIENSVENfSU5URVJMQUNFX0hBTFZFX1YJKDEg PDwgMCkgLyogaGFsdmUgViB2YWx1ZXMgZm9yIGludGVybGFjaW5nICovCiAjZGVmaW5lIENSVENf U1RFUkVPX0RPVUJMRQkoMSA8PCAxKSAvKiBhZGp1c3QgdGltaW5ncyBmb3Igc3RlcmVvIG1vZGVz ICovCisjZGVmaW5lIENSVENfTk9fREJMU0NBTgkJKDEgPDwgMikgLyogZG9uJ3QgYWRqdXN0IGRv dWJsZXNjYW4gKi8KKyNkZWZpbmUgQ1JUQ19OT19WU0NBTgkJKDEgPDwgMykgLyogZG9uJ3QgYWRq dXN0IGRvdWJsZXNjYW4gKi8KKyNkZWZpbmUgQ1JUQ19TVEVSRU9fRE9VQkxFX09OTFkJKENSVENf Tk9fREJMU0NBTiB8IENSVENfTk9fVlNDQU4pCiAKICNkZWZpbmUgRFJNX01PREVfRkxBR18zRF9N QVgJRFJNX01PREVfRkxBR18zRF9TSURFX0JZX1NJREVfSEFMRgogCi0tIAoxLjguNS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=