From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Subject: [PATCH xf86-video-ati 5/6] Make all active CRTCs scan out an all-black framebuffer in LeaveVT Date: Mon, 28 Aug 2017 18:23:42 +0900 Message-ID: <20170828092343.27742-6-michel@daenzer.net> References: <20170828092343.27742-1-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170828092343.27742-1-michel-otUistvHUpPR7s880joybQ@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 RnJvbTogTWljaGVsIETDpG56ZXIgPG1pY2hlbC5kYWVuemVyQGFtZC5jb20+CgpBbmQgZGVzdHJv eSBhbGwgb3RoZXIgRkJzLiBUaGlzIGlzIHNvIHRoYXQgb3RoZXIgRFJNIG1hc3RlcnMgY2FuIG9u bHkKZ2V0IGFjY2VzcyB0byB0aGlzIGFsbC1ibGFjayBGQiwgbm90IHRvIGFueSBvdGhlciBGQiB3 ZSBjcmVhdGVkLCB3aGlsZQp3ZSdyZSBzd2l0Y2hlZCBhd2F5IGFuZCBub3QgRFJNIG1hc3Rlci4K CkZpeGVzOiA1NWU1MTNiOTc4YjIgKCJVc2UgcmVmZXJlbmNlIGNvdW50aW5nIGZvciB0cmFja2lu ZyBLTVMKICAgICAgICAgICAgICAgICAgICAgIGZyYW1lYnVmZmVyIGxpZmV0aW1lcyIpClNpZ25l ZC1vZmYtYnk6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWwuZGFlbnplckBhbWQuY29tPgotLS0KIHNy Yy9kcm1tb2RlX2Rpc3BsYXkuYyB8ICA0ICstLQogc3JjL2RybW1vZGVfZGlzcGxheS5oIHwgIDQg KysrCiBzcmMvcmFkZW9uX2ttcy5jICAgICAgfCA5OCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMg Yi9zcmMvZHJtbW9kZV9kaXNwbGF5LmMKaW5kZXggNzkxZDU5OTg2Li5iYTE3MGVlNjQgMTAwNjQ0 Ci0tLSBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYworKysgYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmMK QEAgLTUzNiw3ICs1MzYsNyBAQCBkcm1tb2RlX2NydGNfc2Nhbm91dF9kZXN0cm95KGRybW1vZGVf cHRyIGRybW1vZGUsCiAJfQogfQogCi1zdGF0aWMgdm9pZAordm9pZAogZHJtbW9kZV9jcnRjX3Nj YW5vdXRfZnJlZShkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9kZV9jcnRjKQogewogCWRy bW1vZGVfY3J0Y19zY2Fub3V0X2Rlc3Ryb3koZHJtbW9kZV9jcnRjLT5kcm1tb2RlLApAQCAtNTU4 LDcgKzU1OCw3IEBAIGRybW1vZGVfc2Nhbm91dF9mcmVlKFNjcm5JbmZvUHRyIHNjcm4pCiAJCWRy bW1vZGVfY3J0Y19zY2Fub3V0X2ZyZWUoeGY4Nl9jb25maWctPmNydGNbY10tPmRyaXZlcl9wcml2 YXRlKTsKIH0KIAotc3RhdGljIFBpeG1hcFB0cgorUGl4bWFwUHRyCiBkcm1tb2RlX2NydGNfc2Nh bm91dF9jcmVhdGUoeGY4NkNydGNQdHIgY3J0Yywgc3RydWN0IGRybW1vZGVfc2Nhbm91dCAqc2Nh bm91dCwKIAkJCSAgICBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7CmRpZmYgLS1naXQgYS9zcmMv ZHJtbW9kZV9kaXNwbGF5LmggYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmgKaW5kZXggMDBiNWU4MTE5 Li5hY2UwNTlkY2MgMTAwNjQ0Ci0tLSBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuaAorKysgYi9zcmMv ZHJtbW9kZV9kaXNwbGF5LmgKQEAgLTIxNiw2ICsyMTYsMTAgQEAgZXh0ZXJuIEJvb2wgZHJtbW9k ZV9zZXR1cF9jb2xvcm1hcChTY3JlZW5QdHIgcFNjcmVlbiwgU2NybkluZm9QdHIgcFNjcm4pOwog ZXh0ZXJuIHZvaWQgZHJtbW9kZV9jcnRjX3NjYW5vdXRfZGVzdHJveShkcm1tb2RlX3B0ciBkcm1t b2RlLAogCQkJCQkgc3RydWN0IGRybW1vZGVfc2Nhbm91dCAqc2Nhbm91dCk7CiBleHRlcm4gdm9p ZCBkcm1tb2RlX3NjYW5vdXRfZnJlZShTY3JuSW5mb1B0ciBzY3JuKTsKK3ZvaWQgZHJtbW9kZV9j cnRjX3NjYW5vdXRfZnJlZShkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9kZV9jcnRjKTsK K1BpeG1hcFB0ciBkcm1tb2RlX2NydGNfc2Nhbm91dF9jcmVhdGUoeGY4NkNydGNQdHIgY3J0YywK KwkJCQkgICAgICBzdHJ1Y3QgZHJtbW9kZV9zY2Fub3V0ICpzY2Fub3V0LAorCQkJCSAgICAgIGlu dCB3aWR0aCwgaW50IGhlaWdodCk7CiAKIGV4dGVybiB2b2lkIGRybW1vZGVfdWV2ZW50X2luaXQo U2NybkluZm9QdHIgc2NybiwgZHJtbW9kZV9wdHIgZHJtbW9kZSk7CiBleHRlcm4gdm9pZCBkcm1t b2RlX3VldmVudF9maW5pKFNjcm5JbmZvUHRyIHNjcm4sIGRybW1vZGVfcHRyIGRybW1vZGUpOwpk aWZmIC0tZ2l0IGEvc3JjL3JhZGVvbl9rbXMuYyBiL3NyYy9yYWRlb25fa21zLmMKaW5kZXggY2Ey ZDM2ZDA0Li41NDEwYzQyMDggMTAwNjQ0Ci0tLSBhL3NyYy9yYWRlb25fa21zLmMKKysrIGIvc3Jj L3JhZGVvbl9rbXMuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgog LyogRHJpdmVyIGRhdGEgc3RydWN0dXJlcyAqLwogI2luY2x1ZGUgInJhZGVvbi5oIgorI2luY2x1 ZGUgInJhZGVvbl9ib19oZWxwZXIuaCIKICNpbmNsdWRlICJyYWRlb25fZHJtX3F1ZXVlLmgiCiAj aW5jbHVkZSAicmFkZW9uX2dsYW1vci5oIgogI2luY2x1ZGUgInJhZGVvbl9yZWcuaCIKQEAgLTEx NTgsOSArMTE1OSwxMCBAQCBzdGF0aWMgdm9pZCBSQURFT05CbG9ja0hhbmRsZXJfS01TKEJMT0NL SEFORExFUl9BUkdTX0RFQ0wpCiAgICAgKCpwU2NyZWVuLT5CbG9ja0hhbmRsZXIpIChCTE9DS0hB TkRMRVJfQVJHUyk7CiAgICAgcFNjcmVlbi0+QmxvY2tIYW5kbGVyID0gUkFERU9OQmxvY2tIYW5k bGVyX0tNUzsKIAotICAgIGlmICghcFNjcm4tPnZ0U2VtYSkgewotCXJhZGVvbl9jc19mbHVzaF9p bmRpcmVjdChwU2Nybik7Ci0KKyAgICBpZiAoIXhmODZTY3JlZW5Ub1Njcm4ocmFkZW9uX21hc3Rl cl9zY3JlZW4ocFNjcmVlbikpLT52dFNlbWEpIHsKKwkvKiBVbnJlZmVyZW5jZSB0aGUgYWxsLWJs YWNrIEZCIGNyZWF0ZWQgYnkgUkFERU9OTGVhdmVWVF9LTVMuIEFmdGVyCisJICogdGhpcywgdGhl cmUgc2hvdWxkIGJlIG5vIEZCIGxlZnQgY3JlYXRlZCBieSB0aGlzIGRyaXZlci4KKwkgKi8KIAlm b3IgKGMgPSAwOyBjIDwgeGY4Nl9jb25maWctPm51bV9jcnRjOyBjKyspIHsKIAkgICAgZHJtbW9k ZV9jcnRjX3ByaXZhdGVfcHRyIGRybW1vZGVfY3J0YyA9CiAJCXhmODZfY29uZmlnLT5jcnRjW2Nd LT5kcml2ZXJfcHJpdmF0ZTsKQEAgLTI0NzIsMjEgKzI0NzQsMTA1IEBAIEJvb2wgUkFERU9ORW50 ZXJWVF9LTVMoVlRfRlVOQ19BUkdTX0RFQ0wpCiB9CiAKIAorc3RhdGljIHZvaWQKK3BpeG1hcF91 bnJlZl9mYih2b2lkICp2YWx1ZSwgWElEIGlkLCB2b2lkICpjZGF0YSkKK3sKKyAgICBQaXhtYXBQ dHIgcGl4bWFwID0gdmFsdWU7CisgICAgUkFERU9ORW50UHRyIHBSQURFT05FbnQgPSBjZGF0YTsK KyAgICBzdHJ1Y3QgZHJtbW9kZV9mYiAqKmZiX3B0ciA9IHJhZGVvbl9waXhtYXBfZ2V0X2ZiX3B0 cihwaXhtYXApOworCisgICAgaWYgKGZiX3B0cikKKwlkcm1tb2RlX2ZiX3JlZmVyZW5jZShwUkFE RU9ORW50LT5mZCwgZmJfcHRyLCBOVUxMKTsKK30KKwogdm9pZCBSQURFT05MZWF2ZVZUX0tNUyhW VF9GVU5DX0FSR1NfREVDTCkKIHsKICAgICBTQ1JOX0lORk9fUFRSKGFyZyk7CiAgICAgUkFERU9O SW5mb1B0ciAgaW5mbyAgPSBSQURFT05QVFIocFNjcm4pOworICAgIFJBREVPTkVudFB0ciBwUkFE RU9ORW50ID0gUkFERU9ORW50UHJpdihwU2Nybik7CisgICAgU2NyZWVuUHRyIHBTY3JlZW4gPSBw U2Nybi0+cFNjcmVlbjsKKyAgICB4Zjg2Q3J0Y0NvbmZpZ1B0ciB4Zjg2X2NvbmZpZyA9IFhGODZf Q1JUQ19DT05GSUdfUFRSKHBTY3JuKTsKKyAgICBzdHJ1Y3QgZHJtbW9kZV9zY2Fub3V0IGJsYWNr X3NjYW5vdXQgPSB7IC5waXhtYXAgPSBOVUxMLCAuYm8gPSBOVUxMIH07CisgICAgeGY4NkNydGNQ dHIgY3J0YzsKKyAgICBkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9kZV9jcnRjOworICAg IHVuc2lnbmVkIHcgPSAwLCBoID0gMDsKKyAgICBpbnQgaTsKIAogICAgIHhmODZEcnZNc2dWZXJi KHBTY3JuLT5zY3JuSW5kZXgsIFhfSU5GTywgUkFERU9OX0xPR0xFVkVMX0RFQlVHLAogCQkgICAi UkFERU9OTGVhdmVWVF9LTVNcbiIpOwogCi0gICAgcmFkZW9uX2Ryb3BfZHJtX21hc3RlcihwU2Ny bik7CisgICAgLyogQ29tcHV0ZSBtYXhpbXVtIHNjYW5vdXQgZGltZW5zaW9ucyBvZiBhY3RpdmUg Q1JUQ3MgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgeGY4Nl9jb25maWctPm51bV9jcnRjOyBpKysp IHsKKwljcnRjID0geGY4Nl9jb25maWctPmNydGNbaV07CisJZHJtbW9kZV9jcnRjID0gY3J0Yy0+ ZHJpdmVyX3ByaXZhdGU7CisKKwlpZiAoIWRybW1vZGVfY3J0Yy0+ZmIpCisJICAgIGNvbnRpbnVl OworCisJdyA9IG1heCh3LCBjcnRjLT5tb2RlLkhEaXNwbGF5KTsKKwloID0gbWF4KGgsIGNydGMt Pm1vZGUuVkRpc3BsYXkpOworICAgIH0KKworICAgIC8qIE1ha2UgYWxsIGFjdGl2ZSBDUlRDcyBz Y2FuIG91dCBmcm9tIGFuIGFsbC1ibGFjayBmcmFtZWJ1ZmZlciAqLworICAgIGlmICh3ID4gMCAm JiBoID4gMCkgeworCWlmIChkcm1tb2RlX2NydGNfc2Nhbm91dF9jcmVhdGUoY3J0YywgJmJsYWNr X3NjYW5vdXQsIHcsIGgpKSB7CisJICAgIHN0cnVjdCBkcm1tb2RlX2ZiICpibGFja19mYiA9CisJ CXJhZGVvbl9waXhtYXBfZ2V0X2ZiKGJsYWNrX3NjYW5vdXQucGl4bWFwKTsKKworCSAgICByYWRl b25fcGl4bWFwX2NsZWFyKGJsYWNrX3NjYW5vdXQucGl4bWFwKTsKKwkgICAgcmFkZW9uX2NzX2Zs dXNoX2luZGlyZWN0KHBTY3JuKTsKKwkgICAgcmFkZW9uX2JvX3dhaXQoYmxhY2tfc2Nhbm91dC5i byk7CisKKwkgICAgZm9yIChpID0gMDsgaSA8IHhmODZfY29uZmlnLT5udW1fY3J0YzsgaSsrKSB7 CisJCWNydGMgPSB4Zjg2X2NvbmZpZy0+Y3J0Y1tpXTsKKwkJZHJtbW9kZV9jcnRjID0gY3J0Yy0+ ZHJpdmVyX3ByaXZhdGU7CisKKwkJaWYgKGRybW1vZGVfY3J0Yy0+ZmIpIHsKKwkJICAgIGlmIChi bGFja19mYikgeworCQkJZHJtbW9kZV9zZXRfbW9kZShjcnRjLCBibGFja19mYiwgJmNydGMtPm1v ZGUsIDAsIDApOworCQkgICAgfSBlbHNlIHsKKwkJCWRybU1vZGVTZXRDcnRjKHBSQURFT05FbnQt PmZkLAorCQkJCSAgICAgICBkcm1tb2RlX2NydGMtPm1vZGVfY3J0Yy0+Y3J0Y19pZCwgMCwgMCwK KwkJCQkgICAgICAgMCwgTlVMTCwgMCwgTlVMTCk7CisJCQlkcm1tb2RlX2ZiX3JlZmVyZW5jZShw UkFERU9ORW50LT5mZCwgJmRybW1vZGVfY3J0Yy0+ZmIsCisJCQkJCSAgICAgTlVMTCk7CisJCSAg ICB9CisKKwkJICAgIGlmIChwU2Nybi0+aXNfZ3B1KSB7CisJCQlpZiAoZHJtbW9kZV9jcnRjLT5z Y2Fub3V0WzBdLnBpeG1hcCkKKwkJCSAgICBwaXhtYXBfdW5yZWZfZmIoZHJtbW9kZV9jcnRjLT5z Y2Fub3V0WzBdLnBpeG1hcCwKKwkJCQkJICAgIE5vbmUsIHBSQURFT05FbnQpOworCQkJaWYgKGRy bW1vZGVfY3J0Yy0+c2Nhbm91dFsxXS5waXhtYXApCisJCQkgICAgcGl4bWFwX3VucmVmX2ZiKGRy bW1vZGVfY3J0Yy0+c2Nhbm91dFsxXS5waXhtYXAsCisJCQkJCSAgICBOb25lLCBwUkFERU9ORW50 KTsKKwkJICAgIH0gZWxzZSB7CisJCQlkcm1tb2RlX2NydGNfc2Nhbm91dF9mcmVlKGRybW1vZGVf Y3J0Yyk7CisJCSAgICB9CisJCX0KKwkgICAgfQorCX0KKyAgICB9CiAKICAgICB4Zjg2Um90YXRl RnJlZVNoYWRvdyhwU2Nybik7Ci0gICAgaWYgKCFwU2Nybi0+aXNfZ3B1KQotCWRybW1vZGVfc2Nh bm91dF9mcmVlKHBTY3JuKTsKKyAgICBkcm1tb2RlX2NydGNfc2Nhbm91dF9kZXN0cm95KCZpbmZv LT5kcm1tb2RlLCAmYmxhY2tfc2Nhbm91dCk7CisKKyAgICAvKiBVbnJlZmVyZW5jZSBGQnMgb2Yg YWxsIHBpeG1hcHMuIEFmdGVyIHRoaXMsIHRoZSBvbmx5IEZCIHJlbWFpbmluZworICAgICAqIHNo b3VsZCBiZSB0aGUgYWxsLWJsYWNrIG9uZSBiZWluZyBzY2FubmVkIG91dCBieSBhY3RpdmUgQ1JU Q3MKKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgY3VycmVudE1heENsaWVudHM7IGkrKykg eworCWlmIChpID4gMCAmJgorCSAgICAoIWNsaWVudHNbaV0gfHwgY2xpZW50c1tpXS0+Y2xpZW50 U3RhdGUgIT0gQ2xpZW50U3RhdGVSdW5uaW5nKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisJ RmluZENsaWVudFJlc291cmNlc0J5VHlwZShjbGllbnRzW2ldLCBSVF9QSVhNQVAsIHBpeG1hcF91 bnJlZl9mYiwKKwkJCQkgIHBSQURFT05FbnQpOworICAgIH0KKyAgICBwaXhtYXBfdW5yZWZfZmIo cFNjcmVlbi0+R2V0U2NyZWVuUGl4bWFwKHBTY3JlZW4pLCBOb25lLCBwUkFERU9ORW50KTsKIAog ICAgIHhmODZfaGlkZV9jdXJzb3JzIChwU2Nybik7CisKKyAgICByYWRlb25fZHJvcF9kcm1fbWFz dGVyKHBTY3JuKTsKKwogICAgIGluZm8tPmFjY2VsX3N0YXRlLT5YSW5pdGVkM0QgPSBGQUxTRTsK ICAgICBpbmZvLT5hY2NlbF9zdGF0ZS0+ZW5naW5lTW9kZSA9IEVYQV9FTkdJTkVNT0RFX1VOS05P V047CiAKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==