From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Subject: [PATCH xf86-video-amdgpu] Use a timer for unreferencing the all-black FB Date: Wed, 30 Aug 2017 17:24:31 +0900 Message-ID: <20170830082431.20475-1-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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+CgpUaGUgdGltZXIg ZmlyZXMgMSBzZWNvbmQgYWZ0ZXIgTGVhdmVWVC4gVGhpcyBnaXZlcyB0aGUgbmV4dCBEUk0gbWFz dGVyCmVub3VnaCB0aW1lIHRvIHNldCB1cCBzY2Fub3V0IG9mIGl0cyBvd24gYnVmZmVycy4KCkZp eGVzIHByb2xvbmdlZCBpbnRlcm1pdHRlbnQgYmxhY2sgc2NyZWVuIHdoZW4gc3dpdGNoaW5nIGZy b20gWG9yZyB0bwplLmcuIHRoZSBHRE0gV2F5bGFuZCBtb2RlIGxvZ2luIFZULgoKRml4ZXM6IGMx NmZmNDJmOTI3ZCAoIk1ha2UgYWxsIGFjdGl2ZSBDUlRDcyBzY2FuIG91dCBhbiBhbGwtYmxhY2sK ICAgICAgICAgICAgICAgICAgICAgIGZyYW1lYnVmZmVyIGluIExlYXZlVlQiKQooUG9ydGVkIGZy b20gcmFkZW9uIGNvbW1pdCA5ZDljNTY1Yzg0NjAxZjRjNmM3M2FkNzY5Zjg2NDkxMDg4NjgzZjdh KQoKU2lnbmVkLW9mZi1ieTogTWljaGVsIETDpG56ZXIgPG1pY2hlbC5kYWVuemVyQGFtZC5jb20+ Ci0tLQogc3JjL2FtZGdwdV9rbXMuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDE1IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9hbWRncHVfa21zLmMgYi9zcmMvYW1kZ3B1X2ttcy5j CmluZGV4IGMzNjEzZWI4ZC4uZDgyZWFkMmFjIDEwMDY0NAotLS0gYS9zcmMvYW1kZ3B1X2ttcy5j CisrKyBiL3NyYy9hbWRncHVfa21zLmMKQEAgLTEwNDQsNyArMTA0NCw2IEBAIHN0YXRpYyB2b2lk IEFNREdQVUJsb2NrSGFuZGxlcl9LTVMoQkxPQ0tIQU5ETEVSX0FSR1NfREVDTCkKIHsKIAlTQ1JF RU5fUFRSKGFyZyk7CiAJU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuVG9TY3JuKHBTY3Jl ZW4pOwotCUFNREdQVUVudFB0ciBwQU1ER1BVRW50ID0gQU1ER1BVRW50UHJpdihwU2Nybik7CiAJ QU1ER1BVSW5mb1B0ciBpbmZvID0gQU1ER1BVUFRSKHBTY3JuKTsKIAl4Zjg2Q3J0Y0NvbmZpZ1B0 ciB4Zjg2X2NvbmZpZyA9IFhGODZfQ1JUQ19DT05GSUdfUFRSKHBTY3JuKTsKIAlpbnQgYzsKQEAg LTEwNTMsMjEgKzEwNTIsOCBAQCBzdGF0aWMgdm9pZCBBTURHUFVCbG9ja0hhbmRsZXJfS01TKEJM T0NLSEFORExFUl9BUkdTX0RFQ0wpCiAJKCpwU2NyZWVuLT5CbG9ja0hhbmRsZXIpIChCTE9DS0hB TkRMRVJfQVJHUyk7CiAJcFNjcmVlbi0+QmxvY2tIYW5kbGVyID0gQU1ER1BVQmxvY2tIYW5kbGVy X0tNUzsKIAotCWlmICgheGY4NlNjcmVlblRvU2NybihhbWRncHVfbWFzdGVyX3NjcmVlbihwU2Ny ZWVuKSktPnZ0U2VtYSkgewotCQkvKiBVbnJlZmVyZW5jZSB0aGUgYWxsLWJsYWNrIEZCIGNyZWF0 ZWQgYnkgQU1ER1BVTGVhdmVWVF9LTVMuIEFmdGVyCi0JCSAqIHRoaXMsIHRoZXJlIHNob3VsZCBi ZSBubyBGQiBsZWZ0IGNyZWF0ZWQgYnkgdGhpcyBkcml2ZXIuCi0JCSAqLwotCi0JCWZvciAoYyA9 IDA7IGMgPCB4Zjg2X2NvbmZpZy0+bnVtX2NydGM7IGMrKykgewotCQkJZHJtbW9kZV9jcnRjX3By aXZhdGVfcHRyIGRybW1vZGVfY3J0YyA9Ci0JCQkJeGY4Nl9jb25maWctPmNydGNbY10tPmRyaXZl cl9wcml2YXRlOwotCi0JCQlkcm1tb2RlX2ZiX3JlZmVyZW5jZShwQU1ER1BVRW50LT5mZCwgJmRy bW1vZGVfY3J0Yy0+ZmIsCi0JCQkJCSAgICAgTlVMTCk7Ci0JCX0KLQorCWlmICgheGY4NlNjcmVl blRvU2NybihhbWRncHVfbWFzdGVyX3NjcmVlbihwU2NyZWVuKSktPnZ0U2VtYSkKIAkJcmV0dXJu OwotCX0KIAogCWlmICghYW1kZ3B1X2lzX2dwdV9zY3JlZW4ocFNjcmVlbikpCiAJewpAQCAtMTYy OSw2ICsxNjE1LDMwIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kcm9wX2RybV9tYXN0ZXIoU2Nybklu Zm9QdHIgcFNjcm4pCiB9CiAKIAorc3RhdGljCitDQVJEMzIgY2xlYW51cF9ibGFja19mYihPc1Rp bWVyUHRyIHRpbWVyLCBDQVJEMzIgbm93LCBwb2ludGVyIGRhdGEpCit7CisJU2NyZWVuUHRyIHNj cmVlbiA9IGRhdGE7CisJU2NybkluZm9QdHIgc2NybiA9IHhmODZTY3JlZW5Ub1Njcm4oc2NyZWVu KTsKKwlBTURHUFVFbnRQdHIgcEFNREdQVUVudCA9IEFNREdQVUVudFByaXYoc2Nybik7CisJeGY4 NkNydGNDb25maWdQdHIgeGY4Nl9jb25maWcgPSBYRjg2X0NSVENfQ09ORklHX1BUUihzY3JuKTsK KwlpbnQgYzsKKworCWlmICh4Zjg2U2NyZWVuVG9TY3JuKGFtZGdwdV9tYXN0ZXJfc2NyZWVuKHNj cmVlbikpLT52dFNlbWEpCisJCXJldHVybiAwOworCisJLyogVW5yZWZlcmVuY2UgdGhlIGFsbC1i bGFjayBGQiBjcmVhdGVkIGJ5IEFNREdQVUxlYXZlVlRfS01TLiBBZnRlcgorCSAqIHRoaXMsIHRo ZXJlIHNob3VsZCBiZSBubyBGQiBsZWZ0IGNyZWF0ZWQgYnkgdGhpcyBkcml2ZXIuCisJICovCisJ Zm9yIChjID0gMDsgYyA8IHhmODZfY29uZmlnLT5udW1fY3J0YzsgYysrKSB7CisJCWRybW1vZGVf Y3J0Y19wcml2YXRlX3B0ciBkcm1tb2RlX2NydGMgPQorCQkJeGY4Nl9jb25maWctPmNydGNbY10t PmRyaXZlcl9wcml2YXRlOworCisJCWRybW1vZGVfZmJfcmVmZXJlbmNlKHBBTURHUFVFbnQtPmZk LCAmZHJtbW9kZV9jcnRjLT5mYiwgTlVMTCk7CisJfQorCisJcmV0dXJuIDA7Cit9CiAKIHN0YXRp YyBCb29sIEFNREdQVVNhdmVTY3JlZW5fS01TKFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgbW9kZSkK IHsKQEAgLTIwNjEsNiArMjA3MSw4IEBAIHZvaWQgQU1ER1BVTGVhdmVWVF9LTVMoVlRfRlVOQ19B UkdTX0RFQ0wpCiAJfQogCXBpeG1hcF91bnJlZl9mYihwU2NyZWVuLT5HZXRTY3JlZW5QaXhtYXAo cFNjcmVlbiksIE5vbmUsIHBBTURHUFVFbnQpOwogCisJVGltZXJTZXQoTlVMTCwgMCwgMTAwMCwg Y2xlYW51cF9ibGFja19mYiwgcFNjcmVlbik7CisKIAl4Zjg2X2hpZGVfY3Vyc29ycyhwU2Nybik7 CiAKIAlhbWRncHVfZHJvcF9kcm1fbWFzdGVyKHBTY3JuKTsKLS0gCjIuMTQuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxp c3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==