From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH xf86-video-intel 1/2] sna: Refactor property parsing Date: Mon, 18 Feb 2019 21:50:51 +0200 Message-ID: <20190218195052.1729-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3D3B89203 for ; Mon, 18 Feb 2019 19:50:55 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkdl bmVyYWxpemUgdGhlIGNvZGUgdGhhdCBwYXJzZXMgdGhlIHBsYW5lIHByb3BlcnRpZXMgdG8gYmUg dXNlYWJsZQpmb3IgY3J0YyAob3IgYW55IGttcyBvYmplY3QpIHByb3BlcnRpZXMgYXMgd2VsbC4K CkNjOiBNYXJpbyBLbGVpbmVyIDxtYXJpby5rbGVpbmVyLmRlQGdtYWlsLmNvbT4KU2lnbmVkLW9m Zi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0t CiBzcmMvc25hL3NuYV9kaXNwbGF5LmMgfCA2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL3NuYS9zbmFfZGlzcGxheS5jIGIvc3JjL3NuYS9z bmFfZGlzcGxheS5jCmluZGV4IGZlNjdmODViNjJmMS4uOTE2Y2MzYzA0ZTA3IDEwMDY0NAotLS0g YS9zcmMvc25hL3NuYV9kaXNwbGF5LmMKKysrIGIvc3JjL3NuYS9zbmFfZGlzcGxheS5jCkBAIC0y MTUsNiArMjE1LDcgQEAgc3RydWN0IHNuYV9jcnRjIHsKIAl1aW50MzJfdCByb3RhdGlvbjsKIAlz dHJ1Y3QgcGxhbmUgewogCQl1aW50MzJfdCBpZDsKKwkJdWludDMyX3QgdHlwZTsKIAkJc3RydWN0 IHsKIAkJCXVpbnQzMl90IHByb3A7CiAJCQl1aW50MzJfdCBzdXBwb3J0ZWQ7CkBAIC0zMzkxLDMz ICszMzkyLDQwIEBAIHZvaWQgc25hX2NydGNfc2V0X3Nwcml0ZV9jb2xvcnNwYWNlKHhmODZDcnRj UHRyIGNydGMsCiAJCQkJIHAtPmNvbG9yX2VuY29kaW5nLnZhbHVlc1tjb2xvcnNwYWNlXSk7CiB9 CiAKLXN0YXRpYyBpbnQgcGxhbmVfZGV0YWlscyhzdHJ1Y3Qgc25hICpzbmEsIHN0cnVjdCBwbGFu ZSAqcCkKK3R5cGVkZWYgdm9pZCAoKnBhcnNlX3Byb3BfZnVuYykoc3RydWN0IHNuYSAqc25hLAor CQkJCXN0cnVjdCBkcm1fbW9kZV9nZXRfcHJvcGVydHkgKnByb3AsCisJCQkJdWludDY0X3QgdmFs dWUsCisJCQkJdm9pZCAqZGF0YSk7CitzdGF0aWMgdm9pZCBwYXJzZV9wcm9wcyhzdHJ1Y3Qgc25h ICpzbmEsCisJCSAgICAgICB1aW50MzJfdCBvYmpfdHlwZSwgdWludDMyX3Qgb2JqX2lkLAorCQkg ICAgICAgcGFyc2VfcHJvcF9mdW5jIHBhcnNlX3Byb3AsCisJCSAgICAgICB2b2lkICpkYXRhKQog ewogI2RlZmluZSBOX1NUQUNLX1BST1BTIDMyIC8qIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyICov CiAJc3RydWN0IGxvY2FsX21vZGVfb2JqX2dldF9wcm9wZXJ0aWVzIGFyZzsKIAl1aW50NjRfdCBz dGFja1tOX1NUQUNLX1BST1BTICsgTl9TVEFDS19QUk9QUy8yXTsKIAl1aW50NjRfdCAqdmFsdWVz ID0gc3RhY2s7CiAJdWludDMyX3QgKnByb3BzID0gKHVpbnQzMl90ICopKHZhbHVlcyArIE5fU1RB Q0tfUFJPUFMpOwotCWludCBpLCB0eXBlID0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKKwlpbnQg aTsKIAogCW1lbXNldCgmYXJnLCAwLCBzaXplb2Yoc3RydWN0IGxvY2FsX21vZGVfb2JqX2dldF9w cm9wZXJ0aWVzKSk7Ci0JYXJnLm9ial9pZCA9IHAtPmlkOwotCWFyZy5vYmpfdHlwZSA9IExPQ0FM X01PREVfT0JKRUNUX1BMQU5FOworCWFyZy5vYmpfaWQgPSBvYmpfaWQ7CisJYXJnLm9ial90eXBl ID0gb2JqX3R5cGU7CiAKIAlhcmcucHJvcHNfcHRyID0gKHVpbnRwdHJfdClwcm9wczsKIAlhcmcu cHJvcF92YWx1ZXNfcHRyID0gKHVpbnRwdHJfdCl2YWx1ZXM7CiAJYXJnLmNvdW50X3Byb3BzID0g Tl9TVEFDS19QUk9QUzsKIAogCWlmIChkcm1Jb2N0bChzbmEtPmtnZW0uZmQsIExPQ0FMX0lPQ1RM X01PREVfT0JKX0dFVFBST1BFUlRJRVMsICZhcmcpKQotCQlyZXR1cm4gLTE7CisJCXJldHVybjsK IAogCURCRygoIiVzOiBvYmplY3QgJWQgKHR5cGUgJXgpIGhhcyAlZCBwcm9wc1xuIiwgX19GVU5D VElPTl9fLAotCSAgICAgcC0+aWQsIExPQ0FMX01PREVfT0JKRUNUX1BMQU5FLCBhcmcuY291bnRf cHJvcHMpKTsKKwkgICAgIG9ial9pZCwgb2JqX3R5cGUsIGFyZy5jb3VudF9wcm9wcykpOwogCiAJ aWYgKGFyZy5jb3VudF9wcm9wcyA+IE5fU1RBQ0tfUFJPUFMpIHsKIAkJdmFsdWVzID0gbWFsbG9j KDIqc2l6ZW9mKHVpbnQ2NF90KSphcmcuY291bnRfcHJvcHMpOwogCQlpZiAodmFsdWVzID09IE5V TEwpCi0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm47CiAKIAkJcHJvcHMgPSAodWludDMyX3QgKiko dmFsdWVzICsgYXJnLmNvdW50X3Byb3BzKTsKIApAQCAtMzQ0NCwyNSArMzQ1Miw0NiBAQCBzdGF0 aWMgaW50IHBsYW5lX2RldGFpbHMoc3RydWN0IHNuYSAqc25hLCBzdHJ1Y3QgcGxhbmUgKnApCiAJ CURCRygoIiVzOiBwcm9wWyVkXSAuaWQ9JWxkLCAubmFtZT0lcywgLmZsYWdzPSV4LCAudmFsdWU9 JWxkXG4iLCBfX0ZVTkNUSU9OX18sIGksCiAJCSAgICAgKGxvbmcpcHJvcHNbaV0sIHByb3AubmFt ZSwgKHVuc2lnbmVkKXByb3AuZmxhZ3MsIChsb25nKXZhbHVlc1tpXSkpOwogCi0JCWlmIChzdHJj bXAocHJvcC5uYW1lLCAidHlwZSIpID09IDApIHsKLQkJCXR5cGUgPSB2YWx1ZXNbaV07Ci0JCX0g ZWxzZSBpZiAocHJvcF9pc19yb3RhdGlvbigmcHJvcCkpIHsKLQkJCXBhcnNlX3JvdGF0aW9uX3By b3Aoc25hLCBwLCAmcHJvcCwgdmFsdWVzW2ldKTsKLQkJfSBlbHNlIGlmIChwcm9wX2lzX2NvbG9y X2VuY29kaW5nKCZwcm9wKSkgewotCQkJcGFyc2VfY29sb3JfZW5jb2RpbmdfcHJvcChzbmEsIHAs ICZwcm9wLCB2YWx1ZXNbaV0pOwotCQl9CisJCXBhcnNlX3Byb3Aoc25hLCAmcHJvcCwgdmFsdWVz W2ldLCBkYXRhKTsKIAl9CiAKKwlpZiAodmFsdWVzICE9IHN0YWNrKQorCQlmcmVlKHZhbHVlcyk7 CisKKyN1bmRlZiBOX1NUQUNLX1BST1BTCit9CisKK3N0YXRpYyBib29sIHByb3BfaXNfdHlwZShj b25zdCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3Byb3BlcnR5ICpwcm9wKQoreworCXJldHVybiBwcm9w X2hhc190eXBlX2FuZF9uYW1lKHByb3AsIDEsICJ0eXBlIik7Cit9CisKK3N0YXRpYyB2b2lkIHBs YW5lX3BhcnNlX3Byb3Aoc3RydWN0IHNuYSAqc25hLAorCQkJICAgICBzdHJ1Y3QgZHJtX21vZGVf Z2V0X3Byb3BlcnR5ICpwcm9wLAorCQkJICAgICB1aW50NjRfdCB2YWx1ZSwgdm9pZCAqZGF0YSkK K3sKKwlzdHJ1Y3QgcGxhbmUgKnAgPSBkYXRhOworCisJaWYgKHByb3BfaXNfdHlwZShwcm9wKSkK KwkJcC0+dHlwZSA9IHZhbHVlOworCWVsc2UgaWYgKHByb3BfaXNfcm90YXRpb24ocHJvcCkpCisJ CXBhcnNlX3JvdGF0aW9uX3Byb3Aoc25hLCBwLCBwcm9wLCB2YWx1ZSk7CisJZWxzZSBpZiAocHJv cF9pc19jb2xvcl9lbmNvZGluZyhwcm9wKSkKKwkJcGFyc2VfY29sb3JfZW5jb2RpbmdfcHJvcChz bmEsIHAsIHByb3AsIHZhbHVlKTsKK30KKworc3RhdGljIGludCBwbGFuZV9kZXRhaWxzKHN0cnVj dCBzbmEgKnNuYSwgc3RydWN0IHBsYW5lICpwKQoreworCXBhcnNlX3Byb3BzKHNuYSwgTE9DQUxf TU9ERV9PQkpFQ1RfUExBTkUsIHAtPmlkLAorCQkgICAgcGxhbmVfcGFyc2VfcHJvcCwgcCk7CisK IAlwLT5yb3RhdGlvbi5zdXBwb3J0ZWQgJj0gREJHX05BVElWRV9ST1RBVElPTjsKIAlpZiAoIXhm ODZSZXR1cm5PcHRWYWxCb29sKHNuYS0+T3B0aW9ucywgT1BUSU9OX1JPVEFUSU9OLCBUUlVFKSkK IAkJcC0+cm90YXRpb24uc3VwcG9ydGVkID0gUlJfUm90YXRlXzA7CiAKLQlpZiAodmFsdWVzICE9 IHN0YWNrKQotCQlmcmVlKHZhbHVlcyk7CisJREJHKCgiJXM6IHBsYW5lPSVkIHR5cGU9JWRcbiIs IF9fRlVOQ1RJT05fXywgcC0+aWQsIHAtPnR5cGUpKTsKIAotCURCRygoIiVzOiBwbGFuZT0lZCB0 eXBlPSVkXG4iLCBfX0ZVTkNUSU9OX18sIHAtPmlkLCB0eXBlKSk7Ci0JcmV0dXJuIHR5cGU7Ci0j dW5kZWYgTl9TVEFDS19QUk9QUworCXJldHVybiBwLT50eXBlOwogfQogCiBzdGF0aWMgdm9pZCBh ZGRfc3ByaXRlX3BsYW5lKHN0cnVjdCBzbmFfY3J0YyAqY3J0YywKLS0gCjIuMTkuMgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4