From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0FE306E03C for ; Thu, 18 Oct 2018 15:28:37 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id 63-v6so34126643wra.11 for ; Thu, 18 Oct 2018 08:28:36 -0700 (PDT) From: Tvrtko Ursulin Date: Thu, 18 Oct 2018 16:28:11 +0100 Message-Id: <20181018152815.31816-14-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20181018152815.31816-1-tvrtko.ursulin@linux.intel.com> References: <20181018152815.31816-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 13/17] gem_wsim: Compact int command parsing with a macro List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClBhcnNpbmcg YW4gaW50ZWdlciB3b3JrbG9hZCBkZXNjcmlwdG9yIGZpZWxkIGlzIGEgY29tbW9uIHBhdHRlcm4g d2hpY2ggd2UKY2FuIGV4dHJhY3QgdG8gYSBoZWxwZXIgbWFjcm8gYW5kIGJ5IGRvaW5nIHNvIGZ1 cnRoZXIgaW1wcm92ZSB0aGUKcmVhZGFiaWxpdHkgb2YgdGhlIG1haW4gcGFyc2luZyBsb29wLgoK U2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K LS0tCiBiZW5jaG1hcmtzL2dlbV93c2ltLmMgfCA4MCArKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgNTUg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy9nZW1fd3NpbS5jIGIvYmVuY2ht YXJrcy9nZW1fd3NpbS5jCmluZGV4IDU5MjQzYWY1Y2RlOC4uYjgwNWVjZDlhNjgwIDEwMDY0NAot LS0gYS9iZW5jaG1hcmtzL2dlbV93c2ltLmMKKysrIGIvYmVuY2htYXJrcy9nZW1fd3NpbS5jCkBA IC0zNzEsNiArMzcxLDE1IEBAIHN0YXRpYyBpbnQgcGFyc2VfZW5naW5lX21hcChzdHJ1Y3Qgd19z dGVwICpzdGVwLCBjb25zdCBjaGFyICpfc3RyKQogCXJldHVybiAwOwogfQogCisjZGVmaW5lIGlu dF9maWVsZChfU1RFUF8sIF9GSUVMRF8sIF9DT05EXywgX0VSUl8pIFwKKwlpZiAoKGZpZWxkID0g c3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsgXAorCQl0bXAgPSBhdG9pKGZpZWxkKTsg XAorCQljaGVja19hcmcoX0NPTkRfLCBfRVJSXywgbnJfc3RlcHMpOyBcCisJCXN0ZXAudHlwZSA9 IF9TVEVQXzsgXAorCQlzdGVwLl9GSUVMRF8gPSB0bXA7IFwKKwkJZ290byBhZGRfc3RlcDsgXAor CX0gXAorCiBzdGF0aWMgc3RydWN0IHdvcmtsb2FkICoKIHBhcnNlX3dvcmtsb2FkKHN0cnVjdCB3 X2FyZyAqYXJnLCB1bnNpZ25lZCBpbnQgZmxhZ3MsIHN0cnVjdCB3b3JrbG9hZCAqYXBwX3cpCiB7 CkBAIC0zOTgsMjUgKzQwNywxMSBAQCBwYXJzZV93b3JrbG9hZChzdHJ1Y3Qgd19hcmcgKmFyZywg dW5zaWduZWQgaW50IGZsYWdzLCBzdHJ1Y3Qgd29ya2xvYWQgKmFwcF93KQogCQkJZnN0YXJ0ID0g TlVMTDsKIAogCQkJaWYgKCFzdHJjbXAoZmllbGQsICJkIikpIHsKLQkJCQlpZiAoKGZpZWxkID0g c3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsKLQkJCQkJdG1wID0gYXRvaShmaWVsZCk7 Ci0JCQkJCWNoZWNrX2FyZyh0bXAgPD0gMCwKLQkJCQkJCSAgIkludmFsaWQgZGVsYXkgYXQgc3Rl cCAldSFcbiIsCi0JCQkJCQkgIG5yX3N0ZXBzKTsKLQkJCQkJc3RlcC50eXBlID0gREVMQVk7Ci0J CQkJCXN0ZXAuZGVsYXkgPSB0bXA7Ci0JCQkJCWdvdG8gYWRkX3N0ZXA7Ci0JCQkJfQorCQkJCWlu dF9maWVsZChERUxBWSwgZGVsYXksIHRtcCA8PSAwLAorCQkJCQkgICJJbnZhbGlkIGRlbGF5IGF0 IHN0ZXAgJXUhXG4iKTsKIAkJCX0gZWxzZSBpZiAoIXN0cmNtcChmaWVsZCwgInAiKSkgewotCQkJ CWlmICgoZmllbGQgPSBzdHJ0b2tfcihmc3RhcnQsICIuIiwgJmZjdHgpKSkgewotCQkJCQl0bXAg PSBhdG9pKGZpZWxkKTsKLQkJCQkJY2hlY2tfYXJnKHRtcCA8PSAwLAotCQkJCQkJICAiSW52YWxp ZCBwZXJpb2QgYXQgc3RlcCAldSFcbiIsCi0JCQkJCQkgIG5yX3N0ZXBzKTsKLQkJCQkJc3RlcC50 eXBlID0gUEVSSU9EOwotCQkJCQlzdGVwLnBlcmlvZCA9IHRtcDsKLQkJCQkJZ290byBhZGRfc3Rl cDsKLQkJCQl9CisJCQkJaW50X2ZpZWxkKFBFUklPRCwgcGVyaW9kLCB0bXAgPD0gMCwKKwkJCQkJ ICAiSW52YWxpZCBwZXJpb2QgYXQgc3RlcCAldSFcbiIpOwogCQkJfSBlbHNlIGlmICghc3RyY21w KGZpZWxkLCAiUCIpKSB7CiAJCQkJdW5zaWduZWQgaW50IG5yID0gMDsKIAkJCQl3aGlsZSAoKGZp ZWxkID0gc3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsKQEAgLTQzOSw0NiArNDM0LDIx IEBAIHBhcnNlX3dvcmtsb2FkKHN0cnVjdCB3X2FyZyAqYXJnLCB1bnNpZ25lZCBpbnQgZmxhZ3Ms IHN0cnVjdCB3b3JrbG9hZCAqYXBwX3cpCiAJCQkJc3RlcC50eXBlID0gQ1RYX1BSSU9SSVRZOwog CQkJCWdvdG8gYWRkX3N0ZXA7CiAJCQl9IGVsc2UgaWYgKCFzdHJjbXAoZmllbGQsICJzIikpIHsK LQkJCQlpZiAoKGZpZWxkID0gc3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsKLQkJCQkJ dG1wID0gYXRvaShmaWVsZCk7Ci0JCQkJCWNoZWNrX2FyZyh0bXAgPj0gMCB8fAotCQkJCQkJICAo KGludClucl9zdGVwcyArIHRtcCkgPCAwLAotCQkJCQkJICAiSW52YWxpZCBzeW5jIHRhcmdldCBh dCBzdGVwICV1IVxuIiwKLQkJCQkJCSAgbnJfc3RlcHMpOwotCQkJCQlzdGVwLnR5cGUgPSBTWU5D OwotCQkJCQlzdGVwLnRhcmdldCA9IHRtcDsKLQkJCQkJZ290byBhZGRfc3RlcDsKLQkJCQl9CisJ CQkJaW50X2ZpZWxkKFNZTkMsIHRhcmdldCwKKwkJCQkJICB0bXAgPj0gMCB8fCAoKGludClucl9z dGVwcyArIHRtcCkgPCAwLAorCQkJCQkgICJJbnZhbGlkIHN5bmMgdGFyZ2V0IGF0IHN0ZXAgJXUh XG4iKTsKIAkJCX0gZWxzZSBpZiAoIXN0cmNtcChmaWVsZCwgInQiKSkgewotCQkJCWlmICgoZmll bGQgPSBzdHJ0b2tfcihmc3RhcnQsICIuIiwgJmZjdHgpKSkgewotCQkJCQl0bXAgPSBhdG9pKGZp ZWxkKTsKLQkJCQkJY2hlY2tfYXJnKHRtcCA8IDAsCi0JCQkJCQkgICJJbnZhbGlkIHRocm90dGxl IGF0IHN0ZXAgJXUhXG4iLAotCQkJCQkJICBucl9zdGVwcyk7Ci0JCQkJCXN0ZXAudHlwZSA9IFRI Uk9UVExFOwotCQkJCQlzdGVwLnRocm90dGxlID0gdG1wOwotCQkJCQlnb3RvIGFkZF9zdGVwOwot CQkJCX0KKwkJCQlpbnRfZmllbGQoVEhST1RUTEUsIHRocm90dGxlLAorCQkJCQkgIHRtcCA8IDAs CisJCQkJCSAgIkludmFsaWQgdGhyb3R0bGUgYXQgc3RlcCAldSFcbiIpOwogCQkJfSBlbHNlIGlm ICghc3RyY21wKGZpZWxkLCAicSIpKSB7Ci0JCQkJaWYgKChmaWVsZCA9IHN0cnRva19yKGZzdGFy dCwgIi4iLCAmZmN0eCkpKSB7Ci0JCQkJCXRtcCA9IGF0b2koZmllbGQpOwotCQkJCQljaGVja19h cmcodG1wIDwgMCwKLQkJCQkJCSAgIkludmFsaWQgcWQgdGhyb3R0bGUgYXQgc3RlcCAldSFcbiIs Ci0JCQkJCQkgIG5yX3N0ZXBzKTsKLQkJCQkJc3RlcC50eXBlID0gUURfVEhST1RUTEU7Ci0JCQkJ CXN0ZXAudGhyb3R0bGUgPSB0bXA7Ci0JCQkJCWdvdG8gYWRkX3N0ZXA7Ci0JCQkJfQorCQkJCWlu dF9maWVsZChRRF9USFJPVFRMRSwgdGhyb3R0bGUsCisJCQkJCSAgdG1wIDwgMCwKKwkJCQkJICAi SW52YWxpZCBxZCB0aHJvdHRsZSBhdCBzdGVwICV1IVxuIik7CiAJCQl9IGVsc2UgaWYgKCFzdHJj bXAoZmllbGQsICJhIikpIHsKLQkJCQlpZiAoKGZpZWxkID0gc3RydG9rX3IoZnN0YXJ0LCAiLiIs ICZmY3R4KSkpIHsKLQkJCQkJdG1wID0gYXRvaShmaWVsZCk7Ci0JCQkJCWNoZWNrX2FyZyh0bXAg Pj0gMCwKLQkJCQkJCSAgIkludmFsaWQgc3cgZmVuY2Ugc2lnbmFsIGF0IHN0ZXAgJXUhXG4iLAot CQkJCQkJICBucl9zdGVwcyk7Ci0JCQkJCXN0ZXAudHlwZSA9IFNXX0ZFTkNFX1NJR05BTDsKLQkJ CQkJc3RlcC50YXJnZXQgPSB0bXA7Ci0JCQkJCWdvdG8gYWRkX3N0ZXA7Ci0JCQkJfQorCQkJCWlu dF9maWVsZChTV19GRU5DRV9TSUdOQUwsIHRhcmdldCwKKwkJCQkJICB0bXAgPj0gMCwKKwkJCQkJ ICAiSW52YWxpZCBzdyBmZW5jZSBzaWduYWwgYXQgc3RlcCAldSFcbiIpOwogCQkJfSBlbHNlIGlm ICghc3RyY21wKGZpZWxkLCAiZiIpKSB7CiAJCQkJc3RlcC50eXBlID0gU1dfRkVOQ0U7CiAJCQkJ Z290byBhZGRfc3RlcDsKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pZ3QtZGV2Cg==