From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 1/5] drm/i915: Fix scanout position for real Date: Thu, 13 Feb 2014 17:42:50 +0200 Message-ID: <1392306174-9148-2-git-send-email-ville.syrjala@linux.intel.com> References: <1392306174-9148-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 87F47FB328 for ; Thu, 13 Feb 2014 07:43:10 -0800 (PST) In-Reply-To: <1392306174-9148-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClNl ZW1zIEkndmUgYmVlbiBhIGJpdCBkZW5zZSB3aXRoIHJlZ2FyZHMgdG8gdGhlIHN0YXJ0IG9mIHZi bGFuawp2cy4gdGhlIHNjYW5saW5lIGNvdW50ZXIgLyBwaXhlbCBjb3VudGVyLgoKQWZ0ZXIgc3Rh cmluZyBhdCB0aGUgcGl4ZWwgY291bnRlciBvbiBnZW40IEkgY2FtZSB0byB0aGUgY29uY2x1c2lv bgp0aGF0IHRoZSBzdGFydCBvZiB2YmxhbmsgaW50ZXJydXB0IGFuZCBzY2FubGluZSBjb3VudGVy IGluY3JlbWVudApoYXBwZW4gYXQgdGhlIHNhbWUgdGltZS4gVGhlIHNjYW5saW5lIGNvdW50ZXIg aW5jcmVtZW50IGlzIGRvY3VtZW50ZWQKdG8gb2NjdXIgYXQgc3RhcnQgb2YgaHN5bmMsIHdoaWNo IG1lYW5zIHRoYXQgdGhlIHN0YXJ0IG9mIHZibGFuawppbnRlcnJ1cHQgbXVzdCBhbHNvIHRyaWdn ZXIgdGhlcmUuIExvb2tpbmcgYXQgdGhlIHBpeGVsIGNvdW50ZXIgdmFsdWUKd2hlbiB0aGUgc2Nh bmxpbmUgd3JhcHMgZnJvbSB2dG90YWwtMSB0byAwIGNvbmZpcm1zIHRoYXQsIGFzIHRoZSBwaXhl bApjb3VudGVyIGF0IHRoYXQgcG9pbnQgcmVhZHMgaHN5bmNfc3RhcnQuIFRoaXMgYWxzbyBjbGFy aWZpZXMgd2h5IHdlIHNlZQpuZWVkIHRoZSArMSBhZGp1c3RtZW50IHRvIHRoZSBzY2FsaW5lIGNv dW50ZXIuIFRoZSBjb3VudGVyIGFjdHVhbGx5CnN0YXJ0cyBjb3VudGluZyBmcm9tIHZ0b3RhbC0x IG9uIHRoZSBmaXJzdCBhY3RpdmUgbGluZS4KCkkgYWxzbyBjb25maXJtZWQgdGhhdCB0aGUgZnJh bWUgc3RhcnQgaW50ZXJydXB0IGhhcHBlbnMgfjEgbGluZSBhZnRlcgp0aGUgc3RhcnQgb2YgdmJs YW5rLCBidXQgdGhlIGZyYW1lIHN0YXJ0IG9jY3VycyBhdCBoYmxhbmtfc3RhcnQgaW5zdGVhZC4K V2Ugb25seSB1c2UgdGhlIGZyYW1lIHN0YXJ0IGludGVycnVwdCBvbiBnZW4yIHdoZXJlIHRoZSBz dGFydCBvZiB2YmxhbmsKaW50ZXJydXB0IGlzbid0IGF2YWlsYWJsZS4gVGhlIG9ubHkgaW1wb3J0 YW50IHRoaW5nIHRvIG5vdGUgaGVyZSBpcyB0aGF0CmZyYW1lIHN0YXJ0IG9jY3VycyBhZnRlciB2 Ymxhbmsgc3RhcnQsIHNvIHdlIGRvbid0IGhhdmUgdG8gcGxheSBhbnkKYWRkaXRpb25hbCB0cmlj a3MgdG8gZml4IHVwIHRoZSBzY2FubGluZSBjb3VudGVyLgoKVGhlIG90aGVyIHRoaW5nIHRvIG5v dGUgaXMgdGhlIGZhY3QgdGhhdCB0aGUgcGl4ZWwgY291bnRlciBvbiBnZW4zLTQKc3RhcnRzIGNv dW50aW5nIGZyb20gdGhlIHN0YXJ0IG9mIGhvcml6b250YWwgYWN0aXZlIG9uIHRoZSBmaXJzdCBh Y3RpdmUKbGluZS4gVGhhdCBtZWFucyB0aGF0IHdoZW4gd2UgZ2V0IHRoZSBzdGFydCBvZiB2Ymxh bmsgaW50ZXJydXB0LCB0aGUKcGl4ZWwgY291bnRlciByZWFkcyAoaHRvdGFsKih2Ymxhbmtfc3Rh cnQtMSkraHN5bmNfc3RhcnQpLiBTaW5jZSB3ZQpjb25zaWRlciB2YmxhbmsgdG8gc3RhcnQgYXQg KGh0b3RhbCp2Ymxhbmtfc3RhcnQpIHdlIG5lZWQgdG8gYWRkIGEKY29uc3RhbnQgKGh0b3RhbC1o c3luY19zdGFydCkgb2Zmc2V0IHRvIHRoZSBwaXhlbCBjb3VudGVyLCBvciBlbHNlIHdlCnJpc2sg bWlzZGV0ZWN0aW5nIHdoZXRoZXIgd2UncmUgaW4gdmJsYW5rIG9yIG5vdC4KCkkgdGFsa2VkIGEg Yml0IHdpdGggQXJ0IFJ1bnlhbiBhYm91dCB0aGVzZSB0b3BpY3MsIGFuZCBoZSBjb25maXJtZWQg bXkKZmluZGluZ3MuIEFuZCB0aGF0IHRoZSBzYW1lIHJ1bGVzIHNob3VsZCBob2xkIGZvciBwbGF0 Zm9ybXMgd2hpY2ggZG9uJ3QKaGF2ZSB0aGUgcGl4ZWwgY291bnRlci4gVGhhdCdzIGdvb2Qgc2lu Y2Ugd2l0aG91dCB0aGUgcGl4ZWwgY291bnRlciBpdCdzCnJhdGhlciBkaWZmaWN1bHQgdG8gdmVy aWZ5IHRoZSB0aW1pbmdzIHRvIHRoaXMgYWNjdXJhY3kuCgpTbyB0aGUgY29uY2x1c2lvbiBpcyB0 aGF0IHdlIGNhbiB0aHJvdyBhd2F5IGFsbCB0aGUgSVNSIHRyaWNrcyBJIGFkZGVkLAphbmQganVz dCBpbmNyZW1lbnQgdGhlIHNjYW5saW5lIGNvdW50ZXIgYnkgb25lIGFsd2F5cy4KClNpZ25lZC1v ZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyB8IDg5ICsrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygr KSwgNjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggZjY4YWVlMy4u ZDU0Nzk5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC03MDYsMzQgKzcwNiw2IEBAIHN0 YXRpYyB1MzIgZ200NV9nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg aW50IHBpcGUpCiAKIC8qIHJhdyByZWFkcywgb25seSBmb3IgZmFzdCByZWFkcyBvZiBkaXNwbGF5 IGJsb2NrLCBubyBuZWVkIGZvciBmb3JjZXdha2UgZXRjLiAqLwogI2RlZmluZSBfX3Jhd19pOTE1 X3JlYWQzMihkZXZfcHJpdl9fLCByZWdfXykgcmVhZGwoKGRldl9wcml2X18pLT5yZWdzICsgKHJl Z19fKSkKLSNkZWZpbmUgX19yYXdfaTkxNV9yZWFkMTYoZGV2X3ByaXZfXywgcmVnX18pIHJlYWR3 KChkZXZfcHJpdl9fKS0+cmVncyArIChyZWdfXykpCi0KLXN0YXRpYyBib29sIGlsa19waXBlX2lu X3ZibGFua19sb2NrZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBpcGUpCi17 Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK LQl1aW50MzJfdCBzdGF0dXM7Ci0KLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA3KSB7Ci0J CXN0YXR1cyA9IHBpcGUgPT0gUElQRV9BID8KLQkJCURFX1BJUEVBX1ZCTEFOSyA6Ci0JCQlERV9Q SVBFQl9WQkxBTks7Ci0JfSBlbHNlIHsKLQkJc3dpdGNoIChwaXBlKSB7Ci0JCWRlZmF1bHQ6Ci0J CWNhc2UgUElQRV9BOgotCQkJc3RhdHVzID0gREVfUElQRUFfVkJMQU5LX0lWQjsKLQkJCWJyZWFr OwotCQljYXNlIFBJUEVfQjoKLQkJCXN0YXR1cyA9IERFX1BJUEVCX1ZCTEFOS19JVkI7Ci0JCQli cmVhazsKLQkJY2FzZSBQSVBFX0M6Ci0JCQlzdGF0dXMgPSBERV9QSVBFQ19WQkxBTktfSVZCOwot CQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQlyZXR1cm4gX19yYXdfaTkxNV9yZWFkMzIoZGV2X3ByaXYs IERFSVNSKSAmIHN0YXR1czsKLX0KIAogc3RhdGljIGludCBpOTE1X2dldF9jcnRjX3NjYW5vdXRw b3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUsCiAJCQkJICAgIHVuc2lnbmVkIGlu dCBmbGFncywgaW50ICp2cG9zLCBpbnQgKmhwb3MsCkBAIC03NDQsNyArNzE2LDcgQEAgc3RhdGlj IGludCBpOTE1X2dldF9jcnRjX3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50 IHBpcGUsCiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNy dGMpOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJmludGVsX2NydGMt PmNvbmZpZy5hZGp1c3RlZF9tb2RlOwogCWludCBwb3NpdGlvbjsKLQlpbnQgdmJsX3N0YXJ0LCB2 YmxfZW5kLCBodG90YWwsIHZ0b3RhbDsKKwlpbnQgdmJsX3N0YXJ0LCB2YmxfZW5kLCBoc3luY19z dGFydCwgaHRvdGFsLCB2dG90YWw7CiAJYm9vbCBpbl92YmwgPSB0cnVlOwogCWludCByZXQgPSAw OwogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CkBAIC03NTYsNiArNzI4LDcgQEAgc3RhdGljIGlu dCBpOTE1X2dldF9jcnRjX3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBp cGUsCiAJfQogCiAJaHRvdGFsID0gbW9kZS0+Y3J0Y19odG90YWw7CisJaHN5bmNfc3RhcnQgPSBt b2RlLT5jcnRjX2hzeW5jX3N0YXJ0OwogCXZ0b3RhbCA9IG1vZGUtPmNydGNfdnRvdGFsOwogCXZi bF9zdGFydCA9IG1vZGUtPmNydGNfdmJsYW5rX3N0YXJ0OwogCXZibF9lbmQgPSBtb2RlLT5jcnRj X3ZibGFua19lbmQ7CkBAIC03NzQsNyArNzQ3LDcgQEAgc3RhdGljIGludCBpOTE1X2dldF9jcnRj X3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUsCiAJICogZm9sbG93 aW5nIGNvZGUgbXVzdCBub3QgYmxvY2sgb24gdW5jb3JlLmxvY2suCiAJICovCiAJc3Bpbl9sb2Nr X2lycXNhdmUoJmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOwotCQorCiAJLyogcHJl ZW1wdF9kaXNhYmxlX3J0KCkgc2hvdWxkIGdvIHJpZ2h0IGhlcmUgaW4gUFJFRU1QVF9SVCBwYXRj aHNldC4gKi8KIAogCS8qIEdldCBvcHRpb25hbCBzeXN0ZW0gdGltZXN0YW1wIGJlZm9yZSBxdWVy eS4gKi8KQEAgLTc5MCw0MiArNzYzLDE1IEBAIHN0YXRpYyBpbnQgaTkxNV9nZXRfY3J0Y19zY2Fu b3V0cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlLAogCQllbHNlCiAJCQlwb3Np dGlvbiA9IF9fcmF3X2k5MTVfcmVhZDMyKGRldl9wcml2LCBQSVBFRFNMKHBpcGUpKSAmIERTTF9M SU5FTUFTS19HRU4zOwogCi0JCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKLQkJCS8qCi0JCQkg KiBUaGUgc2NhbmxpbmUgY291bnRlciBpbmNyZW1lbnRzIGF0IHRoZSBsZWFkaW5nIGVkZ2UKLQkJ CSAqIG9mIGhzeW5jLCBpZS4gaXQgY29tcGxldGVseSBtaXNzZXMgdGhlIGFjdGl2ZSBwb3J0aW9u Ci0JCQkgKiBvZiB0aGUgbGluZS4gRml4IHVwIHRoZSBjb3VudGVyIGF0IGJvdGggZWRnZXMgb2Yg dmJsYW5rCi0JCQkgKiB0byBnZXQgYSBtb3JlIGFjY3VyYXRlIHBpY3R1cmUgd2hldGhlciB3ZSdy ZSBpbiB2YmxhbmsKLQkJCSAqIG9yIG5vdC4KLQkJCSAqLwotCQkJaW5fdmJsID0gaWxrX3BpcGVf aW5fdmJsYW5rX2xvY2tlZChkZXYsIHBpcGUpOwotCQkJaWYgKChpbl92YmwgJiYgcG9zaXRpb24g PT0gdmJsX3N0YXJ0IC0gMSkgfHwKLQkJCSAgICAoIWluX3ZibCAmJiBwb3NpdGlvbiA9PSB2Ymxf ZW5kIC0gMSkpCi0JCQkJcG9zaXRpb24gPSAocG9zaXRpb24gKyAxKSAlIHZ0b3RhbDsKLQkJfSBl bHNlIHsKLQkJCS8qCi0JCQkgKiBJU1IgdmJsYW5rIHN0YXR1cyBiaXRzIGRvbid0IHdvcmsgdGhl IHdheSB3ZSdkIHdhbnQKLQkJCSAqIHRoZW0gdG8gd29yayBvbiBub24tUENIIHBsYXRmb3JtcyAo Zm9yCi0JCQkgKiBpbGtfcGlwZV9pbl92YmxhbmtfbG9ja2VkKCkpLCBhbmQgdGhlcmUgZG9lc24n dAotCQkJICogYXBwZWFyIGFueSBvdGhlciB3YXkgdG8gZGV0ZXJtaW5lIGlmIHdlJ3JlIGN1cnJl bnRseQotCQkJICogaW4gdmJsYW5rLgotCQkJICoKLQkJCSAqIEluc3RlYWQgbGV0J3MgYXNzdW1l IHRoYXQgd2UncmUgYWxyZWFkeSBpbiB2YmxhbmsgaWYKLQkJCSAqIHdlIGdvdCBjYWxsZWQgZnJv bSB0aGUgdmJsYW5rIGludGVycnVwdCBhbmQgdGhlCi0JCQkgKiBzY2FubGluZSBjb3VudGVyIHZh bHVlIGluZGljYXRlcyB0aGF0IHdlJ3JlIG9uIHRoZQotCQkJICogbGluZSBqdXN0IHByaW9yIHRv IHZibGFuayBzdGFydC4gVGhpcyBzaG91bGQgcmVzdWx0Ci0JCQkgKiBpbiB0aGUgY29ycmVjdCBh bnN3ZXIsIHVubGVzcyB0aGUgdmJsYW5rIGludGVycnVwdAotCQkJICogZGVsaXZlcnkgcmVhbGx5 IGdvdCBkZWxheWVkIGZvciBhbG1vc3QgZXhhY3RseSBvbmUKLQkJCSAqIGZ1bGwgZnJhbWUvZmll bGQuCi0JCQkgKi8KLQkJCWlmIChmbGFncyAmIERSTV9DQUxMRURfRlJPTV9WQkxJUlEgJiYKLQkJ CSAgICBwb3NpdGlvbiA9PSB2Ymxfc3RhcnQgLSAxKSB7Ci0JCQkJcG9zaXRpb24gPSAocG9zaXRp b24gKyAxKSAlIHZ0b3RhbDsKLQotCQkJCS8qIFNpZ25hbCB0aGlzIGNvcnJlY3Rpb24gYXMgImFw cGxpZWQiLiAqLwotCQkJCXJldCB8PSAweDg7Ci0JCQl9Ci0JCX0KKwkJLyoKKwkJICogU2Nhbmxp bmUgY291bnRlciBpbmNyZW1lbnRzIGF0IGxlYWRpbmcgZWRnZSBvZiBoc3luYywgYW5kCisJCSAq IGl0IHN0YXJ0cyBjb3VudGluZyBmcm9tIHZ0b3RhbC0xIG9uIHRoZSBmaXJzdCBhY3RpdmUgbGlu ZS4KKwkJICogVGhhdCBtZWFucyB0aGUgc2NhbmxpbmUgY291bnRlciB2YWx1ZSBpcyBhbHdheXMg b25lIGxlc3MKKwkJICogdGhhbiB3aGF0IHdlIHdvdWxkIGV4cGVjdC4gSWUuIGp1c3QgYWZ0ZXIg c3RhcnQgb2YgdmJsYW5rLAorCQkgKiB3aGljaCBhbHNvIG9jY3VycyBhdCBzdGFydCBvZiBoc3lu YyAob24gdGhlIGxhc3QgYWN0aXZlIGxpbmUpLAorCQkgKiB0aGUgc2NhbmxpbmUgY291bnRlciB3 aWxsIHJlYWQgdmJsYW5rX3N0YXJ0LTEuCisJCSAqLworCQlwb3NpdGlvbiA9IChwb3NpdGlvbiAr IDEpICUgdnRvdGFsOwogCX0gZWxzZSB7CiAJCS8qIEhhdmUgYWNjZXNzIHRvIHBpeGVsY291bnQg c2luY2Ugc3RhcnQgb2YgZnJhbWUuCiAJCSAqIFdlIGNhbiBzcGxpdCB0aGlzIGludG8gdmVydGlj YWwgYW5kIGhvcml6b250YWwKQEAgLTgzNyw2ICs3ODMsMTcgQEAgc3RhdGljIGludCBpOTE1X2dl dF9jcnRjX3NjYW5vdXRwb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUsCiAJCXZi bF9zdGFydCAqPSBodG90YWw7CiAJCXZibF9lbmQgKj0gaHRvdGFsOwogCQl2dG90YWwgKj0gaHRv dGFsOworCisJCS8qCisJCSAqIFN0YXJ0IG9mIHZibGFuayBpbnRlcnJ1cHQgaXMgdHJpZ2dlcmVk IGF0IHN0YXJ0IG9mIGhzeW5jLAorCQkgKiBqdXN0IHByaW9yIHRvIHRoZSBmaXJzdCBhY3RpdmUg bGluZSBvZiB2YmxhbmsuIEhvd2V2ZXIgd2UKKwkJICogY29uc2lkZXIgbGluZXMgdG8gc3RhcnQg YXQgdGhlIGxlYWRpbmcgZWRnZSBvZiBob3Jpem9udGFsCisJCSAqIGFjdGl2ZS4gU28sIHNob3Vs ZCB3ZSBnZXQgaGVyZSBiZWZvcmUgd2UndmUgY3Jvc3NlZCBpbnRvCisJCSAqIHRoZSBob3Jpem9u dGFsIGFjdGl2ZSBvZiB0aGUgZmlyc3QgbGluZSBpbiB2YmxhbmssIHdlIHdvdWxkCisJCSAqIG5v dCBzZXQgdGhlIERSTV9TQ0FOT1VUUE9TX0lOVkJMIGZsYWcuIEluIG9yZGVyIHRvIGZpeCB0aGF0 LAorCQkgKiBhbHdheXMgYWRkIGh0b3RhbC1oc3luY19zdGFydCB0byB0aGUgY3VycmVudCBwaXhl bCBwb3NpdGlvbi4KKwkJICovCisJCXBvc2l0aW9uID0gKHBvc2l0aW9uICsgaHRvdGFsIC0gaHN5 bmNfc3RhcnQpICUgdnRvdGFsOwogCX0KIAogCS8qIEdldCBvcHRpb25hbCBzeXN0ZW0gdGltZXN0 YW1wIGFmdGVyIHF1ZXJ5LiAqLwotLSAKMS44LjMuMgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK