From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 6/9] drm/i915: Improve page flip vs. FBC interaction Date: Thu, 21 Nov 2013 21:29:50 +0200 Message-ID: <1385062193-19466-7-git-send-email-ville.syrjala@linux.intel.com> References: <1385062193-19466-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 7A58EFCF38 for ; Thu, 21 Nov 2013 11:30:38 -0800 (PST) In-Reply-To: <1385062193-19466-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk9u IEZCQzIgKENURyspIHBhZ2UgZmxpcHMgd2lsbCBhdXRvbWFnaWNhbGx5IG51a2UgRkJDLCBzbyB0 aGUgb25seSB0aGluZwp3ZSBuZWVkIHRvIGRvIG9uIHBhZ2UgZmxpcCBpcyB1cGRhdGUgdGhlIENQ VSBmZW5jZSBpbmZvcm1hdGlvbi4KCk9uIEZCQzEgd2UgbmVlZCB0byB0byBkaXNhYmxlK3JlLWVu YWJsZSBGQkMgYXJvdW5kIHBhZ2UgZmxpcHMuIFByZXZpb3VzbHkKd2UganVzdCBjYWxsZWQgaW50 ZWxfZGlzYWJsZV9mYmMoKSArIGludGVsX3VwZGF0ZV9mYmMoKSB0byBkbyB0aGF0LgpIb3dldmVy IGludGVsX3VwZGF0ZV9mYmMoKSB3b3VsZCBhY3R1YWxseSBuZWVkIHRvIGdyYWIgYWxsIHRoZSBt b2Rlc2V0CmxvY2tzLCB3aGljaCB3ZSBjYW4ndCBkbyBmcm9tIHRoZSBkcml2ZXIgd29ya3F1ZXVl LiBNYWtlIHRoaW5ncyBhIGJpdAptb3JlIHN0cmFpZ2h0Zm9yd2FyZCBieSBzaW1wbHkgZGlzYWJs aW5nIEZCQyBvbmx5IGlmIGl0J3MgYWN0aXZlL3NjaGVkdWxlZAp0byBiZSBhY3RpdmUgb24gdGhl IGN1cnJlbnQgQ1JUQywgYW5kIHJlc3RhcnQgaXQgb24gdGhlIHNhbWUgQ1JUQwphZnRlciB0aGUg ZmxpcC4KCkZJWE1FOiBTZXZlcmFsIEZCQzEgZG9jcyBhY3R1YWxseSBzZWVtIHRvIGluZGljYXRl IHRoYXQgc3luYyBmbGlwcyB3aWxsCmFsc28gY2F1c2UgYSBudWtlIG9uIEZCQzEuIE5lZWQgdG8g dmVyaWZ5IHRoaXMuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNCAr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgOTYgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCA0MTU1ODE0Li5hZjBlYWZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBA IC04MjIyLDcgKzgyMjIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91bnBpbl93b3JrX2ZuKHN0cnVj dCB3b3JrX3N0cnVjdCAqX193b3JrKQogCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZ3b3Jr LT5wZW5kaW5nX2ZsaXBfb2JqLT5iYXNlKTsKIAlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgm d29yay0+b2xkX2ZiX29iai0+YmFzZSk7CiAKLQlpbnRlbF91cGRhdGVfZmJjKGRldik7CisJaW50 ZWxfZmJjX2ZsaXBfZW5kKHdvcmstPmNydGMsIHdvcmstPmNydGMtPmZiKTsKIAltdXRleF91bmxv Y2soJmRldi0+c3RydWN0X211dGV4KTsKIAogCUJVR19PTihhdG9taWNfcmVhZCgmdG9faW50ZWxf Y3J0Yyh3b3JrLT5jcnRjKS0+dW5waW5fd29ya19jb3VudCkgPT0gMCk7CkBAIC04NjYxLDcgKzg2 NjEsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAlpZiAocmV0KQogCQlnb3RvIGNsZWFudXBfcGVuZGluZzsKIAotCWludGVsX2Rpc2Fi bGVfZmJjKGRldik7CisJaW50ZWxfZmJjX2ZsaXBfc3RhcnQoY3J0YywgZmIpOworCiAJaW50ZWxf bWFya19mYl9idXN5KG9iaiwgTlVMTCk7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRl eCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggMTE5YmI5NS4uZjllOWNhMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTgzNiw2ICs4MzYsMTAgQEAgdm9pZCBpbnRlbF91 cGRhdGVfc3ByaXRlX3dhdGVybWFya3Moc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJICAg IGJvb2wgZW5hYmxlZCwgYm9vbCBzY2FsZWQpOwogdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOwogYm9vbCBpbnRlbF9mYmNfZW5hYmxlZChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKK3ZvaWQgaW50ZWxfZmJjX2ZsaXBfc3RhcnQoc3RydWN0IGRybV9jcnRjICpjcnRj LAorCQkJICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cit2b2lkIGludGVsX2ZiY19mbGlw X2VuZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm Yik7CiB2b2lkIGludGVsX3VwZGF0ZV9mYmMoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lk IGludGVsX2dwdV9pcHNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwog dm9pZCBpbnRlbF9ncHVfaXBzX3RlYXJkb3duKHZvaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK aW5kZXggNDAzOWFhMy4uMmE2MTNhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0zNjMs NiArMzYzLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwpCiAJaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5l bmFibGVfZmJjKQogCQlyZXR1cm47CiAKKwlXQVJOX09OKGRldl9wcml2LT5mYmMuZmJjX3dvcmsg JiYgZGV2X3ByaXYtPmZiYy5wbGFuZSAhPSAtMSk7CisKIAlpbnRlbF9jYW5jZWxfZmJjX3dvcmso ZGV2X3ByaXYpOwogCiAJd29yayA9IGt6YWxsb2Moc2l6ZW9mKCp3b3JrKSwgR0ZQX0tFUk5FTCk7 CkBAIC00MDEsNiArNDAzLDggQEAgdm9pZCBpbnRlbF9kaXNhYmxlX2ZiYyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAKKwlXQVJOX09OKGRldl9wcml2LT5mYmMuZmJjX3dvcmsgJiYgZGV2X3By aXYtPmZiYy5wbGFuZSAhPSAtMSk7CisKIAlpbnRlbF9jYW5jZWxfZmJjX3dvcmsoZGV2X3ByaXYp OwogCiAJaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2ZiYykKQEAgLTQxNCw2ICs0MTgs OTYgQEAgdm9pZCBpbnRlbF9kaXNhYmxlX2ZiYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0K IH0KIAorc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2ZiY19mYihzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCisJCQkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCit7CisJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpbnRlbF9mYmNfd29yayAqd29yayA9IGRldl9w cml2LT5mYmMuZmJjX3dvcms7CisKKwkvKgorCSAqIElmIHdlJ3ZlIGp1c3Qgc2NoZWR1bGVkIGFu IGZiYyB3b3JrLAorCSAqIHNpbXBseSB1cGRhdGUgdGhlIGZiIGZvciB0aGUgd29yay4KKwkgKi8K KwlpZiAod29yaykgeworCQlXQVJOX09OKGRldl9wcml2LT5mYmMucGxhbmUgIT0gLTEpOworCisJ CWlmICh3b3JrLT5jcnRjICE9IGNydGMpCisJCQlyZXR1cm47CisKKwkJZHJtX2ZyYW1lYnVmZmVy X3JlZmVyZW5jZShmYik7CisJCWRybV9mcmFtZWJ1ZmZlcl91bnJlZmVyZW5jZSh3b3JrLT5mYik7 CisJCXdvcmstPmZiID0gZmI7CisJfQorCisJaWYgKGRldl9wcml2LT5mYmMucGxhbmUgPT0gdG9f aW50ZWxfY3J0YyhjcnRjKS0+cGxhbmUpIHsKKwkJV0FSTl9PTihkZXZfcHJpdi0+ZmJjLmZiY193 b3JrKTsKKworCQlpZiAoZGV2X3ByaXYtPmZiYy5mYiA9PSBmYiAmJgorCQkgICAgZGV2X3ByaXYt PmZiYy55ID09IGNydGMtPnkpCisJCQlyZXR1cm47CisKKwkJaW50ZWxfc2V0dXBfZmJjKGNydGMs IGZiLCA1MDApOworCX0KK30KKwordm9pZCBpbnRlbF9mYmNfZmxpcF9zdGFydChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCisJCQkgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQoreworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxfZmJjX3dvcmsgKndv cmsgPSBkZXZfcHJpdi0+ZmJjLmZiY193b3JrOworCisJaWYgKCFJOTE1X0hBU19GQkMoZGV2KSkK KwkJcmV0dXJuOworCisJV0FSTl9PTih3b3JrICYmIGRldl9wcml2LT5mYmMucGxhbmUgIT0gLTEp OworCisJLyoganVzdCBuZWVkIHRvIHVwZGF0ZSB0aGUgQ1BVIGZlbmNlIG9uIEZCQzIgKi8KKwlp ZiAoSVNfRzRYKGRldikgfHwgSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNSkgeworCQlpbnRlbF91 cGRhdGVfZmJjX2ZiKGNydGMsIGZiKTsKKwkJcmV0dXJuOworCX0KKworCWlmICh3b3JrICYmIHdv cmstPmNydGMgPT0gY3J0YykgeworCQlpbnRlbF9jYW5jZWxfZmJjX3dvcmsoZGV2X3ByaXYpOwor CisJCS8qCisJCSAqIHNldCBmYmMucGxhbmUgc28gdGhhdCB3ZSBjYW4gcmUtZW5hYmxlCisJCSAq IEZCQyB3aXRoIGp1c3QgaW50ZWxfZmJjX2ZsaXBfZW5kKCkuCisJCSAqLworCQlkZXZfcHJpdi0+ ZmJjLnBsYW5lID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGxhbmU7CisJCXJldHVybjsKKwl9CisK KwlpZiAoZGV2X3ByaXYtPmZiYy5wbGFuZSA9PSB0b19pbnRlbF9jcnRjKGNydGMpLT5wbGFuZSkg eworCQlkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2ZiYyhkZXYpOworCisJCS8qCisJCSAqIGRv bid0IGNsZWFyIGZiYy5wbGFuZSBzbyB0aGF0IHdlIGNhbgorCQkgKiByZS1lbmFibGUgRkJDIHdp dGgganVzdCBpbnRlbF9mYmNfZmxpcF9lbmQoKS4KKwkJICovCisJfQorfQorCit2b2lkIGludGVs X2ZiY19mbGlwX2VuZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYikKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisKKwlp ZiAoIUk5MTVfSEFTX0ZCQyhkZXYpKQorCQlyZXR1cm47CisKKwlXQVJOX09OKGRldl9wcml2LT5m YmMuZmJjX3dvcmsgJiYgZGV2X3ByaXYtPmZiYy5wbGFuZSAhPSAtMSk7CisKKwkvKiBub3RoaW5n IHRvIGRvIG9uIEZCQzIgKi8KKwlpZiAoSVNfRzRYKGRldikgfHwgSU5URUxfSU5GTyhkZXYpLT5n ZW4gPj0gNSkKKwkJcmV0dXJuOworCisJaW50ZWxfdXBkYXRlX2ZiY19mYihjcnRjLCBmYik7Cit9 CisKIHN0YXRpYyBib29sIHNldF9ub19mYmNfcmVhc29uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIAkJCSAgICAgIGVudW0gbm9fZmJjX3JlYXNvbiByZWFzb24pCiB7CkBAIC01 NjcsNyArNjYxLDcgQEAgdm9pZCBpbnRlbF91cGRhdGVfZmJjKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJICAgIGRldl9wcml2LT5mYmMueSA9PSBjcnRjLT55KQogCQlyZXR1cm47CiAKLQlpZiAo aW50ZWxfZmJjX2VuYWJsZWQoZGV2KSkgeworCWlmIChpbnRlbF9mYmNfZW5hYmxlZChkZXYpIHx8 IGRldl9wcml2LT5mYmMucGxhbmUgIT0gLTEpIHsKIAkJLyogV2UgdXBkYXRlIEZCQyBhbG9uZyB0 d28gcGF0aHMsIGFmdGVyIGNoYW5naW5nIGZiL2NydGMKIAkJICogY29uZmlndXJhdGlvbiAobW9k ZXN3aXRjaGluZykgYW5kIGFmdGVyIHBhZ2UtZmxpcHBpbmcKIAkJICogZmluaXNoZXMuIEZvciB0 aGUgbGF0dGVyLCB3ZSBrbm93IHRoYXQgbm90IG9ubHkgZGlkCi0tIAoxLjguMy4yCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=