From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 09/18] drm/i915: Compute proper intermediate wms for vlv/cvh Date: Thu, 2 Mar 2017 19:14:59 +0200 Message-ID: <20170302171508.1666-10-ville.syrjala@linux.intel.com> References: <20170302171508.1666-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 894876EC02 for ; Thu, 2 Mar 2017 17:15:38 +0000 (UTC) In-Reply-To: <20170302171508.1666-1-ville.syrjala@linux.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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClNp bmNlIHRoZSB3YXRlcm1hcmsgcmVnaXN0ZXJzIGFyZW50IGRvdWJsZSBidWZmZXJlZCBvbiBWTFYv Q0hWLCB3ZSdsbApuZWVkIHRvIHBsYXkgYXJvdW5kIHdpdGggaW50ZXJtZWRpYXRlIHdhdGVybWFy a3Mgc2FtZSB3YXMgYXMgd2UgZG8gb24KSUxLLUJEVy4KClRoZSB3YXRlcm1hcmsgcmVnaXN0ZXJz IG9uIFZMVi9DSFYgY29udGFpbiBpbnZlcnRlZCB2YWx1ZXMsIHNvIHRvIGZpbmQKdGhlIGludGVy bWVkaWF0ZSB3YXRlcm1hcmsgdmFsdWUgd2UganVzdCB0YWtlIHRoZSBtaW5pbXVtIG9mIHRoZQph Y3RpdmUgYW5kIG9wdGltYWwgdmFsdWVzLiBUaGlzIGFsc28gbWVhbnMgdGhhdCwgdW5saWtlIElM Sy1CRFcsCnRoZXJlJ3Mgbm8gY2hhbmNlIHRoYXQgd2UnZCBmYWlsIHRvIGZpbmQgYSB3b3JraW5n IGludGVybWVkaWF0ZQp3YXRlcm1hcmtzLiBBcyBsb25nIGFzIGJvdGggdGhlIGFjdGl2ZSBhbmQg b3B0aW1hbCB3YXRlcm1hcmtzIGFyZSB2YWxpZAp0aGUgaW50ZXJtZWRpYXRlIHdhdGVybWFya3Mg d2lsbCBjb21lIG91dCB2YWxpZCBhcyB3ZWxsLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYyAgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst CiAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDA0OTQzNzMyMjU1ZS4uYTcyYjY5OWY0NWZlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNTM4LDYgKzUzOCw4IEBAIHN0cnVjdCBpbnRlbF9j cnRjX3dtX3N0YXRlIHsKIAkJc3RydWN0IHsKIAkJCS8qICJyYXciIHdhdGVybWFya3MgKG5vdCBp bnZlcnRlZCkgKi8KIAkJCXN0cnVjdCB2bHZfcGlwZV93bSByYXdbTlVNX1ZMVl9XTV9MRVZFTFNd OworCQkJLyogaW50ZXJtZWRpYXRlIHdhdGVybWFya3MgKGludmVydGVkKSAqLworCQkJc3RydWN0 IHZsdl93bV9zdGF0ZSBpbnRlcm1lZGlhdGU7CiAJCQkvKiBvcHRpbWFsIHdhdGVybWFya3MgKGlu dmVydGVkKSAqLwogCQkJc3RydWN0IHZsdl93bV9zdGF0ZSBvcHRpbWFsOwogCQkJLyogZGlzcGxh eSBGSUZPIHNwbGl0ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAyNTY2Yzg4ZDhjODku LjA3ZTVjOWI2N2NhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0xNDAxLDYgKzE0MDEs NDUgQEAgc3RhdGljIHZvaWQgdmx2X2F0b21pY191cGRhdGVfZmlmbyhzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSwKIAogI3VuZGVmIFZMVl9GSUZPCiAKK3N0YXRpYyBpbnQgdmx2X2Nv bXB1dGVfaW50ZXJtZWRpYXRlX3dtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkJICAgICAg IHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAorCQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3Qgdmx2X3dtX3N0YXRlICppbnRlcm1lZGlhdGUg PSAmY3J0Y19zdGF0ZS0+d20udmx2LmludGVybWVkaWF0ZTsKKwljb25zdCBzdHJ1Y3Qgdmx2X3dt X3N0YXRlICpvcHRpbWFsID0gJmNydGNfc3RhdGUtPndtLnZsdi5vcHRpbWFsOworCWNvbnN0IHN0 cnVjdCB2bHZfd21fc3RhdGUgKmFjdGl2ZSA9ICZjcnRjLT53bS5hY3RpdmUudmx2OworCWludCBs ZXZlbDsKKworCWludGVybWVkaWF0ZS0+bnVtX2xldmVscyA9IG1pbihvcHRpbWFsLT5udW1fbGV2 ZWxzLCBhY3RpdmUtPm51bV9sZXZlbHMpOworCWludGVybWVkaWF0ZS0+Y3hzciA9IG9wdGltYWwt PmN4c3IgJiBhY3RpdmUtPmN4c3I7CisKKwlmb3IgKGxldmVsID0gMDsgbGV2ZWwgPCBpbnRlcm1l ZGlhdGUtPm51bV9sZXZlbHM7IGxldmVsKyspIHsKKwkJZW51bSBwbGFuZV9pZCBwbGFuZV9pZDsK KworCQlmb3JfZWFjaF9wbGFuZV9pZF9vbl9jcnRjKGNydGMsIHBsYW5lX2lkKSB7CisJCQlpbnRl cm1lZGlhdGUtPndtW2xldmVsXS5wbGFuZVtwbGFuZV9pZF0gPQorCQkJCW1pbihvcHRpbWFsLT53 bVtsZXZlbF0ucGxhbmVbcGxhbmVfaWRdLAorCQkJCSAgICBhY3RpdmUtPndtW2xldmVsXS5wbGFu ZVtwbGFuZV9pZF0pOworCQl9CisKKwkJaW50ZXJtZWRpYXRlLT5zcltsZXZlbF0ucGxhbmUgPSBt aW4ob3B0aW1hbC0+c3JbbGV2ZWxdLnBsYW5lLAorCQkJCQkJICAgIGFjdGl2ZS0+c3JbbGV2ZWxd LnBsYW5lKTsKKwkJaW50ZXJtZWRpYXRlLT5zcltsZXZlbF0uY3Vyc29yID0gbWluKG9wdGltYWwt PnNyW2xldmVsXS5jdXJzb3IsCisJCQkJCQkgICAgIGFjdGl2ZS0+c3JbbGV2ZWxdLmN1cnNvcik7 CisJfQorCisJdmx2X2ludmFsaWRhdGVfd21zKGNydGMsIGludGVybWVkaWF0ZSwgbGV2ZWwpOwor CisJLyoKKwkgKiBJZiBvdXIgaW50ZXJtZWRpYXRlIFdNIGFyZSBpZGVudGljYWwgdG8gdGhlIGZp bmFsIFdNLCB0aGVuIHdlIGNhbgorCSAqIG9taXQgdGhlIHBvc3QtdmJsYW5rIHByb2dyYW1taW5n OyBvbmx5IHVwZGF0ZSBpZiBpdCdzIGRpZmZlcmVudC4KKwkgKi8KKwlpZiAobWVtY21wKGludGVy bWVkaWF0ZSwgb3B0aW1hbCwgc2l6ZW9mKCppbnRlcm1lZGlhdGUpKSA9PSAwKQorCQljcnRjX3N0 YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlID0gZmFsc2U7CisKKwlyZXR1cm4gMDsKK30KKwog c3RhdGljIHZvaWQgdmx2X21lcmdlX3dtKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJCSBzdHJ1Y3Qgdmx2X3dtX3ZhbHVlcyAqd20pCiB7CkBAIC0xNDk0LDcgKzE1MzMsMjIg QEAgc3RhdGljIHZvaWQgdmx2X2luaXRpYWxfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKIAogCW11dGV4X2xvY2soJmRldl9wcml2LT53bS53bV9t dXRleCk7Ci0JY3J0Yy0+d20uYWN0aXZlLnZsdiA9IGNydGNfc3RhdGUtPndtLnZsdi5vcHRpbWFs OworCWNydGMtPndtLmFjdGl2ZS52bHYgPSBjcnRjX3N0YXRlLT53bS52bHYuaW50ZXJtZWRpYXRl OworCXZsdl9wcm9ncmFtX3dhdGVybWFya3MoZGV2X3ByaXYpOworCW11dGV4X3VubG9jaygmZGV2 X3ByaXYtPndtLndtX211dGV4KTsKK30KKworc3RhdGljIHZvaWQgdmx2X29wdGltaXplX3dhdGVy bWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJICAgIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOworCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNl LmNydGMpOworCisJaWYgKCFjcnRjX3N0YXRlLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlKQorCQly ZXR1cm47CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOworCWludGVsX2Ny dGMtPndtLmFjdGl2ZS52bHYgPSBjcnRjX3N0YXRlLT53bS52bHYub3B0aW1hbDsKIAl2bHZfcHJv Z3JhbV93YXRlcm1hcmtzKGRldl9wcml2KTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT53bS53 bV9tdXRleCk7CiB9CkBAIC00Njk3LDYgKzQ3NTEsNyBAQCB2b2lkIHZsdl93bV9nZXRfaHdfc3Rh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJdmx2X2ludmFsaWRhdGVfd21zKGNydGMsIGFj dGl2ZSwgbGV2ZWwpOwogCiAJCWNydGNfc3RhdGUtPndtLnZsdi5vcHRpbWFsID0gKmFjdGl2ZTsK KwkJY3J0Y19zdGF0ZS0+d20udmx2LmludGVybWVkaWF0ZSA9ICphY3RpdmU7CiAKIAkJRFJNX0RF QlVHX0tNUygiSW5pdGlhbCB3YXRlcm1hcmtzOiBwaXBlICVjLCBwbGFuZT0lZCwgY3Vyc29yPSVk LCBzcHJpdGUwPSVkLCBzcHJpdGUxPSVkXG4iLAogCQkJICAgICAgcGlwZV9uYW1lKHBpcGUpLApA QCAtNzg2Myw3ICs3OTE4LDkgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAl9IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpIHx8 IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7CiAJCXZsdl9zZXR1cF93bV9sYXRlbmN5KGRldl9w cml2KTsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuY29tcHV0ZV9waXBlX3dtID0gdmx2X2NvbXB1dGVf cGlwZV93bTsKKwkJZGV2X3ByaXYtPmRpc3BsYXkuY29tcHV0ZV9pbnRlcm1lZGlhdGVfd20gPSB2 bHZfY29tcHV0ZV9pbnRlcm1lZGlhdGVfd207CiAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxf d2F0ZXJtYXJrcyA9IHZsdl9pbml0aWFsX3dhdGVybWFya3M7CisJCWRldl9wcml2LT5kaXNwbGF5 Lm9wdGltaXplX3dhdGVybWFya3MgPSB2bHZfb3B0aW1pemVfd2F0ZXJtYXJrczsKIAkJZGV2X3By aXYtPmRpc3BsYXkuYXRvbWljX3VwZGF0ZV93YXRlcm1hcmtzID0gdmx2X2F0b21pY191cGRhdGVf ZmlmbzsKIAl9IGVsc2UgaWYgKElTX1BJTkVWSUVXKGRldl9wcml2KSkgewogCQlpZiAoIWludGVs X2dldF9jeHNyX2xhdGVuY3koSVNfUElORVZJRVdfRyhkZXZfcHJpdiksCi0tIAoyLjEwLjIKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=