From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH 3/5] drm/i915/guc: Simplify GuC doorbell logic Date: Tue, 12 Sep 2017 19:40:54 +0200 Message-ID: <20170912174056.20139-3-michal.winiarski@intel.com> References: <20170912174056.20139-1-michal.winiarski@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 9796E6E6E2 for ; Tue, 12 Sep 2017 17:45:04 +0000 (UTC) In-Reply-To: <20170912174056.20139-1-michal.winiarski@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 QWxsIHdlJ3JlIHJlYWxseSBkb2luZyBpcyBpbmNyZW1lbnRpbmcgYSBzaW1wbGUgY291bnRlciBp biBhCmRvb3JiZWxsX2luZm8gc3RydWN0LiBXZSBjYW4gZG8gd2l0aG91dCBleHRyYSB2YXJpYWJs ZXMgYW5kIGEgc2VwYXJhdGUKY291bnRlciBrZXB0IGluIGd1Y19jbGllbnQuIFNpbmNlIGl0J3Mg Z29uZSwgd2UncmUgYWxzbyByZW1vdmluZyBpdHMKZGVidWdmcy4KVGhlIG9ubHkgZnVuY3Rpb25h bCBjaGFuZ2UgaGVyZSwgaXMgdGhhdCB3ZSdyZSBubyBsb25nZXIgdHJlYXRpbmcgMCBhcyBhCnNw ZWNpYWwgdmFsdWUuIEd1QyBkb2Vzbid0IHNlZW0gdG8gY2FyZSwgd2h5IHNob3VsZCB3ZT8KCkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbGUgQ2Vy YW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+CkNjOiBNaWNoYWwg V2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KQ2M6IE9zY2FyIE1hdGVvIDxv c2Nhci5tYXRlb0BpbnRlbC5jb20+ClN1Z2dlc3RlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNo YWwud2luaWFyc2tpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jIHwgNjQgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91Yy5oICAgICAgICAgICAgfCAgMSAtCiAzIGZpbGVzIGNoYW5nZWQs IDE1IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKaW5kZXggZjVmZDAwY2ZiM2IwLi40MGEzMTVmYzBlMzEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCkBAIC0yNDQ1LDggKzI0NDUsOCBAQCBzdGF0aWMgdm9pZCBpOTE1 X2d1Y19jbGllbnRfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sCiAKIAlzZXFfcHJpbnRmKG0sICJc dFByaW9yaXR5ICVkLCBHdUMgc3RhZ2UgaW5kZXg6ICV1LCBQRCBvZmZzZXQgMHgleFxuIiwKIAkJ Y2xpZW50LT5wcmlvcml0eSwgY2xpZW50LT5zdGFnZV9pZCwgY2xpZW50LT5wcm9jX2Rlc2Nfb2Zm c2V0KTsKLQlzZXFfcHJpbnRmKG0sICJcdERvb3JiZWxsIGlkICVkLCBvZmZzZXQ6IDB4JWx4LCBj b29raWUgMHgleFxuIiwKLQkJY2xpZW50LT5kb29yYmVsbF9pZCwgY2xpZW50LT5kb29yYmVsbF9v ZmZzZXQsIGNsaWVudC0+ZG9vcmJlbGxfY29va2llKTsKKwlzZXFfcHJpbnRmKG0sICJcdERvb3Ji ZWxsIGlkICVkLCBvZmZzZXQ6IDB4JWx4XG4iLAorCQljbGllbnQtPmRvb3JiZWxsX2lkLCBjbGll bnQtPmRvb3JiZWxsX29mZnNldCk7CiAJc2VxX3ByaW50ZihtLCAiXHRXUSBzaXplICVkLCBvZmZz ZXQ6IDB4JXgsIHRhaWwgJWRcbiIsCiAJCWNsaWVudC0+d3Ffc2l6ZSwgY2xpZW50LT53cV9vZmZz ZXQsIGNsaWVudC0+d3FfdGFpbCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYwppbmRleCA2ZjBhZGNkMmEwNTguLjY3NGY2YTQwMzVlNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtMTkyLDEzICsxOTIsMTIgQEAg c3RhdGljIGludCBfX2NyZWF0ZV9kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGll bnQpCiAKIAlkb29yYmVsbCA9IF9fZ2V0X2Rvb3JiZWxsKGNsaWVudCk7CiAJZG9vcmJlbGwtPmRi X3N0YXR1cyA9IEdVQ19ET09SQkVMTF9FTkFCTEVEOwotCWRvb3JiZWxsLT5jb29raWUgPSBjbGll bnQtPmRvb3JiZWxsX2Nvb2tpZTsKKwlkb29yYmVsbC0+Y29va2llID0gMDsKIAogCWVyciA9IF9f Z3VjX2FsbG9jYXRlX2Rvb3JiZWxsKGNsaWVudC0+Z3VjLCBjbGllbnQtPnN0YWdlX2lkKTsKLQlp ZiAoZXJyKSB7CisJaWYgKGVycikKIAkJZG9vcmJlbGwtPmRiX3N0YXR1cyA9IEdVQ19ET09SQkVM TF9ESVNBQkxFRDsKLQkJZG9vcmJlbGwtPmNvb2tpZSA9IDA7Ci0JfQorCiAJcmV0dXJuIGVycjsK IH0KIApAQCAtNDY3LDU3ICs0NjYsMjAgQEAgc3RhdGljIHZvaWQgZ3VjX3Jlc2V0X3dxKHN0cnVj dCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCkKIAljbGllbnQtPndxX3RhaWwgPSAwOwogfQogCi1z dGF0aWMgaW50IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVu dCkKK3N0YXRpYyB2b2lkIGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQg KmNsaWVudCkKIHsKLQlzdHJ1Y3QgZ3VjX3Byb2Nlc3NfZGVzYyAqZGVzYyA9IF9fZ2V0X3Byb2Nl c3NfZGVzYyhjbGllbnQpOwotCXVuaW9uIGd1Y19kb29yYmVsbF9xdyBkYl9jbXAsIGRiX2V4Yywg ZGJfcmV0OwotCXVuaW9uIGd1Y19kb29yYmVsbF9xdyAqZGI7Ci0JaW50IGF0dGVtcHQgPSAyLCBy ZXQgPSAtRUFHQUlOOwotCi0JLyogVXBkYXRlIHRoZSB0YWlsIHNvIGl0IGlzIHZpc2libGUgdG8g R3VDICovCi0JZGVzYy0+dGFpbCA9IGNsaWVudC0+d3FfdGFpbDsKLQotCS8qIGN1cnJlbnQgY29v a2llICovCi0JZGJfY21wLmRiX3N0YXR1cyA9IEdVQ19ET09SQkVMTF9FTkFCTEVEOwotCWRiX2Nt cC5jb29raWUgPSBjbGllbnQtPmRvb3JiZWxsX2Nvb2tpZTsKLQotCS8qIGNvb2tpZSB0byBiZSB1 cGRhdGVkICovCi0JZGJfZXhjLmRiX3N0YXR1cyA9IEdVQ19ET09SQkVMTF9FTkFCTEVEOwotCWRi X2V4Yy5jb29raWUgPSBjbGllbnQtPmRvb3JiZWxsX2Nvb2tpZSArIDE7Ci0JaWYgKGRiX2V4Yy5j b29raWUgPT0gMCkKLQkJZGJfZXhjLmNvb2tpZSA9IDE7CisJc3RydWN0IGd1Y19kb29yYmVsbF9p bmZvICpkYjsKKwl1MzIgY29va2llOwogCiAJLyogcG9pbnRlciBvZiBjdXJyZW50IGRvb3JiZWxs IGNhY2hlbGluZSAqLwotCWRiID0gKHVuaW9uIGd1Y19kb29yYmVsbF9xdyAqKV9fZ2V0X2Rvb3Ji ZWxsKGNsaWVudCk7Ci0KLQl3aGlsZSAoYXR0ZW1wdC0tKSB7Ci0JCS8qIGxldHMgcmluZyB0aGUg ZG9vcmJlbGwgKi8KLQkJZGJfcmV0LnZhbHVlX3F3ID0gYXRvbWljNjRfY21weGNoZygoYXRvbWlj NjRfdCAqKWRiLAotCQkJZGJfY21wLnZhbHVlX3F3LCBkYl9leGMudmFsdWVfcXcpOwotCi0JCS8q IGlmIHRoZSBleGNoYW5nZSB3YXMgc3VjY2Vzc2Z1bGx5IGV4ZWN1dGVkICovCi0JCWlmIChkYl9y ZXQudmFsdWVfcXcgPT0gZGJfY21wLnZhbHVlX3F3KSB7Ci0JCQkvKiBkYiB3YXMgc3VjY2Vzc2Z1 bGx5IHJ1bmcgKi8KLQkJCWNsaWVudC0+ZG9vcmJlbGxfY29va2llID0gZGJfZXhjLmNvb2tpZTsK LQkJCXJldCA9IDA7Ci0JCQlicmVhazsKLQkJfQotCi0JCS8qIFhYWDogZG9vcmJlbGwgd2FzIGxv c3QgYW5kIG5lZWQgdG8gYWNxdWlyZSBpdCBhZ2FpbiAqLwotCQlpZiAoZGJfcmV0LmRiX3N0YXR1 cyA9PSBHVUNfRE9PUkJFTExfRElTQUJMRUQpCi0JCQlicmVhazsKKwlkYiA9IF9fZ2V0X2Rvb3Ji ZWxsKGNsaWVudCk7CiAKLQkJRFJNX1dBUk4oIkNvb2tpZSBtaXNtYXRjaC4gRXhwZWN0ZWQgJWQs IGZvdW5kICVkXG4iLAotCQkJIGRiX2NtcC5jb29raWUsIGRiX3JldC5jb29raWUpOworCWRvIHsK KwkJY29va2llID0gUkVBRF9PTkNFKGRiLT5jb29raWUpOworCX0gd2hpbGUgKGNtcHhjaGcoJmRi LT5jb29raWUsIGNvb2tpZSwgY29va2llICsgMSkgIT0gY29va2llKTsKIAotCQkvKiB1cGRhdGUg dGhlIGNvb2tpZSB0byBuZXdseSByZWFkIGNvb2tpZSBmcm9tIEd1QyAqLwotCQlkYl9jbXAuY29v a2llID0gZGJfcmV0LmNvb2tpZTsKLQkJZGJfZXhjLmNvb2tpZSA9IGRiX3JldC5jb29raWUgKyAx OwotCQlpZiAoZGJfZXhjLmNvb2tpZSA9PSAwKQotCQkJZGJfZXhjLmNvb2tpZSA9IDE7Ci0JfQot Ci0JcmV0dXJuIHJldDsKKwkvKiBYWFg6IGRvb3JiZWxsIHdhcyBsb3N0IGFuZCBuZWVkIHRvIGFj cXVpcmUgaXQgYWdhaW4gKi8KKwlHRU1fQlVHX09OKGRiLT5kYl9zdGF0dXMgIT0gR1VDX0RPT1JC RUxMX0VOQUJMRUQpOwogfQogCiAvKioKQEAgLTU1MSw3ICs1MTMsNyBAQCBzdGF0aWMgdm9pZCBp OTE1X2d1Y19zdWJtaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkJc3Bpbl9s b2NrX2lycXNhdmUoJmNsaWVudC0+d3FfbG9jaywgZmxhZ3MpOwogCiAJCQlndWNfd3FfaXRlbV9h cHBlbmQoY2xpZW50LCBycSk7Ci0JCQlXQVJOX09OKGd1Y19yaW5nX2Rvb3JiZWxsKGNsaWVudCkp OworCQkJZ3VjX3JpbmdfZG9vcmJlbGwoY2xpZW50KTsKIAogCQkJY2xpZW50LT5zdWJtaXNzaW9u c1tlbmdpbmVfaWRdICs9IDE7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCmluZGV4IGQ0MTA1MTY4 ODIyMS4uZjUwNWRjY2NkNjEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF91Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgKQEAgLTY2LDcgKzY2 LDYgQEAgc3RydWN0IGk5MTVfZ3VjX2NsaWVudCB7CiAKIAl1MTYgZG9vcmJlbGxfaWQ7CiAJdW5z aWduZWQgbG9uZyBkb29yYmVsbF9vZmZzZXQ7Ci0JdTMyIGRvb3JiZWxsX2Nvb2tpZTsKIAogCXNw aW5sb2NrX3Qgd3FfbG9jazsKIAl1aW50MzJfdCB3cV9vZmZzZXQ7Ci0tIAoyLjEzLjUKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=