From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: [PATCH libdrm 2/2] xf85drm: de-duplicate drmParse{Platform.Host1x}{Bus, Device}Info Date: Wed, 23 Jan 2019 10:45:18 +0000 Message-ID: <20190123104518.7332-2-emil.l.velikov@gmail.com> References: <20190123104518.7332-1-emil.l.velikov@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 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 5C1D36E4CE for ; Wed, 23 Jan 2019 10:49:06 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id s12so1848621wrt.4 for ; Wed, 23 Jan 2019 02:49:06 -0800 (PST) In-Reply-To: <20190123104518.7332-1-emil.l.velikov@gmail.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 Cc: emil.l.velikov@gmail.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogRW1pbCBWZWxpa292IDxlbWlsLnZlbGlrb3ZAY29sbGFib3JhLmNvbT4KClRoZSBmdW5j dGlvbnMgYXJlIHZpcnR1YWxseSBpZGVudGljYWwsIGZvbGQgdGhlbSB1cC4KClNpZ25lZC1vZmYt Ynk6IEVtaWwgVmVsaWtvdiA8ZW1pbC52ZWxpa292QGNvbGxhYm9yYS5jb20+Ci0tLQogeGY4NmRy bS5jIHwgOTggKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDgzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3hmODZkcm0uYyBiL3hmODZkcm0uYwppbmRleCAzNzQ3MzRlYi4uMThj OTY5M2EgMTAwNjQ0Ci0tLSBhL3hmODZkcm0uYworKysgYi94Zjg2ZHJtLmMKQEAgLTM1MDgsNyAr MzUwOCw3IEBAIGZyZWVfZGV2aWNlOgogICAgIHJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQg ZHJtUGFyc2VQbGF0Zm9ybUJ1c0luZm8oaW50IG1haiwgaW50IG1pbiwgZHJtUGxhdGZvcm1CdXNJ bmZvUHRyIGluZm8pCitzdGF0aWMgaW50IGRybVBhcnNlT0ZCdXNJbmZvKGludCBtYWosIGludCBt aW4sIGNoYXIgKmZ1bGxuYW1lKQogewogI2lmZGVmIF9fbGludXhfXwogICAgIGNoYXIgcGF0aFtQ QVRIX01BWCArIDFdLCAqbmFtZSwgKmZvbzsKQEAgLTM1MzIsMTkgKzM1MzIsMTggQEAgc3RhdGlj IGludCBkcm1QYXJzZVBsYXRmb3JtQnVzSW5mbyhpbnQgbWFqLCBpbnQgbWluLCBkcm1QbGF0Zm9y bUJ1c0luZm9QdHIgaW5mbykKICAgICAgICAgZm9vKys7CiAgICAgfQogCi0gICAgc3RybmNweShp bmZvLT5mdWxsbmFtZSwgZm9vLCBEUk1fUExBVEZPUk1fREVWSUNFX05BTUVfTEVOKTsKLSAgICBp bmZvLT5mdWxsbmFtZVtEUk1fUExBVEZPUk1fREVWSUNFX05BTUVfTEVOIC0gMV0gPSAnXDAnOwor ICAgIHN0cm5jcHkoZnVsbG5hbWUsIGZvbywgRFJNX1BMQVRGT1JNX0RFVklDRV9OQU1FX0xFTik7 CisgICAgZnVsbG5hbWVbRFJNX1BMQVRGT1JNX0RFVklDRV9OQU1FX0xFTiAtIDFdID0gJ1wwJzsK ICAgICBmcmVlKG5hbWUpOwogCiAgICAgcmV0dXJuIDA7CiAjZWxzZQotI3dhcm5pbmcgIk1pc3Np bmcgaW1wbGVtZW50YXRpb24gb2YgZHJtUGFyc2VQbGF0Zm9ybUJ1c0luZm8iCisjd2FybmluZyAi TWlzc2luZyBpbXBsZW1lbnRhdGlvbiBvZiBkcm1QYXJzZU9GQnVzSW5mbyIKICAgICByZXR1cm4g LUVJTlZBTDsKICNlbmRpZgogfQogCi1zdGF0aWMgaW50IGRybVBhcnNlUGxhdGZvcm1EZXZpY2VJ bmZvKGludCBtYWosIGludCBtaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRybVBsYXRmb3JtRGV2aWNlSW5mb1B0ciBpbmZvKQorc3RhdGljIGludCBkcm1QYXJzZU9G RGV2aWNlSW5mbyhpbnQgbWFqLCBpbnQgbWluLCBjaGFyICoqKmNvbXBhdGlibGUpCiB7CiAjaWZk ZWYgX19saW51eF9fCiAgICAgY2hhciBwYXRoW1BBVEhfTUFYICsgMV0sICp2YWx1ZSwgKmZvbzsK QEAgLTM1NjIsOCArMzU2MSw4IEBAIHN0YXRpYyBpbnQgZHJtUGFyc2VQbGF0Zm9ybURldmljZUlu Zm8oaW50IG1haiwgaW50IG1pbiwKICAgICAgICAgY291bnQgPSAxOwogICAgIH0KIAotICAgIGlu Zm8tPmNvbXBhdGlibGUgPSBjYWxsb2MoY291bnQgKyAxLCBzaXplb2YoKmluZm8tPmNvbXBhdGli bGUpKTsKLSAgICBpZiAoIWluZm8tPmNvbXBhdGlibGUpCisgICAgKmNvbXBhdGlibGUgPSBjYWxs b2MoY291bnQgKyAxLCBzaXplb2YoY2hhciAqKSk7CisgICAgaWYgKCEqY29tcGF0aWJsZSkKICAg ICAgICAgcmV0dXJuIC1FTk9NRU07CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykg ewpAQCAtMzU4NywxOSArMzU4NiwxOSBAQCBzdGF0aWMgaW50IGRybVBhcnNlUGxhdGZvcm1EZXZp Y2VJbmZvKGludCBtYWosIGludCBtaW4sCiAgICAgICAgICAgICBmcmVlKHZhbHVlKTsKICAgICAg ICAgfQogCi0gICAgICAgIGluZm8tPmNvbXBhdGlibGVbaV0gPSBmb287CisgICAgICAgICpjb21w YXRpYmxlW2ldID0gZm9vOwogICAgIH0KIAogICAgIHJldHVybiAwOwogCiBmcmVlOgogICAgIHdo aWxlIChpLS0pCi0gICAgICAgIGZyZWUoaW5mby0+Y29tcGF0aWJsZVtpXSk7CisgICAgICAgIGZy ZWUoKmNvbXBhdGlibGVbaV0pOwogCi0gICAgZnJlZShpbmZvLT5jb21wYXRpYmxlKTsKKyAgICBm cmVlKCpjb21wYXRpYmxlKTsKICAgICByZXR1cm4gZXJyOwogI2Vsc2UKLSN3YXJuaW5nICJNaXNz aW5nIGltcGxlbWVudGF0aW9uIG9mIGRybVBhcnNlUGxhdGZvcm1EZXZpY2VJbmZvIgorI3dhcm5p bmcgIk1pc3NpbmcgaW1wbGVtZW50YXRpb24gb2YgZHJtUGFyc2VPRkRldmljZUluZm8iCiAgICAg cmV0dXJuIC1FSU5WQUw7CiAjZW5kaWYKIH0KQEAgLTM2MjIsNyArMzYyMSw3IEBAIHN0YXRpYyBp bnQgZHJtUHJvY2Vzc1BsYXRmb3JtRGV2aWNlKGRybURldmljZVB0ciAqZGV2aWNlLAogCiAgICAg ZGV2LT5idXNpbmZvLnBsYXRmb3JtID0gKGRybVBsYXRmb3JtQnVzSW5mb1B0cilwdHI7CiAKLSAg ICByZXQgPSBkcm1QYXJzZVBsYXRmb3JtQnVzSW5mbyhtYWosIG1pbiwgZGV2LT5idXNpbmZvLnBs YXRmb3JtKTsKKyAgICByZXQgPSBkcm1QYXJzZU9GQnVzSW5mbyhtYWosIG1pbiwgZGV2LT5idXNp bmZvLnBsYXRmb3JtLT5mdWxsbmFtZSk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIGdvdG8g ZnJlZV9kZXZpY2U7CiAKQEAgLTM2MzAsNyArMzYyOSw3IEBAIHN0YXRpYyBpbnQgZHJtUHJvY2Vz c1BsYXRmb3JtRGV2aWNlKGRybURldmljZVB0ciAqZGV2aWNlLAogICAgICAgICBwdHIgKz0gc2l6 ZW9mKGRybVBsYXRmb3JtQnVzSW5mbyk7CiAgICAgICAgIGRldi0+ZGV2aWNlaW5mby5wbGF0Zm9y bSA9IChkcm1QbGF0Zm9ybURldmljZUluZm9QdHIpcHRyOwogCi0gICAgICAgIHJldCA9IGRybVBh cnNlUGxhdGZvcm1EZXZpY2VJbmZvKG1haiwgbWluLCBkZXYtPmRldmljZWluZm8ucGxhdGZvcm0p OworICAgICAgICByZXQgPSBkcm1QYXJzZU9GRGV2aWNlSW5mbyhtYWosIG1pbiwgJmRldi0+ZGV2 aWNlaW5mby5wbGF0Zm9ybS0+Y29tcGF0aWJsZSk7CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAg ICAgICAgICAgZ290byBmcmVlX2RldmljZTsKICAgICB9CkBAIC0zNjQ0LDczICszNjQzLDYgQEAg ZnJlZV9kZXZpY2U6CiAgICAgcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBkcm1QYXJzZUhv c3QxeEJ1c0luZm8oaW50IG1haiwgaW50IG1pbiwgZHJtSG9zdDF4QnVzSW5mb1B0ciBpbmZvKQot ewotI2lmZGVmIF9fbGludXhfXwotICAgIGNoYXIgcGF0aFtQQVRIX01BWCArIDFdLCAqbmFtZTsK LQotICAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9zeXMvZGV2L2NoYXIvJWQ6JWQv ZGV2aWNlIiwgbWFqLCBtaW4pOwotCi0gICAgbmFtZSA9IHN5c2ZzX3VldmVudF9nZXQocGF0aCwg Ik9GX0ZVTExOQU1FIik7Ci0gICAgaWYgKCFuYW1lKQotICAgICAgICByZXR1cm4gLUVOT0VOVDsK LQotICAgIHN0cm5jcHkoaW5mby0+ZnVsbG5hbWUsIG5hbWUsIERSTV9IT1NUMVhfREVWSUNFX05B TUVfTEVOKTsKLSAgICBpbmZvLT5mdWxsbmFtZVtEUk1fSE9TVDFYX0RFVklDRV9OQU1FX0xFTiAt IDFdID0gJ1wwJzsKLSAgICBmcmVlKG5hbWUpOwotCi0gICAgcmV0dXJuIDA7Ci0jZWxzZQotI3dh cm5pbmcgIk1pc3NpbmcgaW1wbGVtZW50YXRpb24gb2YgZHJtUGFyc2VIb3N0MXhCdXNJbmZvIgot ICAgIHJldHVybiAtRUlOVkFMOwotI2VuZGlmCi19Ci0KLXN0YXRpYyBpbnQgZHJtUGFyc2VIb3N0 MXhEZXZpY2VJbmZvKGludCBtYWosIGludCBtaW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkcm1Ib3N0MXhEZXZpY2VJbmZvUHRyIGluZm8pCi17Ci0jaWZkZWYgX19saW51 eF9fCi0gICAgY2hhciBwYXRoW1BBVEhfTUFYICsgMV0sICp2YWx1ZTsKLSAgICB1bnNpZ25lZCBp bnQgY291bnQsIGk7Ci0gICAgaW50IGVycjsKLQotICAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihw YXRoKSwgIi9zeXMvZGV2L2NoYXIvJWQ6JWQvZGV2aWNlIiwgbWFqLCBtaW4pOwotCi0gICAgdmFs dWUgPSBzeXNmc191ZXZlbnRfZ2V0KHBhdGgsICJPRl9DT01QQVRJQkxFX04iKTsKLSAgICBpZiAo IXZhbHVlKQotICAgICAgICByZXR1cm4gLUVOT0VOVDsKLQotICAgIHNzY2FuZih2YWx1ZSwgIiV1 IiwgJmNvdW50KTsKLSAgICBmcmVlKHZhbHVlKTsKLQotICAgIGluZm8tPmNvbXBhdGlibGUgPSBj YWxsb2MoY291bnQgKyAxLCBzaXplb2YoKmluZm8tPmNvbXBhdGlibGUpKTsKLSAgICBpZiAoIWlu Zm8tPmNvbXBhdGlibGUpCi0gICAgICAgIHJldHVybiAtRU5PTUVNOwotCi0gICAgZm9yIChpID0g MDsgaSA8IGNvdW50OyBpKyspIHsKLSAgICAgICAgdmFsdWUgPSBzeXNmc191ZXZlbnRfZ2V0KHBh dGgsICJPRl9DT01QQVRJQkxFXyV1IiwgaSk7Ci0gICAgICAgIGlmICghdmFsdWUpIHsKLSAgICAg ICAgICAgIGVyciA9IC1FTk9FTlQ7Ci0gICAgICAgICAgICBnb3RvIGZyZWU7Ci0gICAgICAgIH0K LQotICAgICAgICBpbmZvLT5jb21wYXRpYmxlW2ldID0gdmFsdWU7Ci0gICAgfQotCi0gICAgcmV0 dXJuIDA7Ci0KLWZyZWU6Ci0gICAgd2hpbGUgKGktLSkKLSAgICAgICAgZnJlZShpbmZvLT5jb21w YXRpYmxlW2ldKTsKLQotICAgIGZyZWUoaW5mby0+Y29tcGF0aWJsZSk7Ci0gICAgcmV0dXJuIGVy cjsKLSNlbHNlCi0jd2FybmluZyAiTWlzc2luZyBpbXBsZW1lbnRhdGlvbiBvZiBkcm1QYXJzZUhv c3QxeERldmljZUluZm8iCi0gICAgcmV0dXJuIC1FSU5WQUw7Ci0jZW5kaWYKLX0KLQogc3RhdGlj IGludCBkcm1Qcm9jZXNzSG9zdDF4RGV2aWNlKGRybURldmljZVB0ciAqZGV2aWNlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5vZGUsIGludCBub2RlX3R5 cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1haiwgaW50IG1pbiwg Ym9vbCBmZXRjaF9kZXZpY2VpbmZvLApAQCAtMzcyOSw3ICszNjYxLDcgQEAgc3RhdGljIGludCBk cm1Qcm9jZXNzSG9zdDF4RGV2aWNlKGRybURldmljZVB0ciAqZGV2aWNlLAogCiAgICAgZGV2LT5i dXNpbmZvLmhvc3QxeCA9IChkcm1Ib3N0MXhCdXNJbmZvUHRyKXB0cjsKIAotICAgIHJldCA9IGRy bVBhcnNlSG9zdDF4QnVzSW5mbyhtYWosIG1pbiwgZGV2LT5idXNpbmZvLmhvc3QxeCk7CisgICAg cmV0ID0gZHJtUGFyc2VPRkJ1c0luZm8obWFqLCBtaW4sIGRldi0+YnVzaW5mby5ob3N0MXgtPmZ1 bGxuYW1lKTsKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgZ290byBmcmVlX2RldmljZTsKIApA QCAtMzczNyw3ICszNjY5LDcgQEAgc3RhdGljIGludCBkcm1Qcm9jZXNzSG9zdDF4RGV2aWNlKGRy bURldmljZVB0ciAqZGV2aWNlLAogICAgICAgICBwdHIgKz0gc2l6ZW9mKGRybUhvc3QxeEJ1c0lu Zm8pOwogICAgICAgICBkZXYtPmRldmljZWluZm8uaG9zdDF4ID0gKGRybUhvc3QxeERldmljZUlu Zm9QdHIpcHRyOwogCi0gICAgICAgIHJldCA9IGRybVBhcnNlSG9zdDF4RGV2aWNlSW5mbyhtYWos IG1pbiwgZGV2LT5kZXZpY2VpbmZvLmhvc3QxeCk7CisgICAgICAgIHJldCA9IGRybVBhcnNlT0ZE ZXZpY2VJbmZvKG1haiwgbWluLCAmZGV2LT5kZXZpY2VpbmZvLmhvc3QxeC0+Y29tcGF0aWJsZSk7 CiAgICAgICAgIGlmIChyZXQgPCAwKQogICAgICAgICAgICAgZ290byBmcmVlX2RldmljZTsKICAg ICB9Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=