From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 03/16] drm/i915: Check hw vs. sw watermark state after programming Date: Thu, 22 May 2014 17:48:08 +0300 Message-ID: <1400770101-14277-4-git-send-email-ville.syrjala@linux.intel.com> References: <1400770101-14277-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id CAF4E6EC2F for ; Thu, 22 May 2014 07:48:41 -0700 (PDT) In-Reply-To: <1400770101-14277-1-git-send-email-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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk1h a2Ugc3VyZSB3ZSBwcm9ncmFtbWVkIHRoZSB3YXRlcm1hcmtzIGNvcnJlY3RseSwgYnkgcmVhZGlu ZyBvdXQgdGhlCmhhcmR3YXJlIHN0YXRlIGFnYWluIGFmdGVyIHByb2dyYW1taW5nIGFuZCBjb21w YXJpbmcgaXQgd2l0aCB0aGUKc3RhdGUgd2Ugc3VwcG9zZWRseSBwcm9ncmFtbWVkIGludG8gaGFy ZHdhcmUuIER1bXAgdGhlIHdhdGVybWFyawpyZWdpc3RlcnMgYWZ0ZXIgYSBtaXNtYXRjaCwgdmVy eSBtdWNoIGxpa2Ugd2UgZm9yIHRoZSBwaXBlIGNvbmZpZy4KVGhlIG9ubHkgZGlmZmVyZW5jZSBp cyB0aGF0IHdlIGRvbid0IGR1bXAgdGhlIGVudGlyZSB3YXRlcm1hcmsKc29mdHdhcmUgdHJhY2tp bmcgc3RhdGUgc2luY2UgdGhhdCdzIHNwcmVhZCBhcm91bmQgYSBiaXQuCgpSZXZpZXdlZC1ieTog UGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8IDExNyArKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKSwgMzQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggYmQ5NTY4ZS4uNWI1NGJmNiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0yNTc1LDE1ICsyNTc1LDg0IEBAIHN0YXRpYyBi b29sIF9pbGtfZGlzYWJsZV9scF93bShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJcmV0dXJuIGNoYW5nZWQ7CiB9CiAKK3N0YXRpYyB2b2lkIF9pbGtfcGlwZV93bV9nZXRfaHdf c3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkgICAgICBlbnVtIHBpcGUgcGlwZSwK KwkJCQkgICAgICBzdHJ1Y3QgaWxrX3dtX3ZhbHVlcyAqaHcpCit7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdGF0aWMgY29uc3QgdW5z aWduZWQgaW50IHdtMF9waXBlX3JlZ1tdID0geworCQlbUElQRV9BXSA9IFdNMF9QSVBFQV9JTEss CisJCVtQSVBFX0JdID0gV00wX1BJUEVCX0lMSywKKwkJW1BJUEVfQ10gPSBXTTBfUElQRUNfSVZC LAorCX07CisKKwlody0+d21fcGlwZVtwaXBlXSA9IEk5MTVfUkVBRCh3bTBfcGlwZV9yZWdbcGlw ZV0pOworCisJaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKKwkJaHct PndtX2xpbmV0aW1lW3BpcGVdID0gSTkxNV9SRUFEKFBJUEVfV01fTElORVRJTUUocGlwZSkpOwor fQorCitzdGF0aWMgdm9pZCBfaWxrX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAorCQkJCSBzdHJ1Y3QgaWxrX3dtX3ZhbHVlcyAqaHcpCit7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwllbnVtIHBpcGUgcGlwZTsK KworCWZvcl9lYWNoX3BpcGUocGlwZSkKKwkJX2lsa19waXBlX3dtX2dldF9od19zdGF0ZShkZXYs IHBpcGUsIGh3KTsKKworCWh3LT53bV9scFswXSA9IEk5MTVfUkVBRChXTTFfTFBfSUxLKTsKKwlo dy0+d21fbHBbMV0gPSBJOTE1X1JFQUQoV00yX0xQX0lMSyk7CisJaHctPndtX2xwWzJdID0gSTkx NV9SRUFEKFdNM19MUF9JTEspOworCisJaHctPndtX2xwX3NwclswXSA9IEk5MTVfUkVBRChXTTFT X0xQX0lMSyk7CisJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDcpIHsKKwkJaHctPndtX2xw X3NwclsxXSA9IEk5MTVfUkVBRChXTTJTX0xQX0lWQik7CisJCWh3LT53bV9scF9zcHJbMl0gPSBJ OTE1X1JFQUQoV00zU19MUF9JVkIpOworCX0KKworCWlmIChJU19IQVNXRUxMKGRldikgfHwgSVNf QlJPQURXRUxMKGRldikpCisJCWh3LT5wYXJ0aXRpb25pbmcgPSAoSTkxNV9SRUFEKFdNX01JU0Mp ICYgV01fTUlTQ19EQVRBX1BBUlRJVElPTl81XzYpID8KKwkJCUlOVEVMX0REQl9QQVJUXzVfNiA6 IElOVEVMX0REQl9QQVJUXzFfMjsKKwllbHNlIGlmIChJU19JVllCUklER0UoZGV2KSkKKwkJaHct PnBhcnRpdGlvbmluZyA9IChJOTE1X1JFQUQoRElTUF9BUkJfQ1RMMikgJiBESVNQX0RBVEFfUEFS VElUSU9OXzVfNikgPworCQkJSU5URUxfRERCX1BBUlRfNV82IDogSU5URUxfRERCX1BBUlRfMV8y OworCisJaHctPmVuYWJsZV9mYmNfd20gPQorCQkhKEk5MTVfUkVBRChESVNQX0FSQl9DVEwpICYg RElTUF9GQkNfV01fRElTKTsKK30KKworc3RhdGljIHZvaWQgaWxrX2R1bXBfd21fdmFsdWVzKGNv bnN0IHN0cnVjdCBpbGtfd21fdmFsdWVzICpodywKKwkJCSAgICAgICBjb25zdCBjaGFyICpjb250 ZXh0KQoreworCURSTV9ERUJVR19LTVMoIiVzIHdhdGVybWFyayB2YWx1ZXNcbiIsIGNvbnRleHQp OworCURSTV9ERUJVR19LTVMoIldNX1BJUEVfQSA9IDB4JTA4eFxuIiwgIGh3LT53bV9waXBlW1BJ UEVfQV0pOworCURSTV9ERUJVR19LTVMoIldNX1BJUEVfQiA9IDB4JTA4eFxuIiwgIGh3LT53bV9w aXBlW1BJUEVfQl0pOworCURSTV9ERUJVR19LTVMoIldNX1BJUEVfQyA9IDB4JTA4eFxuIiwgIGh3 LT53bV9waXBlW1BJUEVfQ10pOworCURSTV9ERUJVR19LTVMoIldNX0xQXzEgPSAweCUwOHhcbiIs IGh3LT53bV9scFswXSk7CisJRFJNX0RFQlVHX0tNUygiV01fTFBfMiA9IDB4JTA4eFxuIiwgaHct PndtX2xwWzFdKTsKKwlEUk1fREVCVUdfS01TKCJXTV9MUF8zID0gMHglMDh4XG4iLCBody0+d21f bHBbMl0pOworCURSTV9ERUJVR19LTVMoIldNX0xQX1NQUl8xID0gMHglMDh4XG4iLCBody0+d21f bHBfc3ByWzBdKTsKKwlEUk1fREVCVUdfS01TKCJXTV9MUF9TUFJfMiA9IDB4JTA4eFxuIiwgaHct PndtX2xwX3NwclsxXSk7CisJRFJNX0RFQlVHX0tNUygiV01fTFBfU1BSXzMgPSAweCUwOHhcbiIs IGh3LT53bV9scF9zcHJbMl0pOworCURSTV9ERUJVR19LTVMoIldNX0xJTkVUSU1FX0EgPSAweCUw OHhcbiIsIGh3LT53bV9saW5ldGltZVtQSVBFX0FdKTsKKwlEUk1fREVCVUdfS01TKCJXTV9MSU5F VElNRV9CID0gMHglMDh4XG4iLCBody0+d21fbGluZXRpbWVbUElQRV9CXSk7CisJRFJNX0RFQlVH X0tNUygiV01fTElORVRJTUVfQyA9IDB4JTA4eFxuIiwgaHctPndtX2xpbmV0aW1lW1BJUEVfQ10p OworCURSTV9ERUJVR19LTVMoImVuYWJsZSBGQkMgd2F0ZXJtYXJrID0gJWRcbiIsIGh3LT5lbmFi bGVfZmJjX3dtKTsKKwlEUk1fREVCVUdfS01TKCJEREIgcGFydGl0aW9uaW5nID0gJXNcbiIsCisJ CSAgICAgIGh3LT5wYXJ0aXRpb25pbmcgPT0gSU5URUxfRERCX1BBUlRfMV8yID8gIjEvMiIgOiAi NS82Iik7Cit9CisKIC8qCiAgKiBUaGUgc3BlYyBzYXlzIHdlIHNob3VsZG4ndCB3cml0ZSB3aGVu IHdlIGRvbid0IG5lZWQsIGJlY2F1c2UgZXZlcnkgd3JpdGUKICAqIGNhdXNlcyBXTXMgdG8gYmUg cmUtZXZhbHVhdGVkLCBleHBlbmRpbmcgc29tZSBwb3dlci4KICAqLwogc3RhdGljIHZvaWQgaWxr X3dyaXRlX3dtX3ZhbHVlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJ c3RydWN0IGlsa193bV92YWx1ZXMgKnJlc3VsdHMpCisJCQkJY29uc3Qgc3RydWN0IGlsa193bV92 YWx1ZXMgKnJlc3VsdHMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5k ZXY7CiAJc3RydWN0IGlsa193bV92YWx1ZXMgKnByZXZpb3VzID0gJmRldl9wcml2LT53bS5odzsK KwlzdHJ1Y3QgaWxrX3dtX3ZhbHVlcyBodyA9IHt9OwogCXVuc2lnbmVkIGludCBkaXJ0eTsKIAl1 aW50MzJfdCB2YWw7CiAKQEAgLTI2NTMsNiArMjcyMiwxNCBAQCBzdGF0aWMgdm9pZCBpbGtfd3Jp dGVfd21fdmFsdWVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJSTkxNV9X UklURShXTTNfTFBfSUxLLCByZXN1bHRzLT53bV9scFsyXSk7CiAKIAlkZXZfcHJpdi0+d20uaHcg PSAqcmVzdWx0czsKKworCV9pbGtfd21fZ2V0X2h3X3N0YXRlKGRldiwgJmh3KTsKKworCWlmICht ZW1jbXAocmVzdWx0cywgJmh3LCBzaXplb2YoaHcpKSkgeworCQlXQVJOKDEsICJ3YXRlcm1hcmsg c3RhdGUgZG9lc24ndCBtYXRjaCFcbiIpOworCQlpbGtfZHVtcF93bV92YWx1ZXMoJmh3LCAiW2h3 IHN0YXRlXSIpOworCQlpbGtfZHVtcF93bV92YWx1ZXMocmVzdWx0cywgIltzdyBzdGF0ZV0iKTsK Kwl9CiB9CiAKIHN0YXRpYyBib29sIGlsa19kaXNhYmxlX2xwX3dtKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCkBAIC0yNzM0LDIzICsyODExLDE0IEBAIHN0YXRpYyB2b2lkIGlsa191cGRhdGVfc3By aXRlX3dtKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWlsa191cGRhdGVfd20oY3J0Yyk7CiB9 CiAKLXN0YXRpYyB2b2lkIGlsa19waXBlX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCitzdGF0aWMgdm9pZCBfaWxrX3BpcGVfd21faHdfdG9fc3coc3RydWN0IGRybV9jcnRj ICpjcnRjKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3Qg aWxrX3dtX3ZhbHVlcyAqaHcgPSAmZGV2X3ByaXYtPndtLmh3OworCWNvbnN0IHN0cnVjdCBpbGtf d21fdmFsdWVzICpodyA9ICZkZXZfcHJpdi0+d20uaHc7CiAJc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCXN0cnVjdCBpbnRlbF9waXBlX3dtICph Y3RpdmUgPSAmaW50ZWxfY3J0Yy0+d20uYWN0aXZlOwogCWVudW0gcGlwZSBwaXBlID0gaW50ZWxf Y3J0Yy0+cGlwZTsKLQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHdtMF9waXBlX3JlZ1tdID0g ewotCQlbUElQRV9BXSA9IFdNMF9QSVBFQV9JTEssCi0JCVtQSVBFX0JdID0gV00wX1BJUEVCX0lM SywKLQkJW1BJUEVfQ10gPSBXTTBfUElQRUNfSVZCLAotCX07Ci0KLQlody0+d21fcGlwZVtwaXBl XSA9IEk5MTVfUkVBRCh3bTBfcGlwZV9yZWdbcGlwZV0pOwotCWlmIChJU19IQVNXRUxMKGRldikg fHwgSVNfQlJPQURXRUxMKGRldikpCi0JCWh3LT53bV9saW5ldGltZVtwaXBlXSA9IEk5MTVfUkVB RChQSVBFX1dNX0xJTkVUSU1FKHBpcGUpKTsKIAogCWFjdGl2ZS0+cGlwZV9lbmFibGVkID0gaW50 ZWxfY3J0Y19hY3RpdmUoY3J0Yyk7CiAKQEAgLTI3ODQsMzEgKzI4NTIsMTIgQEAgc3RhdGljIHZv aWQgaWxrX3BpcGVfd21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHZvaWQg aWxrX3dtX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGls a193bV92YWx1ZXMgKmh3ID0gJmRldl9wcml2LT53bS5odzsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNy dGM7CiAKLQlmb3JfZWFjaF9jcnRjKGRldiwgY3J0YykKLQkJaWxrX3BpcGVfd21fZ2V0X2h3X3N0 YXRlKGNydGMpOwotCi0JaHctPndtX2xwWzBdID0gSTkxNV9SRUFEKFdNMV9MUF9JTEspOwotCWh3 LT53bV9scFsxXSA9IEk5MTVfUkVBRChXTTJfTFBfSUxLKTsKLQlody0+d21fbHBbMl0gPSBJOTE1 X1JFQUQoV00zX0xQX0lMSyk7Ci0KLQlody0+d21fbHBfc3ByWzBdID0gSTkxNV9SRUFEKFdNMVNf TFBfSUxLKTsKLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNykgewotCQlody0+d21fbHBf c3ByWzFdID0gSTkxNV9SRUFEKFdNMlNfTFBfSVZCKTsKLQkJaHctPndtX2xwX3NwclsyXSA9IEk5 MTVfUkVBRChXTTNTX0xQX0lWQik7Ci0JfQorCV9pbGtfd21fZ2V0X2h3X3N0YXRlKGRldiwgJmRl dl9wcml2LT53bS5odyk7CiAKLQlpZiAoSVNfSEFTV0VMTChkZXYpIHx8IElTX0JST0FEV0VMTChk ZXYpKQotCQlody0+cGFydGl0aW9uaW5nID0gKEk5MTVfUkVBRChXTV9NSVNDKSAmIFdNX01JU0Nf REFUQV9QQVJUSVRJT05fNV82KSA/Ci0JCQlJTlRFTF9EREJfUEFSVF81XzYgOiBJTlRFTF9EREJf UEFSVF8xXzI7Ci0JZWxzZSBpZiAoSVNfSVZZQlJJREdFKGRldikpCi0JCWh3LT5wYXJ0aXRpb25p bmcgPSAoSTkxNV9SRUFEKERJU1BfQVJCX0NUTDIpICYgRElTUF9EQVRBX1BBUlRJVElPTl81XzYp ID8KLQkJCUlOVEVMX0REQl9QQVJUXzVfNiA6IElOVEVMX0REQl9QQVJUXzFfMjsKLQotCWh3LT5l bmFibGVfZmJjX3dtID0KLQkJIShJOTE1X1JFQUQoRElTUF9BUkJfQ1RMKSAmIERJU1BfRkJDX1dN X0RJUyk7CisJZm9yX2VhY2hfY3J0YyhkZXYsIGNydGMpCisJCV9pbGtfcGlwZV93bV9od190b19z dyhjcnRjKTsKIH0KIAogLyoqCi0tIAoxLjguNS41CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=