From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [CI 03/17] drm/i915/gen9: Cache plane data rates in CRTC state Date: Thu, 12 May 2016 07:05:57 -0700 Message-ID: <1463061971-19638-4-git-send-email-matthew.d.roper@intel.com> References: <1463061971-19638-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: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 27F536E8CF for ; Thu, 12 May 2016 14:08:04 +0000 (UTC) In-Reply-To: <1463061971-19638-1-git-send-email-matthew.d.roper@intel.com> 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 List-Id: intel-gfx@lists.freedesktop.org VGhpcyB3aWxsIGJlIGltcG9ydGFudCB3aGVuIHdlIHN0YXJ0IGNhbGN1bGF0aW5nIENSVEMgZGF0 YSByYXRlcyBmb3IKaW4tZmxpZ2h0IENSVEMgc3RhdGVzIHNpbmNlIGl0IHdpbGwgYWxsb3cgdXMg dG8gY2FsY3VsYXRlIHRoZSB0b3RhbCBkYXRhCnJhdGUgd2l0aG91dCBuZWVkaW5nIHRvIGdyYWIg dGhlIHBsYW5lIHN0YXRlIGZvciBhbnkgcGxhbmVzIHRoYXQgYXJlbid0CnVwZGF0ZWQgYnkgdGhl IHRyYW5zYWN0aW9uLgoKU2lnbmVkLW9mZi1ieTogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVy QGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmto b3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggfCAgNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgfCA5MiArKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYzIGlu c2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5k ZXggMWIyZTY5Ni4uZmQ0ZmRkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTQyNyw2 ICs0MjcsMTAgQEAgc3RydWN0IGludGVsX2NydGNfd21fc3RhdGUgewogCQlzdHJ1Y3QgewogCQkJ LyogZ2VuOSsgb25seSBuZWVkcyAxLXN0ZXAgd20gcHJvZ3JhbW1pbmcgKi8KIAkJCXN0cnVjdCBz a2xfcGlwZV93bSBvcHRpbWFsOworCisJCQkvKiBjYWNoZWQgcGxhbmUgZGF0YSByYXRlICovCisJ CQl1bnNpZ25lZCBwbGFuZV9kYXRhX3JhdGVbSTkxNV9NQVhfUExBTkVTXTsKKwkJCXVuc2lnbmVk IHBsYW5lX3lfZGF0YV9yYXRlW0k5MTVfTUFYX1BMQU5FU107CiAJCX0gc2tsOwogCX07CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IGY2NTIwZDUuLjg4Y2MxZTIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwpAQCAtMjk0MCw2ICsyOTQwLDE0IEBAIHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRh X3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAlzdHJ1Y3QgaW50 ZWxfcGxhbmVfc3RhdGUgKmludGVsX3BzdGF0ZSA9IHRvX2ludGVsX3BsYW5lX3N0YXRlKHBzdGF0 ZSk7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwc3RhdGUtPmZiOwogCXVpbnQzMl90 IHdpZHRoID0gMCwgaGVpZ2h0ID0gMDsKKwl1bnNpZ25lZCBmb3JtYXQgPSBmYiA/IGZiLT5waXhl bF9mb3JtYXQgOiBEUk1fRk9STUFUX1hSR0I4ODg4OworCisJaWYgKCFpbnRlbF9wc3RhdGUtPnZp c2libGUpCisJCXJldHVybiAwOworCWlmIChwc3RhdGUtPnBsYW5lLT50eXBlID09IERSTV9QTEFO RV9UWVBFX0NVUlNPUikKKwkJcmV0dXJuIDA7CisJaWYgKHkgJiYgZm9ybWF0ICE9IERSTV9GT1JN QVRfTlYxMikKKwkJcmV0dXJuIDA7CiAKIAl3aWR0aCA9IGRybV9yZWN0X3dpZHRoKCZpbnRlbF9w c3RhdGUtPnNyYykgPj4gMTY7CiAJaGVpZ2h0ID0gZHJtX3JlY3RfaGVpZ2h0KCZpbnRlbF9wc3Rh dGUtPnNyYykgPj4gMTY7CkBAIC0yOTQ4LDE3ICsyOTU2LDE3IEBAIHNrbF9wbGFuZV9yZWxhdGl2 ZV9kYXRhX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJc3dh cCh3aWR0aCwgaGVpZ2h0KTsKIAogCS8qIGZvciBwbGFuYXIgZm9ybWF0ICovCi0JaWYgKGZiLT5w aXhlbF9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyKSB7CisJaWYgKGZvcm1hdCA9PSBEUk1fRk9S TUFUX05WMTIpIHsKIAkJaWYgKHkpICAvKiB5LXBsYW5lIGRhdGEgcmF0ZSAqLwogCQkJcmV0dXJu IHdpZHRoICogaGVpZ2h0ICoKLQkJCQlkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9y bWF0LCAwKTsKKwkJCQlkcm1fZm9ybWF0X3BsYW5lX2NwcChmb3JtYXQsIDApOwogCQllbHNlICAg IC8qIHV2LXBsYW5lIGRhdGEgcmF0ZSAqLwogCQkJcmV0dXJuICh3aWR0aCAvIDIpICogKGhlaWdo dCAvIDIpICoKLQkJCQlkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAxKTsK KwkJCQlkcm1fZm9ybWF0X3BsYW5lX2NwcChmb3JtYXQsIDEpOwogCX0KIAogCS8qIGZvciBwYWNr ZWQgZm9ybWF0cyAqLwotCXJldHVybiB3aWR0aCAqIGhlaWdodCAqIGRybV9mb3JtYXRfcGxhbmVf Y3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOworCXJldHVybiB3aWR0aCAqIGhlaWdodCAqIGRybV9m b3JtYXRfcGxhbmVfY3BwKGZvcm1hdCwgMCk7CiB9CiAKIC8qCkBAIC0yOTY3LDMyICsyOTc1LDM0 IEBAIHNrbF9wbGFuZV9yZWxhdGl2ZV9kYXRhX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNzdGF0ZSwKICAqICAgMyAqIDQwOTYgKiA4MTkyICAqIDQgPCAyXjMyCiAgKi8KIHN0 YXRpYyB1bnNpZ25lZCBpbnQKLXNrbF9nZXRfdG90YWxfcmVsYXRpdmVfZGF0YV9yYXRlKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCitza2xfZ2V0X3RvdGFsX3JlbGF0aXZl X2RhdGFfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQogewogCXN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7 CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2NydGMtPmJhc2UuZGV2OwogCWNvbnN0 IHN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmU7Ci0JdW5zaWduZWQgaW50IHRvdGFsX2Rh dGFfcmF0ZSA9IDA7CisJdW5zaWduZWQgaW50IHJhdGUsIHRvdGFsX2RhdGFfcmF0ZSA9IDA7CiAK KwkvKiBDYWxjdWxhdGUgYW5kIGNhY2hlIGRhdGEgcmF0ZSBmb3IgZWFjaCBwbGFuZSAqLwogCWZv cl9lYWNoX2ludGVsX3BsYW5lX29uX2NydGMoZGV2LCBpbnRlbF9jcnRjLCBpbnRlbF9wbGFuZSkg ewogCQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwc3RhdGUgPSBpbnRlbF9wbGFuZS0+ YmFzZS5zdGF0ZTsKKwkJaW50IGlkID0gc2tsX3dtX3BsYW5lX2lkKGludGVsX3BsYW5lKTsKIAot CQlpZiAocHN0YXRlLT5mYiA9PSBOVUxMKQotCQkJY29udGludWU7CisJCS8qIHBhY2tlZC91diAq LworCQlyYXRlID0gc2tsX3BsYW5lX3JlbGF0aXZlX2RhdGFfcmF0ZShjc3RhdGUsIHBzdGF0ZSwg MCk7CisJCWNzdGF0ZS0+d20uc2tsLnBsYW5lX2RhdGFfcmF0ZVtpZF0gPSByYXRlOwogCi0JCWlm IChpbnRlbF9wbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikKLQkJCWNv bnRpbnVlOworCQkvKiB5LXBsYW5lICovCisJCXJhdGUgPSBza2xfcGxhbmVfcmVsYXRpdmVfZGF0 YV9yYXRlKGNzdGF0ZSwgcHN0YXRlLCAxKTsKKwkJY3N0YXRlLT53bS5za2wucGxhbmVfeV9kYXRh X3JhdGVbaWRdID0gcmF0ZTsKKwl9CiAKLQkJLyogcGFja2VkL3V2ICovCi0JCXRvdGFsX2RhdGFf cmF0ZSArPSBza2xfcGxhbmVfcmVsYXRpdmVfZGF0YV9yYXRlKGNzdGF0ZSwKLQkJCQkJCQkJcHN0 YXRlLAotCQkJCQkJCQkwKTsKKwkvKiBDYWxjdWxhdGUgQ1JUQydzIHRvdGFsIGRhdGEgcmF0ZSBm cm9tIGNhY2hlZCB2YWx1ZXMgKi8KKwlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwg aW50ZWxfY3J0YywgaW50ZWxfcGxhbmUpIHsKKwkJaW50IGlkID0gc2tsX3dtX3BsYW5lX2lkKGlu dGVsX3BsYW5lKTsKIAotCQlpZiAocHN0YXRlLT5mYi0+cGl4ZWxfZm9ybWF0ID09IERSTV9GT1JN QVRfTlYxMikKLQkJCS8qIHktcGxhbmUgKi8KLQkJCXRvdGFsX2RhdGFfcmF0ZSArPSBza2xfcGxh bmVfcmVsYXRpdmVfZGF0YV9yYXRlKGNzdGF0ZSwKLQkJCQkJCQkJCXBzdGF0ZSwKLQkJCQkJCQkJ CTEpOworCQkvKiBwYWNrZWQvdXYgKi8KKwkJdG90YWxfZGF0YV9yYXRlICs9IGNzdGF0ZS0+d20u c2tsLnBsYW5lX2RhdGFfcmF0ZVtpZF07CisJCXRvdGFsX2RhdGFfcmF0ZSArPSBjc3RhdGUtPndt LnNrbC5wbGFuZV95X2RhdGFfcmF0ZVtpZF07CiAJfQogCiAJcmV0dXJuIHRvdGFsX2RhdGFfcmF0 ZTsKQEAgLTMwNTYsNiArMzA2Niw4IEBAIHNrbF9hbGxvY2F0ZV9waXBlX2RkYihzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAogCSAqIEZJWE1FOiB3ZSBtYXkgbm90IGFsbG9jYXRlIGV2 ZXJ5IHNpbmdsZSBibG9jayBoZXJlLgogCSAqLwogCXRvdGFsX2RhdGFfcmF0ZSA9IHNrbF9nZXRf dG90YWxfcmVsYXRpdmVfZGF0YV9yYXRlKGNzdGF0ZSk7CisJaWYgKHRvdGFsX2RhdGFfcmF0ZSA9 PSAwKQorCQlyZXR1cm47CiAKIAlzdGFydCA9IGFsbG9jLT5zdGFydDsKIAlmb3JfZWFjaF9pbnRl bF9wbGFuZV9vbl9jcnRjKGRldiwgaW50ZWxfY3J0YywgaW50ZWxfcGxhbmUpIHsKQEAgLTMwNzAs NyArMzA4Miw3IEBAIHNrbF9hbGxvY2F0ZV9waXBlX2RkYihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3N0YXRlLAogCQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQog CQkJY29udGludWU7CiAKLQkJZGF0YV9yYXRlID0gc2tsX3BsYW5lX3JlbGF0aXZlX2RhdGFfcmF0 ZShjc3RhdGUsIHBzdGF0ZSwgMCk7CisJCWRhdGFfcmF0ZSA9IGNzdGF0ZS0+d20uc2tsLnBsYW5l X2RhdGFfcmF0ZVtpZF07CiAKIAkJLyoKIAkJICogYWxsb2NhdGlvbiBmb3IgKHBhY2tlZCBmb3Jt YXRzKSBvciAodXYtcGxhbmUgcGFydCBvZiBwbGFuYXIgZm9ybWF0KToKQEAgLTMwODksMjAgKzMx MDEsMTYgQEAgc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGUsCiAJCS8qCiAJCSAqIGFsbG9jYXRpb24gZm9yIHlfcGxhbmUgcGFydCBvZiBwbGFuYXIg Zm9ybWF0OgogCQkgKi8KLQkJaWYgKHBzdGF0ZS0+ZmItPnBpeGVsX2Zvcm1hdCA9PSBEUk1fRk9S TUFUX05WMTIpIHsKLQkJCXlfZGF0YV9yYXRlID0gc2tsX3BsYW5lX3JlbGF0aXZlX2RhdGFfcmF0 ZShjc3RhdGUsCi0JCQkJCQkJCSAgIHBzdGF0ZSwKLQkJCQkJCQkJICAgMSk7Ci0JCQl5X3BsYW5l X2Jsb2NrcyA9IHlfbWluaW11bVtpZF07Ci0JCQl5X3BsYW5lX2Jsb2NrcyArPSBkaXZfdTY0KCh1 aW50NjRfdClhbGxvY19zaXplICogeV9kYXRhX3JhdGUsCi0JCQkJCQl0b3RhbF9kYXRhX3JhdGUp OwotCi0JCQlkZGItPnlfcGxhbmVbcGlwZV1baWRdLnN0YXJ0ID0gc3RhcnQ7Ci0JCQlkZGItPnlf cGxhbmVbcGlwZV1baWRdLmVuZCA9IHN0YXJ0ICsgeV9wbGFuZV9ibG9ja3M7Ci0KLQkJCXN0YXJ0 ICs9IHlfcGxhbmVfYmxvY2tzOwotCQl9CisJCXlfZGF0YV9yYXRlID0gY3N0YXRlLT53bS5za2wu cGxhbmVfeV9kYXRhX3JhdGVbaWRdOworCisJCXlfcGxhbmVfYmxvY2tzID0geV9taW5pbXVtW2lk XTsKKwkJeV9wbGFuZV9ibG9ja3MgKz0gZGl2X3U2NCgodWludDY0X3QpYWxsb2Nfc2l6ZSAqIHlf ZGF0YV9yYXRlLAorCQkJCQl0b3RhbF9kYXRhX3JhdGUpOwogCisJCWRkYi0+eV9wbGFuZVtwaXBl XVtpZF0uc3RhcnQgPSBzdGFydDsKKwkJZGRiLT55X3BsYW5lW3BpcGVdW2lkXS5lbmQgPSBzdGFy dCArIHlfcGxhbmVfYmxvY2tzOworCisJCXN0YXJ0ICs9IHlfcGxhbmVfYmxvY2tzOwogCX0KIAog fQpAQCAtMzg3OSwxMCArMzg4NywyOCBAQCB2b2lkIHNrbF93bV9nZXRfaHdfc3RhdGUoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gKmRkYiA9ICZkZXZf cHJpdi0+d20uc2tsX2h3LmRkYjsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGM7CiAKIAlza2xfZGRiX2dldF9od19zdGF0ZShkZXZfcHJpdiwg ZGRiKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNydGMsICZkZXYtPm1vZGVfY29uZmlnLmNydGNf bGlzdCwgaGVhZCkKIAkJc2tsX3BpcGVfd21fZ2V0X2h3X3N0YXRlKGNydGMpOworCisJLyogQ2Fs Y3VsYXRlIHBsYW5lIGRhdGEgcmF0ZXMgKi8KKwlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgaW50 ZWxfY3J0YykgeworCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlID0gaW50ZWxfY3J0 Yy0+Y29uZmlnOworCQlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lOworCisJCWZvcl9l YWNoX2ludGVsX3BsYW5lX29uX2NydGMoZGV2LCBpbnRlbF9jcnRjLCBpbnRlbF9wbGFuZSkgewor CQkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcHN0YXRlID0KKwkJCQlpbnRlbF9wbGFu ZS0+YmFzZS5zdGF0ZTsKKwkJCWludCBpZCA9IHNrbF93bV9wbGFuZV9pZChpbnRlbF9wbGFuZSk7 CisKKwkJCWNzdGF0ZS0+d20uc2tsLnBsYW5lX2RhdGFfcmF0ZVtpZF0gPQorCQkJCXNrbF9wbGFu ZV9yZWxhdGl2ZV9kYXRhX3JhdGUoY3N0YXRlLCBwc3RhdGUsIDApOworCQkJY3N0YXRlLT53bS5z a2wucGxhbmVfeV9kYXRhX3JhdGVbaWRdID0KKwkJCQlza2xfcGxhbmVfcmVsYXRpdmVfZGF0YV9y YXRlKGNzdGF0ZSwgcHN0YXRlLCAxKTsKKwkJfQorCX0KIH0KIAogc3RhdGljIHZvaWQgaWxrX3Bp cGVfd21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKLS0gCjIuMS40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK