From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kuehling, Felix" Subject: [PATCH 4/4] drm/amdkfd: Add support for doorbell BOs Date: Wed, 21 Nov 2018 03:07:28 +0000 Message-ID: <1542769636-2976-5-git-send-email-Felix.Kuehling@amd.com> References: <1542769636-2976-1-git-send-email-Felix.Kuehling@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1542769636-2976-1-git-send-email-Felix.Kuehling-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US 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" , "oded.gabbay-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" Cc: "Kuehling, Felix" VGhpcyBhbGxvd3MgdXNlciBtb2RlIHRvIG1hcCBkb29yYmVsbCBwYWdlcyBpbnRvIEdQVVZNIGFk ZHJlc3Mgc3BhY2UuClRoYXQgd2F5IEdQVXMgY2FuIHN1Ym1pdCB0byB1c2VyIG1vZGUgcXVldWVz IChzZWxmLWRpc3BhdGNoKS4KClNpZ25lZC1vZmYtYnk6IEZlbGl4IEt1ZWhsaW5nIDxGZWxpeC5L dWVobGluZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9h bWRrZmRfZ3B1dm0uYyB8IDU5ICsrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYyAgICAgICAgIHwgIDYgKysrCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2luY2x1ZGUva2dkX2tmZF9pbnRlcmZhY2UuaCAgfCAgNCArLQogMyBmaWxlcyBj aGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYwppbmRleCAxNGY3Njc2NS4u ZjNhYzhlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Ft ZGtmZF9ncHV2bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRr ZmRfZ3B1dm0uYwpAQCAtODg3LDYgKzg4NywyNCBAQCBzdGF0aWMgaW50IG1hcF9ib190b19ncHV2 bShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMg c3RydWN0IHNnX3RhYmxlICpjcmVhdGVfZG9vcmJlbGxfc2codWludDY0X3QgYWRkciwgdWludDMy X3Qgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc2dfdGFibGUgKnNnID0ga21hbGxvYyhzaXplb2YoKnNnKSwg R0ZQX0tFUk5FTCk7CisKKwlpZiAoIXNnKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoc2dfYWxsb2Nf dGFibGUoc2csIDEsIEdGUF9LRVJORUwpKSB7CisJCWtmcmVlKHNnKTsKKwkJcmV0dXJuIE5VTEw7 CisJfQorCXNnLT5zZ2wtPmRtYV9hZGRyZXNzID0gYWRkcjsKKwlzZy0+c2dsLT5sZW5ndGggPSBz aXplOworI2lmZGVmIENPTkZJR19ORUVEX1NHX0RNQV9MRU5HVEgKKwlzZy0+c2dsLT5kbWFfbGVu Z3RoID0gc2l6ZTsKKyNlbmRpZgorCXJldHVybiBzZzsKK30KKwogc3RhdGljIGludCBwcm9jZXNz X3ZhbGlkYXRlX3ZtcyhzdHJ1Y3QgYW1ka2ZkX3Byb2Nlc3NfaW5mbyAqcHJvY2Vzc19pbmZvKQog ewogCXN0cnVjdCBhbWRncHVfdm0gKnBlZXJfdm07CkBAIC0xMTcwLDYgKzExODgsOCBAQCBpbnQg YW1kZ3B1X2FtZGtmZF9ncHV2bV9hbGxvY19tZW1vcnlfb2ZfZ3B1KAogewogCXN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2ID0gZ2V0X2FtZGdwdV9kZXZpY2Uoa2dkKTsKIAlzdHJ1Y3QgYW1kZ3B1 X3ZtICphdm0gPSAoc3RydWN0IGFtZGdwdV92bSAqKXZtOworCWVudW0gdHRtX2JvX3R5cGUgYm9f dHlwZSA9IHR0bV9ib190eXBlX2RldmljZTsKKwlzdHJ1Y3Qgc2dfdGFibGUgKnNnID0gTlVMTDsK IAl1aW50NjRfdCB1c2VyX2FkZHIgPSAwOwogCXN0cnVjdCBhbWRncHVfYm8gKmJvOwogCXN0cnVj dCBhbWRncHVfYm9fcGFyYW0gYnA7CkBAIC0xMTk4LDEzICsxMjE4LDI1IEBAIGludCBhbWRncHVf YW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJCWlmICghb2Zmc2V0IHx8ICEqb2Zm c2V0KQogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCXVzZXJfYWRkciA9ICpvZmZzZXQ7CisJfSBlbHNl IGlmIChmbGFncyAmIEFMTE9DX01FTV9GTEFHU19ET09SQkVMTCkgeworCQlkb21haW4gPSBBTURH UFVfR0VNX0RPTUFJTl9HVFQ7CisJCWFsbG9jX2RvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX0NQ VTsKKwkJYm9fdHlwZSA9IHR0bV9ib190eXBlX3NnOworCQlhbGxvY19mbGFncyA9IDA7CisJCWlm IChzaXplID4gVUlOVF9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJc2cgPSBjcmVhdGVfZG9v cmJlbGxfc2coKm9mZnNldCwgc2l6ZSk7CisJCWlmICghc2cpCisJCQlyZXR1cm4gLUVOT01FTTsK IAl9IGVsc2UgewogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAkqbWVtID0ga3phbGxvYyhzaXpl b2Yoc3RydWN0IGtnZF9tZW0pLCBHRlBfS0VSTkVMKTsKLQlpZiAoISptZW0pCi0JCXJldHVybiAt RU5PTUVNOworCWlmICghKm1lbSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycjsKKwl9 CiAJSU5JVF9MSVNUX0hFQUQoJigqbWVtKS0+Ym9fdmFfbGlzdCk7CiAJbXV0ZXhfaW5pdCgmKCpt ZW0pLT5sb2NrKTsKIAkoKm1lbSktPmFxbF9xdWV1ZSA9ICEhKGZsYWdzICYgQUxMT0NfTUVNX0ZM QUdTX0FRTF9RVUVVRV9NRU0pOwpAQCAtMTIzNyw3ICsxMjY5LDcgQEAgaW50IGFtZGdwdV9hbWRr ZmRfZ3B1dm1fYWxsb2NfbWVtb3J5X29mX2dwdSgKIAogCWFtZGdwdV9zeW5jX2NyZWF0ZSgmKCpt ZW0pLT5zeW5jKTsKIAotCXJldCA9IGFtZGdwdV9hbWRrZmRfcmVzZXJ2ZV9tZW1fbGltaXQoYWRl diwgc2l6ZSwgYWxsb2NfZG9tYWluLCBmYWxzZSk7CisJcmV0ID0gYW1kZ3B1X2FtZGtmZF9yZXNl cnZlX21lbV9saW1pdChhZGV2LCBzaXplLCBhbGxvY19kb21haW4sICEhc2cpOwogCWlmIChyZXQp IHsKIAkJcHJfZGVidWcoIkluc3VmZmljaWVudCBzeXN0ZW0gbWVtb3J5XG4iKTsKIAkJZ290byBl cnJfcmVzZXJ2ZV9saW1pdDsKQEAgLTEyNTEsNyArMTI4Myw3IEBAIGludCBhbWRncHVfYW1ka2Zk X2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCiAJYnAuYnl0ZV9hbGlnbiA9IGJ5dGVfYWxpZ247 CiAJYnAuZG9tYWluID0gYWxsb2NfZG9tYWluOwogCWJwLmZsYWdzID0gYWxsb2NfZmxhZ3M7Ci0J YnAudHlwZSA9IHR0bV9ib190eXBlX2RldmljZTsKKwlicC50eXBlID0gYm9fdHlwZTsKIAlicC5y ZXN2ID0gTlVMTDsKIAlyZXQgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsICZicCwgJmJvKTsKIAlp ZiAocmV0KSB7CkBAIC0xMjU5LDYgKzEyOTEsMTAgQEAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1f YWxsb2NfbWVtb3J5X29mX2dwdSgKIAkJCQlkb21haW5fc3RyaW5nKGFsbG9jX2RvbWFpbiksIHJl dCk7CiAJCWdvdG8gZXJyX2JvX2NyZWF0ZTsKIAl9CisJaWYgKGJvX3R5cGUgPT0gdHRtX2JvX3R5 cGVfc2cpIHsKKwkJYm8tPnRiby5zZyA9IHNnOworCQliby0+dGJvLnR0bS0+c2cgPSBzZzsKKwl9 CiAJYm8tPmtmZF9ibyA9ICptZW07CiAJKCptZW0pLT5ibyA9IGJvOwogCWlmICh1c2VyX2FkZHIp CkBAIC0xMjkwLDEwICsxMzI2LDE1IEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZtX2FsbG9jX21l bW9yeV9vZl9ncHUoCiAJLyogRG9uJ3QgdW5yZXNlcnZlIHN5c3RlbSBtZW0gbGltaXQgdHdpY2Ug Ki8KIAlnb3RvIGVycl9yZXNlcnZlX2xpbWl0OwogZXJyX2JvX2NyZWF0ZToKLQl1bnJlc2VydmVf bWVtX2xpbWl0KGFkZXYsIHNpemUsIGFsbG9jX2RvbWFpbiwgZmFsc2UpOworCXVucmVzZXJ2ZV9t ZW1fbGltaXQoYWRldiwgc2l6ZSwgYWxsb2NfZG9tYWluLCAhIXNnKTsKIGVycl9yZXNlcnZlX2xp bWl0OgogCW11dGV4X2Rlc3Ryb3koJigqbWVtKS0+bG9jayk7CiAJa2ZyZWUoKm1lbSk7CitlcnI6 CisJaWYgKHNnKSB7CisJCXNnX2ZyZWVfdGFibGUoc2cpOworCQlrZnJlZShzZyk7CisJfQogCXJl dHVybiByZXQ7CiB9CiAKQEAgLTEzNjMsNiArMTQwNCwxNCBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9n cHV2bV9mcmVlX21lbW9yeV9vZl9ncHUoCiAJLyogRnJlZSB0aGUgc3luYyBvYmplY3QgKi8KIAlh bWRncHVfc3luY19mcmVlKCZtZW0tPnN5bmMpOwogCisJLyogSWYgdGhlIFNHIGlzIG5vdCBOVUxM LCBpdCdzIG9uZSB3ZSBjcmVhdGVkIGZvciBhIGRvb3JiZWxsCisJICogQk8uIFdlIG5lZWQgdG8g ZnJlZSBpdC4KKwkgKi8KKwlpZiAobWVtLT5iby0+dGJvLnNnKSB7CisJCXNnX2ZyZWVfdGFibGUo bWVtLT5iby0+dGJvLnNnKTsKKwkJa2ZyZWUobWVtLT5iby0+dGJvLnNnKTsKKwl9CisKIAkvKiBG cmVlIHRoZSBCTyovCiAJYW1kZ3B1X2JvX3VucmVmKCZtZW0tPmJvKTsKIAltdXRleF9kZXN0cm95 KCZtZW0tPmxvY2spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2Zk X2NoYXJkZXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFyZGV2LmMKaW5k ZXggYWUzYWUwZi4uMzYyMzUzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRr ZmQva2ZkX2NoYXJkZXYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfY2hh cmRldi5jCkBAIC0xMjc0LDYgKzEyNzQsMTIgQEAgc3RhdGljIGludCBrZmRfaW9jdGxfYWxsb2Nf bWVtb3J5X29mX2dwdShzdHJ1Y3QgZmlsZSAqZmlsZXAsCiAJCXJldHVybiAtRUlOVkFMOwogCX0K IAorCWlmIChmbGFncyAmIEtGRF9JT0NfQUxMT0NfTUVNX0ZMQUdTX0RPT1JCRUxMKSB7CisJCWlm IChhcmdzLT5zaXplICE9IGtmZF9kb29yYmVsbF9wcm9jZXNzX3NsaWNlKGRldikpCisJCQlyZXR1 cm4gLUVJTlZBTDsKKwkJb2Zmc2V0ID0ga2ZkX2dldF9wcm9jZXNzX2Rvb3JiZWxscyhkZXYsIHAp OworCX0KKwogCW11dGV4X2xvY2soJnAtPm11dGV4KTsKIAogCXBkZCA9IGtmZF9iaW5kX3Byb2Nl c3NfdG9fZGV2aWNlKGRldiwgcCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2lu Y2x1ZGUva2dkX2tmZF9pbnRlcmZhY2UuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9r Z2Rfa2ZkX2ludGVyZmFjZS5oCmluZGV4IDU4YWMwYjkuLjgxNTRkNjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9rZ2Rfa2ZkX2ludGVyZmFjZS5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9rZ2Rfa2ZkX2ludGVyZmFjZS5oCkBAIC0xODgsOCArMTg4 LDggQEAgc3RydWN0IHRpbGVfY29uZmlnIHsKICAqLwogI2RlZmluZSBBTExPQ19NRU1fRkxBR1Nf VlJBTQkJKDEgPDwgMCkKICNkZWZpbmUgQUxMT0NfTUVNX0ZMQUdTX0dUVAkJKDEgPDwgMSkKLSNk ZWZpbmUgQUxMT0NfTUVNX0ZMQUdTX1VTRVJQVFIJCSgxIDw8IDIpIC8qIFRPRE8gKi8KLSNkZWZp bmUgQUxMT0NfTUVNX0ZMQUdTX0RPT1JCRUxMCSgxIDw8IDMpIC8qIFRPRE8gKi8KKyNkZWZpbmUg QUxMT0NfTUVNX0ZMQUdTX1VTRVJQVFIJCSgxIDw8IDIpCisjZGVmaW5lIEFMTE9DX01FTV9GTEFH U19ET09SQkVMTAkoMSA8PCAzKQogCiAvKgogICogQWxsb2NhdGlvbiBmbGFncyBhdHRyaWJ1dGVz L2FjY2VzcyBvcHRpb25zLgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=