From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [PATCH 4/4] amdkfd: Process-device data creation and lookup split Date: Sun, 14 Dec 2014 15:35:20 +0200 Message-ID: <1418564120-19523-4-git-send-email-oded.gabbay@amd.com> References: <1418564120-19523-1-git-send-email-oded.gabbay@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0130.outbound.protection.outlook.com [207.46.100.130]) by gabe.freedesktop.org (Postfix) with ESMTP id 3828A6E770 for ; Sun, 14 Dec 2014 05:35:46 -0800 (PST) Received: from satlvexedge01.amd.com (satlvexedge01.amd.com [10.177.96.28]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by atltwp01.amd.com (Axway MailGate 5.3.1) with ESMTPS id 23E05CAE618 for ; Sun, 14 Dec 2014 07:35:41 -0600 (CST) In-Reply-To: <1418564120-19523-1-git-send-email-oded.gabbay@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQWxleGV5IFNraWRhbm92IDxBbGV4ZXkuU2tpZGFub3ZAYW1kLmNvbT4KClRoaXMgcGF0 Y2ggc3BsaXRzIHRoZSBjdXJyZW50IGtmZF9nZXRfcHJvY2Vzc19kZXZpY2VfZGF0YSgpIHRvIHR3 bwpmdW5jdGlvbnMsIG9uZSB0aGF0IHNwZWNpZmljYWxseSBjcmVhdGVzIGEgcGRkIGFuZCBhbm90 aGVyIG9uZSB3aGljaApqdXN0IGRvIGxvb2t1cC4KClRoaXMgaXMgZG9uZSB0byBlbmhhbmNlIHRo ZSByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5IG9mIHRoZSBjb2RlLgoKU2lnbmVkLW9m Zi1ieTogQWxleGV5IFNraWRhbm92IDxBbGV4ZXkuU2tpZGFub3ZAYW1kLmNvbT4KUmV2aWV3ZWQt Ynk6IE9kZWQgR2FiYmF5IDxvZGVkLmdhYmJheUBhbWQuY29tPgotLS0KIC4uLi9ncHUvZHJtL2Ft ZC9hbWRrZmQva2ZkX2RldmljZV9xdWV1ZV9tYW5hZ2VyLmMgIHwgIDEgLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRrZmQva2ZkX2Rvb3JiZWxsLmMgICAgICAgICAgfCAgNCAtLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9mbGF0X21lbW9yeS5jICAgICAgIHwgMTMgKysrKy0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaCAgICAgICAgICAgICAgfCAgNSAr LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzLmMgICAgICAgICAgIHwg NDAgKysrKysrKysrKysrKy0tLS0tLS0tLQogLi4uL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJv Y2Vzc19xdWV1ZV9tYW5hZ2VyLmMgfCAxNCArKysrKy0tLQogNiBmaWxlcyBjaGFuZ2VkLCA0NiBp bnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGtmZC9rZmRfZGV2aWNlX3F1ZXVlX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5jCmluZGV4IGY0NGQ2NzMuLjdi NmRmNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZpY2Vf cXVldWVfbWFuYWdlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kZXZp Y2VfcXVldWVfbWFuYWdlci5jCkBAIC03NSw3ICs3NSw2IEBAIGdldF9zaF9tZW1fYmFzZXNfbnli YmxlXzY0KHN0cnVjdCBrZmRfcHJvY2Vzc19kZXZpY2UgKnBkZCkKIAlueWJibGUgPSAocGRkLT5s ZHNfYmFzZSA+PiA2MCkgJiAweDBFOwogCiAJcmV0dXJuIG55YmJsZTsKLQogfQogCiBzdGF0aWMg aW5saW5lIHVuc2lnbmVkIGludCBnZXRfc2hfbWVtX2Jhc2VzXzMyKHN0cnVjdCBrZmRfcHJvY2Vz c19kZXZpY2UgKnBkZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tm ZF9kb29yYmVsbC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2Rvb3JiZWxsLmMK aW5kZXggYjU3OTFhNS4uMWE5YjM1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX2Rvb3JiZWxsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2Zk X2Rvb3JiZWxsLmMKQEAgLTEzNywxMCArMTM3LDYgQEAgaW50IGtmZF9kb29yYmVsbF9tbWFwKHN0 cnVjdCBrZmRfcHJvY2VzcyAqcHJvY2Vzcywgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiAJ aWYgKGRldiA9PSBOVUxMKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCS8qIEZpbmQgaWYgcGRkIGV4 aXN0cyBmb3IgY29tYmluYXRpb24gb2YgcHJvY2VzcyBhbmQgZ3B1IGlkICovCi0JaWYgKCFrZmRf Z2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwcm9jZXNzLCAwKSkKLQkJcmV0dXJuIC1FSU5W QUw7Ci0KIAkvKiBDYWxjdWxhdGUgcGh5c2ljYWwgYWRkcmVzcyBvZiBkb29yYmVsbCAqLwogCWFk ZHJlc3MgPSBrZmRfZ2V0X3Byb2Nlc3NfZG9vcmJlbGxzKGRldiwgcHJvY2Vzcyk7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9mbGF0X21lbW9yeS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2ZsYXRfbWVtb3J5LmMKaW5kZXggZTY0YWE5OS4u NWM5MTAyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2ZsYXRf bWVtb3J5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2ZsYXRfbWVtb3J5 LmMKQEAgLTMwMywxMCArMzAzLDExIEBAIGludCBrZmRfaW5pdF9hcGVydHVyZXMoc3RydWN0IGtm ZF9wcm9jZXNzICpwcm9jZXNzKQogCXdoaWxlICgoZGV2ID0ga2ZkX3RvcG9sb2d5X2VudW1fa2Zk X2RldmljZXMoaWQpKSAhPSBOVUxMICYmCiAJCWlkIDwgTlVNX09GX1NVUFBPUlRFRF9HUFVTKSB7 CiAKLQkJcGRkID0ga2ZkX2dldF9wcm9jZXNzX2RldmljZV9kYXRhKGRldiwgcHJvY2VzcywgMSk7 Ci0JCWlmICghcGRkKQotCQkJcmV0dXJuIC0xOwotCisJCXBkZCA9IGtmZF9jcmVhdGVfcHJvY2Vz c19kZXZpY2VfZGF0YShkZXYsIHByb2Nlc3MpOworCQlpZiAocGRkID09IE5VTEwpIHsKKwkJCXBy X2VycigiRmFpbGVkIHRvIGNyZWF0ZSBwcm9jZXNzIGRldmljZSBkYXRhXG4iKTsKKwkJCWdvdG8g ZXJyOworCQl9CiAJCS8qCiAJCSAqIEZvciA2NCBiaXQgcHJvY2VzcyBhcGVydHVyZSB3aWxsIGJl IHN0YXRpY2FsbHkgcmVzZXJ2ZWQgaW4KIAkJICogdGhlIHg4Nl82NCBub24gY2Fub25pY2FsIHBy b2Nlc3MgYWRkcmVzcyBzcGFjZQpAQCAtMzQ5LDYgKzM1MCwxMCBAQCBpbnQga2ZkX2luaXRfYXBl cnR1cmVzKHN0cnVjdCBrZmRfcHJvY2VzcyAqcHJvY2VzcykKIAl9CiAKIAlyZXR1cm4gMDsKKwor ZXJyOgorCW11dGV4X3VubG9jaygmcHJvY2Vzcy0+bXV0ZXgpOworCXJldHVybiAtMTsKIH0KIAog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJpdi5oIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3ByaXYuaAppbmRleCBiYTJiYmE4Li5hMmUwNTNj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJpdi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmgKQEAgLTQ3Myw4ICs0NzMsOSBA QCBzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2aWNlICprZmRfYmluZF9wcm9jZXNzX3RvX2RldmljZShz dHJ1Y3Qga2ZkX2RldiAqZGV2LAogCQkJCQkJCXN0cnVjdCBrZmRfcHJvY2VzcyAqcCk7CiB2b2lk IGtmZF91bmJpbmRfcHJvY2Vzc19mcm9tX2RldmljZShzdHJ1Y3Qga2ZkX2RldiAqZGV2LCB1bnNp Z25lZCBpbnQgcGFzaWQpOwogc3RydWN0IGtmZF9wcm9jZXNzX2RldmljZSAqa2ZkX2dldF9wcm9j ZXNzX2RldmljZV9kYXRhKHN0cnVjdCBrZmRfZGV2ICpkZXYsCi0JCQkJCQkJc3RydWN0IGtmZF9w cm9jZXNzICpwLAotCQkJCQkJCWludCBjcmVhdGVfcGRkKTsKKwkJCQkJCQlzdHJ1Y3Qga2ZkX3By b2Nlc3MgKnApOworc3RydWN0IGtmZF9wcm9jZXNzX2RldmljZSAqa2ZkX2NyZWF0ZV9wcm9jZXNz X2RldmljZV9kYXRhKHN0cnVjdCBrZmRfZGV2ICpkZXYsCisJCQkJCQkJc3RydWN0IGtmZF9wcm9j ZXNzICpwKTsKIAogLyogUHJvY2VzcyBkZXZpY2UgZGF0YSBpdGVyYXRvciAqLwogc3RydWN0IGtm ZF9wcm9jZXNzX2RldmljZSAqa2ZkX2dldF9maXJzdF9wcm9jZXNzX2RldmljZV9kYXRhKHN0cnVj dCBrZmRfcHJvY2VzcyAqcCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtm ZC9rZmRfcHJvY2Vzcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3Byb2Nlc3Mu YwppbmRleCAzYzc2ZWYwLi5hMzY5YzE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGtmZC9rZmRfcHJvY2Vzcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tm ZF9wcm9jZXNzLmMKQEAgLTMxMSwyNCArMzExLDI5IEBAIGVycl9hbGxvY19wcm9jZXNzOgogfQog CiBzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2aWNlICprZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEo c3RydWN0IGtmZF9kZXYgKmRldiwKLQkJCQkJCQlzdHJ1Y3Qga2ZkX3Byb2Nlc3MgKnAsCi0JCQkJ CQkJaW50IGNyZWF0ZV9wZGQpCisJCQkJCQkJc3RydWN0IGtmZF9wcm9jZXNzICpwKQogewogCXN0 cnVjdCBrZmRfcHJvY2Vzc19kZXZpY2UgKnBkZCA9IE5VTEw7CiAKIAlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHBkZCwgJnAtPnBlcl9kZXZpY2VfZGF0YSwgcGVyX2RldmljZV9saXN0KQogCQlpZiAocGRk LT5kZXYgPT0gZGV2KQotCQkJcmV0dXJuIHBkZDsKLQotCWlmIChjcmVhdGVfcGRkKSB7Ci0JCXBk ZCA9IGt6YWxsb2Moc2l6ZW9mKCpwZGQpLCBHRlBfS0VSTkVMKTsKLQkJaWYgKHBkZCAhPSBOVUxM KSB7Ci0JCQlwZGQtPmRldiA9IGRldjsKLQkJCUlOSVRfTElTVF9IRUFEKCZwZGQtPnFwZC5xdWV1 ZXNfbGlzdCk7Ci0JCQlJTklUX0xJU1RfSEVBRCgmcGRkLT5xcGQucHJpdl9xdWV1ZV9saXN0KTsK LQkJCXBkZC0+cXBkLmRxbSA9IGRldi0+ZHFtOwotCQkJbGlzdF9hZGQoJnBkZC0+cGVyX2Rldmlj ZV9saXN0LCAmcC0+cGVyX2RldmljZV9kYXRhKTsKLQkJfQorCQkJYnJlYWs7CisKKwlyZXR1cm4g cGRkOworfQorCitzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2aWNlICprZmRfY3JlYXRlX3Byb2Nlc3Nf ZGV2aWNlX2RhdGEoc3RydWN0IGtmZF9kZXYgKmRldiwKKwkJCQkJCQlzdHJ1Y3Qga2ZkX3Byb2Nl c3MgKnApCit7CisJc3RydWN0IGtmZF9wcm9jZXNzX2RldmljZSAqcGRkID0gTlVMTDsKKworCXBk ZCA9IGt6YWxsb2Moc2l6ZW9mKCpwZGQpLCBHRlBfS0VSTkVMKTsKKwlpZiAocGRkICE9IE5VTEwp IHsKKwkJcGRkLT5kZXYgPSBkZXY7CisJCUlOSVRfTElTVF9IRUFEKCZwZGQtPnFwZC5xdWV1ZXNf bGlzdCk7CisJCUlOSVRfTElTVF9IRUFEKCZwZGQtPnFwZC5wcml2X3F1ZXVlX2xpc3QpOworCQlw ZGQtPnFwZC5kcW0gPSBkZXYtPmRxbTsKKwkJbGlzdF9hZGQoJnBkZC0+cGVyX2RldmljZV9saXN0 LCAmcC0+cGVyX2RldmljZV9kYXRhKTsKIAl9CiAKIAlyZXR1cm4gcGRkOwpAQCAtMzQ0LDExICsz NDksMTQgQEAgc3RydWN0IGtmZF9wcm9jZXNzX2RldmljZSAqa2ZkX2dldF9wcm9jZXNzX2Rldmlj ZV9kYXRhKHN0cnVjdCBrZmRfZGV2ICpkZXYsCiBzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2aWNlICpr ZmRfYmluZF9wcm9jZXNzX3RvX2RldmljZShzdHJ1Y3Qga2ZkX2RldiAqZGV2LAogCQkJCQkJCXN0 cnVjdCBrZmRfcHJvY2VzcyAqcCkKIHsKLQlzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2aWNlICpwZGQg PSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwLCAxKTsKKwlzdHJ1Y3Qga2ZkX3By b2Nlc3NfZGV2aWNlICpwZGQ7CiAJaW50IGVycjsKIAotCWlmIChwZGQgPT0gTlVMTCkKKwlwZGQg PSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwKTsKKwlpZiAoIXBkZCkgeworCQlw cl9lcnIoIlByb2Nlc3MgZGV2aWNlIGRhdGEgZG9lc24ndCBleGlzdFxuIik7CiAJCXJldHVybiBF UlJfUFRSKC1FTk9NRU0pOworCX0KIAogCWlmIChwZGQtPmJvdW5kKQogCQlyZXR1cm4gcGRkOwpA QCAtMzg0LDcgKzM5Miw3IEBAIHZvaWQga2ZkX3VuYmluZF9wcm9jZXNzX2Zyb21fZGV2aWNlKHN0 cnVjdCBrZmRfZGV2ICpkZXYsIHVuc2lnbmVkIGludCBwYXNpZCkKIAogCXBxbV91bmluaXQoJnAt PnBxbSk7CiAKLQlwZGQgPSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwLCAwKTsK KwlwZGQgPSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwKTsKIAogCS8qCiAJICog SnVzdCBtYXJrIHBkZCBhcyB1bmJvdW5kLCBiZWNhdXNlIHdlIHN0aWxsIG5lZWQgaXQgdG8gY2Fs bApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3Byb2Nlc3NfcXVl dWVfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX3Byb2Nlc3NfcXVl dWVfbWFuYWdlci5jCmluZGV4IDQ3NTI2NzguLmQxMmY5ZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzX3F1ZXVlX21hbmFnZXIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJvY2Vzc19xdWV1ZV9tYW5hZ2VyLmMKQEAgLTE2 Nyw4ICsxNjcsMTEgQEAgaW50IHBxbV9jcmVhdGVfcXVldWUoc3RydWN0IHByb2Nlc3NfcXVldWVf bWFuYWdlciAqcHFtLAogCXEgPSBOVUxMOwogCWtxID0gTlVMTDsKIAotCXBkZCA9IGtmZF9nZXRf cHJvY2Vzc19kZXZpY2VfZGF0YShkZXYsIHBxbS0+cHJvY2VzcywgMSk7Ci0JQlVHX09OKCFwZGQp OworCXBkZCA9IGtmZF9nZXRfcHJvY2Vzc19kZXZpY2VfZGF0YShkZXYsIHBxbS0+cHJvY2Vzcyk7 CisJaWYgKCFwZGQpIHsKKwkJcHJfZXJyKCJQcm9jZXNzIGRldmljZSBkYXRhIGRvZXNuJ3QgZXhp c3RcbiIpOworCQlyZXR1cm4gLTE7CisJfQogCiAJcmV0dmFsID0gZmluZF9hdmFpbGFibGVfcXVl dWVfc2xvdChwcW0sIHFpZCk7CiAJaWYgKHJldHZhbCAhPSAwKQpAQCAtMjczLDggKzI3NiwxMSBA QCBpbnQgcHFtX2Rlc3Ryb3lfcXVldWUoc3RydWN0IHByb2Nlc3NfcXVldWVfbWFuYWdlciAqcHFt LCB1bnNpZ25lZCBpbnQgcWlkKQogCQlkZXYgPSBwcW4tPnEtPmRldmljZTsKIAlCVUdfT04oIWRl dik7CiAKLQlwZGQgPSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2RhdGEoZGV2LCBwcW0tPnByb2Nl c3MsIDEpOwotCUJVR19PTighcGRkKTsKKwlwZGQgPSBrZmRfZ2V0X3Byb2Nlc3NfZGV2aWNlX2Rh dGEoZGV2LCBwcW0tPnByb2Nlc3MpOworCWlmICghcGRkKSB7CisJCXByX2VycigiUHJvY2VzcyBk ZXZpY2UgZGF0YSBkb2Vzbid0IGV4aXN0XG4iKTsKKwkJcmV0dXJuIC0xOworCX0KIAogCWlmIChw cW4tPmtxKSB7CiAJCS8qIGRlc3Ryb3kga2VybmVsIHF1ZXVlIChESVEpICovCi0tIAoxLjkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK