From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v2 6/8] drm/i915: Rework the FBC interval/stall stuff a bit Date: Thu, 12 Dec 2013 17:27:40 +0200 Message-ID: <1386862060-13798-1-git-send-email-ville.syrjala@linux.intel.com> References: <20131212150317.GM9804@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B7649FA581 for ; Thu, 12 Dec 2013 07:27:44 -0800 (PST) In-Reply-To: <20131212150317.GM9804@phenom.ffwll.local> 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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRv bid0IHRvdWNoIERQRkNfUkVDT01QX0NUTCBvbiBGQkMyLCB1c2UgUk1XIHRvIHVwZGF0ZQp0aGUg RkJDX0NPTlRST0wgb24gRkJDMSB0byBtYWtlIGl0IGVhc2llciBmb3IgcGVvcGxlIHRvCmV4cGVy aW1lbnQgd2l0aCBkaWZmZXJlbnQgbnVtYmVycy4gQWxzbyBmaXggdGhlIGludGVydmFsCm1hc2sg Zm9yIEZCQzEuCgp2MjogUmViYXNlZAoKUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIHwg IDMgKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgMzQgKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp LCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA0NjA3MmI5Li5m Y2EyZWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTM3Miw3ICszNzIsNyBAQCBzdHJ1 Y3QgZHBsbDsKIAogc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCWJvb2wgKCpmYmNf ZW5hYmxlZCkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci0Jdm9pZCAoKmVuYWJsZV9mYmMpKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCk7CisJdm9pZCAoKmVu YWJsZV9mYmMpKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiAJdm9pZCAoKmRpc2FibGVfZmJjKShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAlpbnQgKCpnZXRfZGlzcGxheV9jbG9ja19zcGVlZCko c3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAJaW50ICgqZ2V0X2ZpZm9fc2l6ZSkoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgaW50IHBsYW5lKTsKQEAgLTY5NSw3ICs2OTUsNiBAQCBzdHJ1Y3QgaTkx NV9mYmMgewogCQlzdHJ1Y3QgZGVsYXllZF93b3JrIHdvcms7CiAJCXN0cnVjdCBkcm1fY3J0YyAq Y3J0YzsKIAkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7Ci0JCWludCBpbnRlcnZhbDsKIAl9 ICpmYmNfd29yazsKIAogCWVudW0gbm9fZmJjX3JlYXNvbiB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YwppbmRleCBhYzlkZDQ2Li4wMTNjNTIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTg4 LDcgKzg4LDcgQEAgc3RhdGljIHZvaWQgaTh4eF9kaXNhYmxlX2ZiYyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCURSTV9ERUJVR19LTVMoImRpc2FibGVkIEZCQ1xuIik7CiB9CiAKLXN0YXRpYyB2 b2lkIGk4eHhfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVuc2lnbmVkIGxvbmcg aW50ZXJ2YWwpCitzdGF0aWMgdm9pZCBpOHh4X2VuYWJsZV9mYmMoc3RydWN0IGRybV9jcnRjICpj cnRjKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTEyNiwxMSAr MTI2LDEyIEBAIHN0YXRpYyB2b2lkIGk4eHhfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsIHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwpCiAJfQogCiAJLyogZW5hYmxlIGl0Li4uICovCi0J ZmJjX2N0bCA9IEZCQ19DVExfRU4gfCBGQkNfQ1RMX1BFUklPRElDOworCWZiY19jdGwgPSBJOTE1 X1JFQUQoRkJDX0NPTlRST0wpOworCWZiY19jdGwgJj0gMHgzZmZmIDw8IEZCQ19DVExfSU5URVJW QUxfU0hJRlQ7CisJZmJjX2N0bCB8PSBGQkNfQ1RMX0VOIHwgRkJDX0NUTF9QRVJJT0RJQzsKIAlp ZiAoSVNfSTk0NUdNKGRldikpCiAJCWZiY19jdGwgfD0gRkJDX0NUTF9DM19JRExFOyAvKiA5NDUg bmVlZHMgc3BlY2lhbCBTUiBoYW5kbGluZyAqLwogCWZiY19jdGwgfD0gKGNmYl9waXRjaCAmIDB4 ZmYpIDw8IEZCQ19DVExfU1RSSURFX1NISUZUOwotCWZiY19jdGwgfD0gKGludGVydmFsICYgMHgy ZmZmKSA8PCBGQkNfQ1RMX0lOVEVSVkFMX1NISUZUOwogCWZiY19jdGwgfD0gb2JqLT5mZW5jZV9y ZWc7CiAJSTkxNV9XUklURShGQkNfQ09OVFJPTCwgZmJjX2N0bCk7CiAKQEAgLTE0NSw3ICsxNDYs NyBAQCBzdGF0aWMgYm9vbCBpOHh4X2ZiY19lbmFibGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJcmV0dXJuIEk5MTVfUkVBRChGQkNfQ09OVFJPTCkgJiBGQkNfQ1RMX0VOOwogfQogCi1zdGF0 aWMgdm9pZCBnNHhfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVuc2lnbmVkIGxv bmcgaW50ZXJ2YWwpCitzdGF0aWMgdm9pZCBnNHhfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtMTU0LDE2 ICsxNTUsMTIgQEAgc3RhdGljIHZvaWQgZzR4X2VuYWJsZV9mYmMoc3RydWN0IGRybV9jcnRjICpj cnRjLCB1bnNpZ25lZCBsb25nIGludGVydmFsKQogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmogPSBpbnRlbF9mYi0+b2JqOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKIAlpbnQgcGxhbmUgPSBpbnRlbF9jcnRjLT5wbGFuZSA9PSAw ID8gRFBGQ19DVExfUExBTkVBIDogRFBGQ19DVExfUExBTkVCOwotCXVuc2lnbmVkIGxvbmcgc3Rh bGxfd2F0ZXJtYXJrID0gMjAwOwogCXUzMiBkcGZjX2N0bDsKIAogCWRwZmNfY3RsID0gcGxhbmUg fCBEUEZDX1NSX0VOIHwgRFBGQ19DVExfTElNSVRfMVg7CiAJZHBmY19jdGwgfD0gRFBGQ19DVExf RkVOQ0VfRU4gfCBvYmotPmZlbmNlX3JlZzsKIAlJOTE1X1dSSVRFKERQRkNfQ0hJQ0tFTiwgRFBG Q19IVF9NT0RJRlkpOwogCi0JSTkxNV9XUklURShEUEZDX1JFQ09NUF9DVEwsIERQRkNfUkVDT01Q X1NUQUxMX0VOIHwKLQkJICAgKHN0YWxsX3dhdGVybWFyayA8PCBEUEZDX1JFQ09NUF9TVEFMTF9X TV9TSElGVCkgfAotCQkgICAoaW50ZXJ2YWwgPDwgRFBGQ19SRUNPTVBfVElNRVJfQ09VTlRfU0hJ RlQpKTsKIAlJOTE1X1dSSVRFKERQRkNfRkVOQ0VfWU9GRiwgY3J0Yy0+eSk7CiAKIAkvKiBlbmFi bGUgaXQuLi4gKi8KQEAgLTIxOSw3ICsyMTYsNyBAQCBzdGF0aWMgdm9pZCBzYW5keWJyaWRnZV9i bGl0X2ZiY191cGRhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlnZW42X2d0X2ZvcmNlX3dh a2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfTUVESUEpOwogfQogCi1zdGF0aWMgdm9pZCBpcm9u bGFrZV9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgbG9uZyBpbnRl cnZhbCkKK3N0YXRpYyB2b2lkIGlyb25sYWtlX2VuYWJsZV9mYmMoc3RydWN0IGRybV9jcnRjICpj cnRjKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTIyOCw3ICsy MjUsNiBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCkKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqID0gaW50ZWxfZmItPm9iajsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9 IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJaW50IHBsYW5lID0gaW50ZWxfY3J0Yy0+cGxhbmUgPT0g MCA/IERQRkNfQ1RMX1BMQU5FQSA6IERQRkNfQ1RMX1BMQU5FQjsKLQl1bnNpZ25lZCBsb25nIHN0 YWxsX3dhdGVybWFyayA9IDIwMDsKIAl1MzIgZHBmY19jdGw7CiAKIAlkcGZjX2N0bCA9IEk5MTVf UkVBRChJTEtfRFBGQ19DT05UUk9MKTsKQEAgLTI0MSw5ICsyMzcsNiBAQCBzdGF0aWMgdm9pZCBp cm9ubGFrZV9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdW5zaWduZWQgbG9uZyBp bnRlcnZhbCkKIAkJZHBmY19jdGwgfD0gb2JqLT5mZW5jZV9yZWc7CiAJSTkxNV9XUklURShJTEtf RFBGQ19DSElDS0VOLCBEUEZDX0hUX01PRElGWSk7CiAKLQlJOTE1X1dSSVRFKElMS19EUEZDX1JF Q09NUF9DVEwsIERQRkNfUkVDT01QX1NUQUxMX0VOIHwKLQkJICAgKHN0YWxsX3dhdGVybWFyayA8 PCBEUEZDX1JFQ09NUF9TVEFMTF9XTV9TSElGVCkgfAotCQkgICAoaW50ZXJ2YWwgPDwgRFBGQ19S RUNPTVBfVElNRVJfQ09VTlRfU0hJRlQpKTsKIAlJOTE1X1dSSVRFKElMS19EUEZDX0ZFTkNFX1lP RkYsIGNydGMtPnkpOwogCUk5MTVfV1JJVEUoSUxLX0ZCQ19SVF9CQVNFLCBpOTE1X2dlbV9vYmpf Z2d0dF9vZmZzZXQob2JqKSB8IElMS19GQkNfUlRfVkFMSUQpOwogCS8qIGVuYWJsZSBpdC4uLiAq LwpAQCAtMjgxLDcgKzI3NCw3IEBAIHN0YXRpYyBib29sIGlyb25sYWtlX2ZiY19lbmFibGVkKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJcmV0dXJuIEk5MTVfUkVBRChJTEtfRFBGQ19DT05UUk9M KSAmIERQRkNfQ1RMX0VOOwogfQogCi1zdGF0aWMgdm9pZCBnZW43X2VuYWJsZV9mYmMoc3RydWN0 IGRybV9jcnRjICpjcnRjLCB1bnNpZ25lZCBsb25nIGludGVydmFsKQorc3RhdGljIHZvaWQgZ2Vu N19lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CkBAIC0zMzgsOCArMzMxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZmJjX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICpfX3dvcmspCiAJCSAqIHRoZSBwcmlvciB3 b3JrLgogCQkgKi8KIAkJaWYgKHdvcmstPmNydGMtPmZiID09IHdvcmstPmZiKSB7Ci0JCQlkZXZf cHJpdi0+ZGlzcGxheS5lbmFibGVfZmJjKHdvcmstPmNydGMsCi0JCQkJCQkgICAgIHdvcmstPmlu dGVydmFsKTsKKwkJCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9mYmMod29yay0+Y3J0Yyk7CiAK IAkJCWRldl9wcml2LT5mYmMucGxhbmUgPSB0b19pbnRlbF9jcnRjKHdvcmstPmNydGMpLT5wbGFu ZTsKIAkJCWRldl9wcml2LT5mYmMuZmJfaWQgPSB3b3JrLT5jcnRjLT5mYi0+YmFzZS5pZDsKQEAg LTM3Niw3ICszNjgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jYW5jZWxfZmJjX3dvcmsoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWRldl9wcml2LT5mYmMuZmJjX3dvcmsgPSBO VUxMOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZmJjKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCkKK3N0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9m YmMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBpbnRlbF9mYmNfd29yayAqd29y azsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwpAQCAtMzkwLDEzICszODIs MTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2ZiYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMs IHVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwpCiAJd29yayA9IGt6YWxsb2Moc2l6ZW9mKCp3b3JrKSwg R0ZQX0tFUk5FTCk7CiAJaWYgKHdvcmsgPT0gTlVMTCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBhbGxvY2F0ZSBGQkMgd29yayBzdHJ1Y3R1cmVcbiIpOwotCQlkZXZfcHJpdi0+ZGlzcGxheS5l bmFibGVfZmJjKGNydGMsIGludGVydmFsKTsKKwkJZGV2X3ByaXYtPmRpc3BsYXkuZW5hYmxlX2Zi YyhjcnRjKTsKIAkJcmV0dXJuOwogCX0KIAogCXdvcmstPmNydGMgPSBjcnRjOwogCXdvcmstPmZi ID0gY3J0Yy0+ZmI7Ci0Jd29yay0+aW50ZXJ2YWwgPSBpbnRlcnZhbDsKIAlJTklUX0RFTEFZRURf V09SSygmd29yay0+d29yaywgaW50ZWxfZmJjX3dvcmtfZm4pOwogCiAJZGV2X3ByaXYtPmZiYy5m YmNfd29yayA9IHdvcms7CkBAIC02MTEsNyArNjAyLDcgQEAgdm9pZCBpbnRlbF91cGRhdGVfZmJj KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWludGVsX2Rpc2FibGVfZmJjKGRldik7CiAJfQog Ci0JaW50ZWxfZW5hYmxlX2ZiYyhjcnRjLCA1MDApOworCWludGVsX2VuYWJsZV9mYmMoY3J0Yyk7 CiAJZGV2X3ByaXYtPmZiYy5ub19mYmNfcmVhc29uID0gRkJDX09LOwogCXJldHVybjsKIApAQCAt NjA3NCw2ICs2MDY1LDkgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5mYmNfZW5hYmxlZCA9IGk4eHhfZmJjX2VuYWJsZWQ7 CiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5lbmFibGVfZmJjID0gaTh4eF9lbmFibGVfZmJjOwogCQkJ ZGV2X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9mYmMgPSBpOHh4X2Rpc2FibGVfZmJjOworCisJCQkv KiBUaGlzIHZhbHVlIHdhcyBwdWxsZWQgb3V0IG9mIHNvbWVvbmUncyBoYXQgKi8KKwkJCUk5MTVf V1JJVEUoRkJDX0NPTlRST0wsIDUwMCA8PCBGQkNfQ1RMX0lOVEVSVkFMX1NISUZUKTsKIAkJfQog CX0KIAotLSAKMS44LjMuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK