From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 21/32] drm/amd/display: Fix FBC text console corruption Date: Tue, 3 Apr 2018 21:27:36 -0400 Message-ID: <20180404012747.5651-22-harry.wentland@amd.com> References: <20180404012747.5651-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180404012747.5651-1-harry.wentland-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Roman Li RnJvbTogUm9tYW4gTGkgPHJvbWFuLmxpQGFtZC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBSb21hbiBM aSA8cm9tYW4ubGlAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IENoYXJsZW5lIExpdSA8Q2hhcmxlbmUu TGl1QGFtZC5jb20+CkFja2VkLWJ5OiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1k LmNvbT4KLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2RjL2RjZTExMC9kY2UxMTBfY29tcHJlc3Nv ci5jICB8IDY3ICsrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNl cnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9jb21wcmVzc29yLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9jb21wcmVzc29yLmMKaW5kZXggNzc1ZDNi ZjBiZDM5Li45MTUwZDI2OTQ0NTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY2UxMTAvZGNlMTEwX2NvbXByZXNzb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvZGNlMTEwL2RjZTExMF9jb21wcmVzc29yLmMKQEAgLTEwMiw2ICsxMDIs NDMgQEAgc3RhdGljIHVpbnQzMl90IGFsaWduX3RvX2NodW5rc19udW1iZXJfcGVyX2xpbmUodWlu dDMyX3QgcGl4ZWxzKQogCXJldHVybiAyNTYgKiAoKHBpeGVscyArIDI1NSkgLyAyNTYpOwogfQog CitzdGF0aWMgdm9pZCByZXNldF9sYl9vbl92Ymxhbmsoc3RydWN0IGRjX2NvbnRleHQgKmN0eCkK K3sKKwl1aW50MzJfdCB2YWx1ZSwgZnJhbWVfY291bnQ7CisJdWludDMyX3QgcmV0cnkgPSAwOwor CXVpbnQzMl90IHN0YXR1c19wb3MgPQorCQkJZG1fcmVhZF9yZWcoY3R4LCBtbUNSVENfU1RBVFVT X1BPU0lUSU9OKTsKKworCisJLyogT25seSBpZiBDUlRDIGlzIGVuYWJsZWQgYW5kIGNvdW50ZXIg aXMgbW92aW5nIHdlIHdhaXQgZm9yIG9uZSBmcmFtZS4gKi8KKwlpZiAoc3RhdHVzX3BvcyAhPSBk bV9yZWFkX3JlZyhjdHgsIG1tQ1JUQ19TVEFUVVNfUE9TSVRJT04pKSB7CisJCS8qIFJlc2V0dGlu ZyBMQiBvbiBWQmxhbmsgKi8KKwkJdmFsdWUgPSBkbV9yZWFkX3JlZyhjdHgsIG1tTEJfU1lOQ19S RVNFVF9TRUwpOworCQlzZXRfcmVnX2ZpZWxkX3ZhbHVlKHZhbHVlLCAzLCBMQl9TWU5DX1JFU0VU X1NFTCwgTEJfU1lOQ19SRVNFVF9TRUwpOworCQlzZXRfcmVnX2ZpZWxkX3ZhbHVlKHZhbHVlLCAx LCBMQl9TWU5DX1JFU0VUX1NFTCwgTEJfU1lOQ19SRVNFVF9TRUwyKTsKKwkJZG1fd3JpdGVfcmVn KGN0eCwgbW1MQl9TWU5DX1JFU0VUX1NFTCwgdmFsdWUpOworCisJCWZyYW1lX2NvdW50ID0gZG1f cmVhZF9yZWcoY3R4LCBtbUNSVENfU1RBVFVTX0ZSQU1FX0NPVU5UKTsKKworCisJCWZvciAocmV0 cnkgPSAxMDA7IHJldHJ5ID4gMDsgcmV0cnktLSkgeworCQkJaWYgKGZyYW1lX2NvdW50ICE9IGRt X3JlYWRfcmVnKGN0eCwgbW1DUlRDX1NUQVRVU19GUkFNRV9DT1VOVCkpCisJCQkJYnJlYWs7CisJ CQltc2xlZXAoMSk7CisJCX0KKwkJaWYgKCFyZXRyeSkKKwkJCWRtX2Vycm9yKCJGcmFtZSBjb3Vu dCBkaWQgbm90IGluY3JlYXNlIGZvciAxMDBtcy5cbiIpOworCisJCS8qIFJlc2V0dGluZyBMQiBv biBWQmxhbmsgKi8KKwkJdmFsdWUgPSBkbV9yZWFkX3JlZyhjdHgsIG1tTEJfU1lOQ19SRVNFVF9T RUwpOworCQlzZXRfcmVnX2ZpZWxkX3ZhbHVlKHZhbHVlLCAyLCBMQl9TWU5DX1JFU0VUX1NFTCwg TEJfU1lOQ19SRVNFVF9TRUwpOworCQlzZXRfcmVnX2ZpZWxkX3ZhbHVlKHZhbHVlLCAwLCBMQl9T WU5DX1JFU0VUX1NFTCwgTEJfU1lOQ19SRVNFVF9TRUwyKTsKKwkJZG1fd3JpdGVfcmVnKGN0eCwg bW1MQl9TWU5DX1JFU0VUX1NFTCwgdmFsdWUpOworCisJfQorCit9CisKIHN0YXRpYyB2b2lkIHdh aXRfZm9yX2ZiY19zdGF0ZV9jaGFuZ2VkKAogCXN0cnVjdCBkY2UxMTBfY29tcHJlc3NvciAqY3Ax MTAsCiAJYm9vbCBlbmFibGVkKQpAQCAtMjMyLDE5ICsyNjksMjMgQEAgdm9pZCBkY2UxMTBfY29t cHJlc3Nvcl9kaXNhYmxlX2ZiYyhzdHJ1Y3QgY29tcHJlc3NvciAqY29tcHJlc3NvcikKIHsKIAlz dHJ1Y3QgZGNlMTEwX2NvbXByZXNzb3IgKmNwMTEwID0gVE9fRENFMTEwX0NPTVBSRVNTT1IoY29t cHJlc3Nvcik7CiAKLQlpZiAoY29tcHJlc3Nvci0+b3B0aW9ucy5iaXRzLkZCQ19TVVBQT1JUICYm Ci0JCWRjZTExMF9jb21wcmVzc29yX2lzX2ZiY19lbmFibGVkX2luX2h3KGNvbXByZXNzb3IsIE5V TEwpKSB7Ci0JCXVpbnQzMl90IHJlZ19kYXRhOwotCQkvKiBUdXJuIG9mZiBjb21wcmVzc2lvbiAq LwotCQlyZWdfZGF0YSA9IGRtX3JlYWRfcmVnKGNvbXByZXNzb3ItPmN0eCwgbW1GQkNfQ05UTCk7 Ci0JCXNldF9yZWdfZmllbGRfdmFsdWUocmVnX2RhdGEsIDAsIEZCQ19DTlRMLCBGQkNfR1JQSF9D T01QX0VOKTsKLQkJZG1fd3JpdGVfcmVnKGNvbXByZXNzb3ItPmN0eCwgbW1GQkNfQ05UTCwgcmVn X2RhdGEpOwotCi0JCS8qIFJlc2V0IGVudW0gY29udHJvbGxlcl9pZCB0byB1bmRlZmluZWQgKi8K LQkJY29tcHJlc3Nvci0+YXR0YWNoZWRfaW5zdCA9IDA7Ci0JCWNvbXByZXNzb3ItPmlzX2VuYWJs ZWQgPSBmYWxzZTsKLQotCQl3YWl0X2Zvcl9mYmNfc3RhdGVfY2hhbmdlZChjcDExMCwgZmFsc2Up OworCWlmIChjb21wcmVzc29yLT5vcHRpb25zLmJpdHMuRkJDX1NVUFBPUlQpIHsKKwkJaWYgKGRj ZTExMF9jb21wcmVzc29yX2lzX2ZiY19lbmFibGVkX2luX2h3KGNvbXByZXNzb3IsIE5VTEwpKSB7 CisJCQl1aW50MzJfdCByZWdfZGF0YTsKKwkJCS8qIFR1cm4gb2ZmIGNvbXByZXNzaW9uICovCisJ CQlyZWdfZGF0YSA9IGRtX3JlYWRfcmVnKGNvbXByZXNzb3ItPmN0eCwgbW1GQkNfQ05UTCk7CisJ CQlzZXRfcmVnX2ZpZWxkX3ZhbHVlKHJlZ19kYXRhLCAwLCBGQkNfQ05UTCwgRkJDX0dSUEhfQ09N UF9FTik7CisJCQlkbV93cml0ZV9yZWcoY29tcHJlc3Nvci0+Y3R4LCBtbUZCQ19DTlRMLCByZWdf ZGF0YSk7CisKKwkJCS8qIFJlc2V0IGVudW0gY29udHJvbGxlcl9pZCB0byB1bmRlZmluZWQgKi8K KwkJCWNvbXByZXNzb3ItPmF0dGFjaGVkX2luc3QgPSAwOworCQkJY29tcHJlc3Nvci0+aXNfZW5h YmxlZCA9IGZhbHNlOworCisJCQl3YWl0X2Zvcl9mYmNfc3RhdGVfY2hhbmdlZChjcDExMCwgZmFs c2UpOworCQl9CisKKwkJLyogU3luYyBsaW5lIGJ1ZmZlciAgLSBkY2UxMDAvMTEwIG9ubHkqLwor CQlyZXNldF9sYl9vbl92YmxhbmsoY29tcHJlc3Nvci0+Y3R4KTsKIAl9CiB9CiAKLS0gCjIuMTUu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdm eCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==