From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Wajdeczko Subject: [PATCH 2/5] drm/i915/wopcm: Check WOPCM layout separately from calculations Date: Thu, 15 Aug 2019 21:48:41 +0000 Message-ID: <20190815214841.17856-1-michal.wajdeczko@intel.com> References: <20190815171228.31920-3-michal.wajdeczko@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB8F988A28 for ; Thu, 15 Aug 2019 21:48:47 +0000 (UTC) In-Reply-To: <20190815171228.31920-3-michal.wajdeczko@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 V2UgY2FuIGRvIFdPUENNIHBhcnRpdGlvbmluZyB1c2luZyByb3VnaCBlc3RpbWF0ZXMgYW5kIGxp bWl0cwphbmQgcGVyZm9ybSBkZXRhaWxlZCBjaGVjayBhcyBzZXBhcmF0ZSBzdGVwLgoKdjI6IG9v cHMhIHMvbWF4L21pbgoKU2lnbmVkLW9mZi1ieTogTWljaGFsIFdhamRlY3prbyA8bWljaGFsLndh amRlY3prb0BpbnRlbC5jb20+CkNjOiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNl cmFvbG9zcHVyaW9AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29wY20uYyB8IDEwNSAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDc0IGluc2VydGlv bnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3dvcGNtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3BjbS5jCmluZGV4 IDI5NzVlMDBmNTdmNS4uMzlmMjc2NGNhM2E4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF93b3BjbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcGNt LmMKQEAgLTg3LDcgKzg3LDggQEAgdm9pZCBpbnRlbF93b3BjbV9pbml0X2Vhcmx5KHN0cnVjdCBp bnRlbF93b3BjbSAqd29wY20pCiAJZWxzZQogCQl3b3BjbS0+c2l6ZSA9IEdFTjlfV09QQ01fU0la RTsKIAotCURSTV9ERUJVR19EUklWRVIoIldPUENNIHNpemU6ICV1S2lCXG4iLCB3b3BjbS0+c2l6 ZSAvIDEwMjQpOworCURSTV9ERVZfREVCVUdfRFJJVkVSKGk5MTUtPmRybS5kZXYsICJXT1BDTTog c2l6ZSAldUtpQlxuIiwKKwkJCSAgICAgd29wY20tPnNpemUgLyBTWl8xSyk7CiB9CiAKIHN0YXRp YyBpbmxpbmUgdTMyIGNvbnRleHRfcmVzZXJ2ZWRfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKQEAgLTEzOCw5ICsxMzksOSBAQCBzdGF0aWMgaW5saW5lIGludCBnZW45X2NoZWNr X2h1Y19md19maXRzKHUzMiBndWNfd29wY21fc2l6ZSwgdTMyIGh1Y19md19zaXplKQogCXJldHVy biAwOwogfQogCi1zdGF0aWMgaW5saW5lIGludCBjaGVja19od19yZXN0cmljdGlvbihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKLQkJCQkgICAgICAgdTMyIGd1Y193b3BjbV9iYXNlLCB1 MzIgZ3VjX3dvcGNtX3NpemUsCi0JCQkJICAgICAgIHUzMiBodWNfZndfc2l6ZSkKK3N0YXRpYyBp bmxpbmUgYm9vbCBjaGVja19od19yZXN0cmljdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCisJCQkJCSB1MzIgZ3VjX3dvcGNtX2Jhc2UsIHUzMiBndWNfd29wY21fc2l6ZSwKKwkJ CQkJIHUzMiBodWNfZndfc2l6ZSkKIHsKIAlpbnQgZXJyID0gMDsKIApAQCAtMTUxLDcgKzE1Miw2 NCBAQCBzdGF0aWMgaW5saW5lIGludCBjaGVja19od19yZXN0cmljdGlvbihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwKIAkgICAgKElTX0dFTihpOTE1LCA5KSB8fCBJU19DTkxfUkVWSUQo aTkxNSwgQ05MX1JFVklEX0EwLCBDTkxfUkVWSURfQTApKSkKIAkJZXJyID0gZ2VuOV9jaGVja19o dWNfZndfZml0cyhndWNfd29wY21fc2l6ZSwgaHVjX2Z3X3NpemUpOwogCi0JcmV0dXJuIGVycjsK KwlyZXR1cm4gIWVycjsKK30KKworc3RhdGljIGlubGluZSBib29sIF9fY2hlY2tfbGF5b3V0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1MzIgd29wY21fc2l6ZSwKKwkJCQkgIHUzMiBn dWNfd29wY21fYmFzZSwgdTMyIGd1Y193b3BjbV9zaXplLAorCQkJCSAgdTMyIGd1Y19md19zaXpl LCB1MzIgaHVjX2Z3X3NpemUpCit7CisJY29uc3QgdTMyIGN0eF9yc3ZkID0gY29udGV4dF9yZXNl cnZlZF9zaXplKGk5MTUpOworCXUzMiBzaXplOworCisJaWYgKHVubGlrZWx5KGd1Y193b3BjbV9i YXNlID4gd29wY21fc2l6ZSkpIHsKKwkJZGV2X2VycihpOTE1LT5kcm0uZGV2LAorCQkJIldPUENN OiBpbnZhbGlkIEd1QyByZWdpb24gYmFzZTogJXVLID4gJXVLXG4iLAorCQkJZ3VjX3dvcGNtX2Jh c2UgLyBTWl8xSywgd29wY21fc2l6ZSAvIFNaXzFLKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwor CXNpemUgPSB3b3BjbV9zaXplIC0gY3R4X3JzdmQ7CisJaWYgKHVubGlrZWx5KGd1Y193b3BjbV9i YXNlID4gc2l6ZSkpIHsKKwkJZGV2X2VycihpOTE1LT5kcm0uZGV2LAorCQkJIldPUENNOiBpbnZh bGlkIEd1QyByZWdpb24gYmFzZTogJXVLID4gJXVLXG4iLAorCQkJZ3VjX3dvcGNtX2Jhc2UgLyBT Wl8xSywgc2l6ZSAvIFNaXzFLKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCWlmICh1bmxpa2Vs eShndWNfd29wY21fc2l6ZSA+IHdvcGNtX3NpemUpKSB7CisJCWRldl9lcnIoaTkxNS0+ZHJtLmRl diwKKwkJCSJXT1BDTTogaW52YWxpZCBHdUMgcmVnaW9uIHNpemU6ICV1SyA+ICV1S1xuIiwKKwkJ CWd1Y193b3BjbV9zaXplIC8gU1pfMUssIHdvcGNtX3NpemUgLyBTWl8xSyk7CisJCXJldHVybiBm YWxzZTsKKwl9CisKKwlzaXplID0gd29wY21fc2l6ZSAtIGd1Y193b3BjbV9iYXNlIC0gY3R4X3Jz dmQ7CisJaWYgKHVubGlrZWx5KGd1Y193b3BjbV9zaXplID4gc2l6ZSkpIHsKKwkJZGV2X2Vycihp OTE1LT5kcm0uZGV2LAorCQkJIldPUENNOiBpbnZhbGlkIEd1QyByZWdpb24gc2l6ZTogJXVLID4g JXVLXG4iLAorCQkJZ3VjX3dvcGNtX3NpemUgLyBTWl8xSywgc2l6ZSAvIFNaXzFLKTsKKwkJcmV0 dXJuIGZhbHNlOworCX0KKworCXNpemUgPSBndWNfZndfc2l6ZSArIEdVQ19XT1BDTV9SRVNFUlZF RCArIEdVQ19XT1BDTV9TVEFDS19SRVNFUlZFRDsKKwlpZiAodW5saWtlbHkoZ3VjX3dvcGNtX3Np emUgPCBzaXplKSkgeworCQlkZXZfZXJyKGk5MTUtPmRybS5kZXYsICJXT1BDTTogbm8gc3BhY2Ug Zm9yICVzOiAldUsgPCAldUtcbiIsCisJCQlpbnRlbF91Y19md190eXBlX3JlcHIoSU5URUxfVUNf RldfVFlQRV9HVUMpLAorCQkJZ3VjX3dvcGNtX3NpemUgLyBTWl8xSywgc2l6ZSAvIFNaXzFLKTsK KwkJcmV0dXJuIGZhbHNlOworCX0KKworCXNpemUgPSBodWNfZndfc2l6ZSArIFdPUENNX1JFU0VS VkVEX1NJWkU7CisJaWYgKHVubGlrZWx5KGd1Y193b3BjbV9iYXNlIDwgc2l6ZSkpIHsKKwkJZGV2 X2VycihpOTE1LT5kcm0uZGV2LCAiV09QQ006IG5vIHNwYWNlIGZvciAlczogJXVLIDwgJXVLXG4i LAorCQkJaW50ZWxfdWNfZndfdHlwZV9yZXByKElOVEVMX1VDX0ZXX1RZUEVfSFVDKSwKKwkJCWd1 Y193b3BjbV9iYXNlIC8gU1pfMUssIHNpemUgLyBTWl8xSyk7CisJCXJldHVybiBmYWxzZTsKKwl9 CisKKwlyZXR1cm4gY2hlY2tfaHdfcmVzdHJpY3Rpb25zKGk5MTUsIGd1Y193b3BjbV9iYXNlLCBn dWNfd29wY21fc2l6ZSwKKwkJCQkgICAgIGh1Y19md19zaXplKTsKIH0KIAogLyoqCkBAIC0xNzIs OCArMjMwLDYgQEAgdm9pZCBpbnRlbF93b3BjbV9pbml0KHN0cnVjdCBpbnRlbF93b3BjbSAqd29w Y20pCiAJdTMyIGN0eF9yc3ZkID0gY29udGV4dF9yZXNlcnZlZF9zaXplKGk5MTUpOwogCXUzMiBn dWNfd29wY21fYmFzZTsKIAl1MzIgZ3VjX3dvcGNtX3NpemU7Ci0JdTMyIGd1Y193b3BjbV9yc3Zk OwotCWludCBlcnI7CiAKIAlpZiAoIWd1Y19md19zaXplKQogCQlyZXR1cm47CkBAIC0xODMsMzkg KzIzOSwyNiBAQCB2b2lkIGludGVsX3dvcGNtX2luaXQoc3RydWN0IGludGVsX3dvcGNtICp3b3Bj bSkKIAlHRU1fQlVHX09OKHdvcGNtLT5ndWMuc2l6ZSk7CiAJR0VNX0JVR19PTihndWNfZndfc2l6 ZSA+PSB3b3BjbS0+c2l6ZSk7CiAJR0VNX0JVR19PTihodWNfZndfc2l6ZSA+PSB3b3BjbS0+c2l6 ZSk7CisJR0VNX0JVR19PTihjdHhfcnN2ZCArIFdPUENNX1JFU0VSVkVEX1NJWkUgPj0gd29wY20t PnNpemUpOwogCiAJaWYgKGk5MTVfaW5qZWN0X3Byb2JlX2ZhaWx1cmUoaTkxNSkpCiAJCXJldHVy bjsKIAogCWd1Y193b3BjbV9iYXNlID0gQUxJR04oaHVjX2Z3X3NpemUgKyBXT1BDTV9SRVNFUlZF RF9TSVpFLAogCQkJICAgICAgIEdVQ19XT1BDTV9PRkZTRVRfQUxJR05NRU5UKTsKLQlpZiAoKGd1 Y193b3BjbV9iYXNlICsgY3R4X3JzdmQpID49IHdvcGNtLT5zaXplKSB7Ci0JCURSTV9FUlJPUigi R3VDIFdPUENNIGJhc2UgKCV1S2lCKSBpcyB0b28gYmlnLlxuIiwKLQkJCSAgZ3VjX3dvcGNtX2Jh c2UgLyAxMDI0KTsKLQkJcmV0dXJuOwotCX0KLQorCWd1Y193b3BjbV9iYXNlID0gbWluKHdvcGNt LT5zaXplIC0gY3R4X3JzdmQsIGd1Y193b3BjbV9iYXNlKTsKIAlndWNfd29wY21fc2l6ZSA9IHdv cGNtLT5zaXplIC0gZ3VjX3dvcGNtX2Jhc2UgLSBjdHhfcnN2ZDsKIAlndWNfd29wY21fc2l6ZSAm PSBHVUNfV09QQ01fU0laRV9NQVNLOwogCi0JRFJNX0RFQlVHX0RSSVZFUigiQ2FsY3VsYXRlZCBH dUMgV09QQ00gUmVnaW9uOiBbJXVLaUIsICV1S2lCKVxuIiwKLQkJCSBndWNfd29wY21fYmFzZSAv IDEwMjQsIGd1Y193b3BjbV9zaXplIC8gMTAyNCk7CisJRFJNX0RFVl9ERUJVR19EUklWRVIoaTkx NS0+ZHJtLmRldiwKKwkJCSAgICAgIkNhbGN1bGF0ZWQgR3VDIFdPUENNIFJlZ2lvbjogWyV1S2lC LCAldUtpQilcbiIsCisJCQkgICAgIGd1Y193b3BjbV9iYXNlIC8gU1pfMUssIGd1Y193b3BjbV9z aXplIC8gU1pfMUspOwogCi0JZ3VjX3dvcGNtX3JzdmQgPSBHVUNfV09QQ01fUkVTRVJWRUQgKyBH VUNfV09QQ01fU1RBQ0tfUkVTRVJWRUQ7Ci0JaWYgKChndWNfZndfc2l6ZSArIGd1Y193b3BjbV9y c3ZkKSA+IGd1Y193b3BjbV9zaXplKSB7Ci0JCURSTV9FUlJPUigiTmVlZCAldUtpQiBXT1BDTSBm b3IgR3VDLCAldUtpQiBhdmFpbGFibGUuXG4iLAotCQkJICAoZ3VjX2Z3X3NpemUgKyBndWNfd29w Y21fcnN2ZCkgLyAxMDI0LAotCQkJICBndWNfd29wY21fc2l6ZSAvIDEwMjQpOwotCQlyZXR1cm47 CisJaWYgKF9fY2hlY2tfbGF5b3V0KGk5MTUsIHdvcGNtLT5zaXplLCBndWNfd29wY21fYmFzZSwg Z3VjX3dvcGNtX3NpemUsCisJCQkgICBndWNfZndfc2l6ZSwgaHVjX2Z3X3NpemUpKSB7CisJCXdv cGNtLT5ndWMuYmFzZSA9IGd1Y193b3BjbV9iYXNlOworCQl3b3BjbS0+Z3VjLnNpemUgPSBndWNf d29wY21fc2l6ZTsKKwkJR0VNX0JVR19PTighd29wY20tPmd1Yy5iYXNlKTsKKwkJR0VNX0JVR19P Tighd29wY20tPmd1Yy5zaXplKTsKIAl9Ci0KLQllcnIgPSBjaGVja19od19yZXN0cmljdGlvbihp OTE1LCBndWNfd29wY21fYmFzZSwgZ3VjX3dvcGNtX3NpemUsCi0JCQkJICAgaHVjX2Z3X3NpemUp OwotCWlmIChlcnIpCi0JCXJldHVybjsKLQotCXdvcGNtLT5ndWMuYmFzZSA9IGd1Y193b3BjbV9i YXNlOwotCXdvcGNtLT5ndWMuc2l6ZSA9IGd1Y193b3BjbV9zaXplOwotCUdFTV9CVUdfT04oIXdv cGNtLT5ndWMuYmFzZSk7Ci0JR0VNX0JVR19PTighd29wY20tPmd1Yy5zaXplKTsKIH0KLS0gCjIu MTkuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4