From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [PATCH 3/3] drm/amdkfd: rewrite kfd_ioctl() according to drm_ioctl() Date: Mon, 29 Dec 2014 14:42:53 +0200 Message-ID: <1419856973-3223-3-git-send-email-oded.gabbay@amd.com> References: <1419856973-3223-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-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0114.outbound.protection.outlook.com [157.56.111.114]) by gabe.freedesktop.org (Postfix) with ESMTP id A5A9E89DFC for ; Mon, 29 Dec 2014 04:43:30 -0800 (PST) In-Reply-To: <1419856973-3223-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 VGhpcyBwYXRjaCBjaGFuZ2VzIGtmZF9pb2N0bCgpIHRvIGJlIHZlcnkgc2ltaWxhciB0byBkcm1f aW9jdGwoKS4KClRoZSBwYXRjaCBkZWZpbmVzIGFuIGFycmF5IG9mIGFtZGtmZF9pb2N0bHMsIHdo aWNoIG1hcHMgSU9DVEwgZGVmaW5pdGlvbiB0byB0aGUKaW9jdGwgZnVuY3Rpb24uCgpUaGUga2Zk X2lvY3RsKCkgdXNlcyB0aGF0IG1hcHBpbmcgdG8gY2FsbCB0aGUgYXBwcm9wcmlhdGUgaW9jdGwg ZnVuY3Rpb24sCnRocm91Z2ggYSBmdW5jdGlvbiBwb2ludGVyLgoKVGhpcyBwYXRjaCBhbHNvIGRl Y2xhcmVzIGEgbmV3IHR5cGVkZWYgZm9yIHRoZSBpb2N0bCBmdW5jdGlvbiBwb2ludGVyLgoKU2ln bmVkLW9mZi1ieTogT2RlZCBHYWJiYXkgPG9kZWQuZ2FiYmF5QGFtZC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYyB8IDExNiArKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJpdi5oICAg IHwgIDE4ICsrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDg2IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFy ZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfY2hhcmRldi5jCmluZGV4IDM5 MDM4NWYuLjA2NjkzZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tm ZF9jaGFyZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYu YwpAQCAtNDgzLDIxICs0ODMsNzkgQEAgc3RhdGljIGludCBrZmRfaW9jdGxfZ2V0X3Byb2Nlc3Nf YXBlcnR1cmVzKHN0cnVjdCBmaWxlICpmaWxwLAogCXJldHVybiAwOwogfQogCisjZGVmaW5lIEFN REtGRF9JT0NUTF9ERUYoaW9jdGwsIF9mdW5jLCBfZmxhZ3MpIFwKKwlbX0lPQ19OUihpb2N0bCld ID0gey5jbWQgPSBpb2N0bCwgLmZ1bmMgPSBfZnVuYywgLmZsYWdzID0gX2ZsYWdzLCAuY21kX2Ry diA9IDAsIC5uYW1lID0gI2lvY3RsfQorCisvKiogSW9jdGwgdGFibGUgKi8KK3N0YXRpYyBjb25z dCBzdHJ1Y3QgYW1ka2ZkX2lvY3RsX2Rlc2MgYW1ka2ZkX2lvY3Rsc1tdID0geworCUFNREtGRF9J T0NUTF9ERUYoQU1ES0ZEX0lPQ19HRVRfVkVSU0lPTiwKKwkJCWtmZF9pb2N0bF9nZXRfdmVyc2lv biwgMCksCisKKwlBTURLRkRfSU9DVExfREVGKEFNREtGRF9JT0NfQ1JFQVRFX1FVRVVFLAorCQkJ a2ZkX2lvY3RsX2NyZWF0ZV9xdWV1ZSwgMCksCisKKwlBTURLRkRfSU9DVExfREVGKEFNREtGRF9J T0NfREVTVFJPWV9RVUVVRSwKKwkJCWtmZF9pb2N0bF9kZXN0cm95X3F1ZXVlLCAwKSwKKworCUFN REtGRF9JT0NUTF9ERUYoQU1ES0ZEX0lPQ19TRVRfTUVNT1JZX1BPTElDWSwKKwkJCWtmZF9pb2N0 bF9zZXRfbWVtb3J5X3BvbGljeSwgMCksCisKKwlBTURLRkRfSU9DVExfREVGKEFNREtGRF9JT0Nf R0VUX0NMT0NLX0NPVU5URVJTLAorCQkJa2ZkX2lvY3RsX2dldF9jbG9ja19jb3VudGVycywgMCks CisKKwlBTURLRkRfSU9DVExfREVGKEFNREtGRF9JT0NfR0VUX1BST0NFU1NfQVBFUlRVUkVTLAor CQkJa2ZkX2lvY3RsX2dldF9wcm9jZXNzX2FwZXJ0dXJlcywgMCksCisKKwlBTURLRkRfSU9DVExf REVGKEFNREtGRF9JT0NfVVBEQVRFX1FVRVVFLAorCQkJa2ZkX2lvY3RsX3VwZGF0ZV9xdWV1ZSwg MCksCit9OworCisjZGVmaW5lIEFNREtGRF9DT1JFX0lPQ1RMX0NPVU5UCUFSUkFZX1NJWkUoYW1k a2ZkX2lvY3RscykKKwogc3RhdGljIGxvbmcga2ZkX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlcCwg dW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCiB7CiAJc3RydWN0IGtmZF9wcm9j ZXNzICpwcm9jZXNzOworCWFtZGtmZF9pb2N0bF90ICpmdW5jOworCWNvbnN0IHN0cnVjdCBhbWRr ZmRfaW9jdGxfZGVzYyAqaW9jdGwgPSBOVUxMOworCXVuc2lnbmVkIGludCBuciA9IF9JT0NfTlIo Y21kKTsKIAljaGFyIHN0YWNrX2tkYXRhWzEyOF07CiAJY2hhciAqa2RhdGEgPSBOVUxMOwogCXVu c2lnbmVkIGludCB1c2l6ZSwgYXNpemU7CiAJaW50IHJldGNvZGUgPSAtRUlOVkFMOwogCi0JZGV2 X2RiZyhrZmRfZGV2aWNlLAotCQkiaW9jdGwgY21kIDB4JXggKCMlZCksIGFyZyAweCVseFxuIiwK LQkJY21kLCBfSU9DX05SKGNtZCksIGFyZyk7CisJaWYgKG5yID49IEFNREtGRF9DT1JFX0lPQ1RM X0NPVU5UKQorCQlnb3RvIGVycl9pMTsKKworCWlmICgobnIgPj0gS0ZEX0NPTU1BTkRfU1RBUlQp ICYmIChuciA8IEtGRF9DT01NQU5EX0VORCkpIHsKKwkJdTMyIGFtZGtmZF9zaXplOworCisJCWlv Y3RsID0gJmFtZGtmZF9pb2N0bHNbbnJdOworCisJCWFtZGtmZF9zaXplID0gX0lPQ19TSVpFKGlv Y3RsLT5jbWQpOworCQl1c2l6ZSA9IGFzaXplID0gX0lPQ19TSVpFKGNtZCk7CisJCWlmIChhbWRr ZmRfc2l6ZSA+IGFzaXplKQorCQkJYXNpemUgPSBhbWRrZmRfc2l6ZTsKKworCQljbWQgPSBpb2N0 bC0+Y21kOworCX0gZWxzZQorCQlnb3RvIGVycl9pMTsKKworCWRldl9kYmcoa2ZkX2RldmljZSwg ImlvY3RsIGNtZCAweCV4ICgjJWQpLCBhcmcgMHglbHhcbiIsIGNtZCwgbnIsIGFyZyk7CiAKIAlw cm9jZXNzID0ga2ZkX2dldF9wcm9jZXNzKGN1cnJlbnQpOwotCWlmIChJU19FUlIocHJvY2Vzcykp Ci0JCXJldHVybiBQVFJfRVJSKHByb2Nlc3MpOworCWlmIChJU19FUlIocHJvY2VzcykpIHsKKwkJ ZGV2X2RiZyhrZmRfZGV2aWNlLCAibm8gcHJvY2Vzc1xuIik7CisJCWdvdG8gZXJyX2kxOworCX0K KworCS8qIERvIG5vdCB0cnVzdCB1c2Vyc3BhY2UsIHVzZSBvdXIgb3duIGRlZmluaXRpb24gKi8K KwlmdW5jID0gaW9jdGwtPmZ1bmM7CisKKwlpZiAodW5saWtlbHkoIWZ1bmMpKSB7CisJCWRldl9k Ymcoa2ZkX2RldmljZSwgIm5vIGZ1bmN0aW9uXG4iKTsKKwkJcmV0Y29kZSA9IC1FSU5WQUw7CisJ CWdvdG8gZXJyX2kxOworCX0KIAogCWlmIChjbWQgJiAoSU9DX0lOIHwgSU9DX09VVCkpIHsKIAkJ aWYgKGFzaXplIDw9IHNpemVvZihzdGFja19rZGF0YSkpIHsKQEAgLTUyMiw1NSArNTgwLDE3IEBA IHN0YXRpYyBsb25nIGtmZF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZXAsIHVuc2lnbmVkIGludCBj bWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogCQltZW1zZXQoa2RhdGEsIDAsIHVzaXplKTsKIAl9CiAK LQotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBBTURLRkRfSU9DX0dFVF9WRVJTSU9OOgotCQlyZXRj b2RlID0ga2ZkX2lvY3RsX2dldF92ZXJzaW9uKGZpbGVwLCBwcm9jZXNzLCBrZGF0YSk7Ci0JCWJy ZWFrOwotCi0JY2FzZSBBTURLRkRfSU9DX0NSRUFURV9RVUVVRToKLQkJcmV0Y29kZSA9IGtmZF9p b2N0bF9jcmVhdGVfcXVldWUoZmlsZXAsIHByb2Nlc3MsCi0JCQkJCQlrZGF0YSk7Ci0JCWJyZWFr OwotCi0JY2FzZSBBTURLRkRfSU9DX0RFU1RST1lfUVVFVUU6Ci0JCXJldGNvZGUgPSBrZmRfaW9j dGxfZGVzdHJveV9xdWV1ZShmaWxlcCwgcHJvY2VzcywKLQkJCQkJCWtkYXRhKTsKLQkJYnJlYWs7 Ci0KLQljYXNlIEFNREtGRF9JT0NfU0VUX01FTU9SWV9QT0xJQ1k6Ci0JCXJldGNvZGUgPSBrZmRf aW9jdGxfc2V0X21lbW9yeV9wb2xpY3koZmlsZXAsIHByb2Nlc3MsCi0JCQkJCQlrZGF0YSk7Ci0J CWJyZWFrOwotCi0JY2FzZSBBTURLRkRfSU9DX0dFVF9DTE9DS19DT1VOVEVSUzoKLQkJcmV0Y29k ZSA9IGtmZF9pb2N0bF9nZXRfY2xvY2tfY291bnRlcnMoZmlsZXAsIHByb2Nlc3MsCi0JCQkJCQlr ZGF0YSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBBTURLRkRfSU9DX0dFVF9QUk9DRVNTX0FQRVJUVVJF UzoKLQkJcmV0Y29kZSA9IGtmZF9pb2N0bF9nZXRfcHJvY2Vzc19hcGVydHVyZXMoZmlsZXAsIHBy b2Nlc3MsCi0JCQkJCQlrZGF0YSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBBTURLRkRfSU9DX1VQREFU RV9RVUVVRToKLQkJcmV0Y29kZSA9IGtmZF9pb2N0bF91cGRhdGVfcXVldWUoZmlsZXAsIHByb2Nl c3MsCi0JCQkJCQlrZGF0YSk7Ci0JCWJyZWFrOwotCi0JZGVmYXVsdDoKLQkJZGV2X2RiZyhrZmRf ZGV2aWNlLAotCQkJInVua25vd24gaW9jdGwgY21kIDB4JXgsIGFyZyAweCVseClcbiIsCi0JCQlj bWQsIGFyZyk7Ci0JCXJldGNvZGUgPSAtRUlOVkFMOwotCQlicmVhazsKLQl9CisJcmV0Y29kZSA9 IGZ1bmMoZmlsZXAsIHByb2Nlc3MsIGtkYXRhKTsKIAogCWlmIChjbWQgJiBJT0NfT1VUKQogCQlp ZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKWFyZywga2RhdGEsIHVzaXplKSAhPSAwKQog CQkJcmV0Y29kZSA9IC1FRkFVTFQ7CiAKIGVycl9pMToKKwlpZiAoIWlvY3RsKQorCQlkZXZfZGJn KGtmZF9kZXZpY2UsICJpbnZhbGlkIGlvY3RsOiBwaWQ9JWQsIGNtZD0weCUwMngsIG5yPTB4JTAy eFxuIiwKKwkJCSAgdGFza19waWRfbnIoY3VycmVudCksIGNtZCwgbnIpOworCiAJaWYgKGtkYXRh ICE9IHN0YWNrX2tkYXRhKQogCQlrZnJlZShrZGF0YSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtm ZC9rZmRfcHJpdi5oCmluZGV4IGY5ZmI4MWUuLmE1ZWRiMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcml2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX3ByaXYuaApAQCAtNDYzLDYgKzQ2MywyNCBAQCBzdHJ1Y3Qga2ZkX3Byb2Nlc3Mg ewogCWJvb2wgaXNfMzJiaXRfdXNlcl9tb2RlOwogfTsKIAorLyoqCisgKiBJb2N0bCBmdW5jdGlv biB0eXBlLgorICoKKyAqIFxwYXJhbSBmaWxlcCBwb2ludGVyIHRvIGZpbGUgc3RydWN0dXJlLgor ICogXHBhcmFtIHAgYW1ka2ZkIHByb2Nlc3MgcG9pbnRlci4KKyAqIFxwYXJhbSBkYXRhIHBvaW50 ZXIgdG8gYXJnIHRoYXQgd2FzIGNvcGllZCBmcm9tIHVzZXIuCisgKi8KK3R5cGVkZWYgaW50IGFt ZGtmZF9pb2N0bF90KHN0cnVjdCBmaWxlICpmaWxlcCwgc3RydWN0IGtmZF9wcm9jZXNzICpwLAor CQkJCXZvaWQgKmRhdGEpOworCitzdHJ1Y3QgYW1ka2ZkX2lvY3RsX2Rlc2MgeworCXVuc2lnbmVk IGludCBjbWQ7CisJaW50IGZsYWdzOworCWFtZGtmZF9pb2N0bF90ICpmdW5jOworCXVuc2lnbmVk IGludCBjbWRfZHJ2OworCWNvbnN0IGNoYXIgKm5hbWU7Cit9OworCiB2b2lkIGtmZF9wcm9jZXNz X2NyZWF0ZV93cSh2b2lkKTsKIHZvaWQga2ZkX3Byb2Nlc3NfZGVzdHJveV93cSh2b2lkKTsKIHN0 cnVjdCBrZmRfcHJvY2VzcyAqa2ZkX2NyZWF0ZV9wcm9jZXNzKGNvbnN0IHN0cnVjdCB0YXNrX3N0 cnVjdCAqKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=