From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH i-g-t 1/3] lib/igt_kms: Add try_prop_enum and set_prop_enum for mode objects, v2. Date: Wed, 15 Aug 2018 10:23:25 +0200 Message-ID: <20180815082327.14450-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: igt-dev@lists.freedesktop.org Cc: Lowry Li , Liviu Dudau , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBhZGRzIHRoZSBwb3NzaWJpbGl0eSB0byB0ZXN0IGFyYml0cmFyeSBlbnVtZXJhdGlvbnMg aW4gSUdUIHdpdGhvdXQKaGF2aW5nIHRvIGRlZmluZSBtYXBwaW5ncyBmb3IgZWFjaCBhbmQgZXZl cnkgb25lLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBBZGQgY29tbWl0IGRlc2NyaXB0aW9uLgotIEFk ZCB0cnlfcHJvcF9lbnVtLCB0byBhbGxvdyBoYW5kbGluZyB1bmtub3duIGVudW1lcmF0aW9ucy4K ClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+Ci0tLQogbGliL2lndF9rbXMuYyB8IDkwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF9rbXMuaCB8IDMxICsrKysr KysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCmluZGV4 IGM5ZTAwYzNiZDZhNy4uZTUyNzIxMDNlMjQzIDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5jCisr KyBiL2xpYi9pZ3Rfa21zLmMKQEAgLTI4OTEsNiArMjg5MSw0OCBAQCB1aW50NjRfdCBpZ3RfcGxh bmVfZ2V0X3Byb3AoaWd0X3BsYW5lX3QgKnBsYW5lLCBlbnVtIGlndF9hdG9taWNfcGxhbmVfcHJv cGVydGllcwogCQkJCQlwbGFuZS0+ZHJtX3BsYW5lLT5wbGFuZV9pZCwgcGxhbmUtPnByb3BzW3By b3BdKTsKIH0KIAorc3RhdGljIGJvb2wgaWd0X21vZGVfb2JqZWN0X2dldF9wcm9wX2VudW1fdmFs dWUoaW50IGRybV9mZCwgdWludDMyX3QgaWQsIGNvbnN0IGNoYXIgKnN0ciwgdWludDY0X3QgKnZh bCkKK3sKKwlkcm1Nb2RlUHJvcGVydHlQdHIgcHJvcCA9IGRybU1vZGVHZXRQcm9wZXJ0eShkcm1f ZmQsIGlkKTsKKwlpbnQgaTsKKworCWlndF9hc3NlcnQoaWQpOworCWlndF9hc3NlcnQocHJvcCk7 CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJvcC0+Y291bnRfZW51bXM7IGkrKykKKwkJaWYgKCFzdHJj bXAoc3RyLCBwcm9wLT5lbnVtc1tpXS5uYW1lKSkgeworCQkJKnZhbCA9IHByb3AtPmVudW1zW2ld LnZhbHVlOworCQkJZHJtTW9kZUZyZWVQcm9wZXJ0eShwcm9wKTsKKwkJCXJldHVybiB0cnVlOwor CQl9CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgaWd0X3BsYW5lX3RyeV9wcm9wX2VudW0o aWd0X3BsYW5lX3QgKnBsYW5lLAorCQkJICAgICBlbnVtIGlndF9hdG9taWNfcGxhbmVfcHJvcGVy dGllcyBwcm9wLAorCQkJICAgICBjb25zdCBjaGFyICp2YWwpCit7CisJaWd0X2Rpc3BsYXlfdCAq ZGlzcGxheSA9IHBsYW5lLT5waXBlLT5kaXNwbGF5OworCXVpbnQ2NF90IHV2YWw7CisKKwlpZ3Rf YXNzZXJ0KHBsYW5lLT5wcm9wc1twcm9wXSk7CisKKwlpZiAoIWlndF9tb2RlX29iamVjdF9nZXRf cHJvcF9lbnVtX3ZhbHVlKGRpc3BsYXktPmRybV9mZCwKKwkJCQkJCSBwbGFuZS0+cHJvcHNbcHJv cF0sIHZhbCwgJnV2YWwpKQorCQlyZXR1cm4gZmFsc2U7CisKKwlpZ3RfcGxhbmVfc2V0X3Byb3Bf dmFsdWUocGxhbmUsIHByb3AsIHV2YWwpOworCXJldHVybiB0cnVlOworfQorCit2b2lkIGlndF9w bGFuZV9zZXRfcHJvcF9lbnVtKGlndF9wbGFuZV90ICpwbGFuZSwKKwkJCSAgICAgZW51bSBpZ3Rf YXRvbWljX3BsYW5lX3Byb3BlcnRpZXMgcHJvcCwKKwkJCSAgICAgY29uc3QgY2hhciAqdmFsKQor eworCWlndF9hc3NlcnQoaWd0X3BsYW5lX3RyeV9wcm9wX2VudW0ocGxhbmUsIHByb3AsIHZhbCkp OworfQorCiAvKioKICAqIGlndF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYjoKICAqIEBwbGFuZTog cGxhbmUgdG8gc2V0IHByb3BlcnR5IG9uLgpAQCAtMjk0Miw2ICsyOTg0LDMwIEBAIHVpbnQ2NF90 IGlndF9vdXRwdXRfZ2V0X3Byb3AoaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2F0b21p Y19jb25uZWN0b3JfcHJvCiAJCQkJCW91dHB1dC0+aWQsIG91dHB1dC0+cHJvcHNbcHJvcF0pOwog fQogCitib29sIGlndF9vdXRwdXRfdHJ5X3Byb3BfZW51bShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwK KwkJCSAgICAgIGVudW0gaWd0X2F0b21pY19jb25uZWN0b3JfcHJvcGVydGllcyBwcm9wLAorCQkJ ICAgICAgY29uc3QgY2hhciAqdmFsKQoreworCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSBvdXRw dXQtPmRpc3BsYXk7CisJdWludDY0X3QgdXZhbDsKKworCWlndF9hc3NlcnQob3V0cHV0LT5wcm9w c1twcm9wXSk7CisKKwlpZiAoIWlndF9tb2RlX29iamVjdF9nZXRfcHJvcF9lbnVtX3ZhbHVlKGRp c3BsYXktPmRybV9mZCwKKwkJCQkJCSBvdXRwdXQtPnByb3BzW3Byb3BdLCB2YWwsICZ1dmFsKSkK KwkJcmV0dXJuIGZhbHNlOworCisJaWd0X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQsIHBy b3AsIHV2YWwpOworCXJldHVybiB0cnVlOworfQorCit2b2lkIGlndF9vdXRwdXRfc2V0X3Byb3Bf ZW51bShpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKKwkJCSAgICAgIGVudW0gaWd0X2F0b21pY19jb25u ZWN0b3JfcHJvcGVydGllcyBwcm9wLAorCQkJICAgICAgY29uc3QgY2hhciAqdmFsKQoreworCWln dF9hc3NlcnQoaWd0X291dHB1dF90cnlfcHJvcF9lbnVtKG91dHB1dCwgcHJvcCwgdmFsKSk7Cit9 CisKIC8qKgogICogaWd0X291dHB1dF9yZXBsYWNlX3Byb3BfYmxvYjoKICAqIEBvdXRwdXQ6IG91 dHB1dCB0byBzZXQgcHJvcGVydHkgb24uCkBAIC0yOTkzLDYgKzMwNTksMzAgQEAgdWludDY0X3Qg aWd0X3BpcGVfb2JqX2dldF9wcm9wKGlndF9waXBlX3QgKnBpcGUsIGVudW0gaWd0X2F0b21pY19j cnRjX3Byb3BlcnRpZXMKIAkJCQkJcGlwZS0+Y3J0Y19pZCwgcGlwZS0+cHJvcHNbcHJvcF0pOwog fQogCitib29sIGlndF9waXBlX29ial90cnlfcHJvcF9lbnVtKGlndF9waXBlX3QgKnBpcGVfb2Jq LAorCQkJCWVudW0gaWd0X2F0b21pY19jcnRjX3Byb3BlcnRpZXMgcHJvcCwKKwkJCQljb25zdCBj aGFyICp2YWwpCit7CisJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9IHBpcGVfb2JqLT5kaXNwbGF5 OworCXVpbnQ2NF90IHV2YWw7CisKKwlpZ3RfYXNzZXJ0KHBpcGVfb2JqLT5wcm9wc1twcm9wXSk7 CisKKwlpZiAoIWlndF9tb2RlX29iamVjdF9nZXRfcHJvcF9lbnVtX3ZhbHVlKGRpc3BsYXktPmRy bV9mZCwKKwkJCQkJCSBwaXBlX29iai0+cHJvcHNbcHJvcF0sIHZhbCwgJnV2YWwpKQorCQlyZXR1 cm4gZmFsc2U7CisKKwlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfdmFsdWUocGlwZV9vYmosIHByb3As IHV2YWwpOworCXJldHVybiB0cnVlOworfQorCit2b2lkIGlndF9waXBlX29ial9zZXRfcHJvcF9l bnVtKGlndF9waXBlX3QgKnBpcGVfb2JqLAorCQkJCWVudW0gaWd0X2F0b21pY19jcnRjX3Byb3Bl cnRpZXMgcHJvcCwKKwkJCQljb25zdCBjaGFyICp2YWwpCit7CisJaWd0X2Fzc2VydChpZ3RfcGlw ZV9vYmpfdHJ5X3Byb3BfZW51bShwaXBlX29iaiwgcHJvcCwgdmFsKSk7Cit9CisKIC8qKgogICog aWd0X3BpcGVfb2JqX3JlcGxhY2VfcHJvcF9ibG9iOgogICogQHBpcGU6IHBpcGUgdG8gc2V0IHBy b3BlcnR5IG9uLgpkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKaW5k ZXggNDIyMmEzNDE4MTAzLi4zYTEyZjI3ODJlZWQgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmgK KysrIGIvbGliL2lndF9rbXMuaApAQCAtNTc0LDYgKzU3NCwxNCBAQCB1aW50NjRfdCBpZ3RfcGxh bmVfZ2V0X3Byb3AoaWd0X3BsYW5lX3QgKnBsYW5lLCBlbnVtIGlndF9hdG9taWNfcGxhbmVfcHJv cGVydGllcwogCQlpZ3RfcGxhbmVfc2V0X3Byb3BfY2hhbmdlZChwbGFuZSwgcHJvcCk7IFwKIAl9 IHdoaWxlICgwKQogCitleHRlcm4gYm9vbCBpZ3RfcGxhbmVfdHJ5X3Byb3BfZW51bShpZ3RfcGxh bmVfdCAqcGxhbmUsCisJCQkJICAgIGVudW0gaWd0X2F0b21pY19wbGFuZV9wcm9wZXJ0aWVzIHBy b3AsCisJCQkJICAgIGNvbnN0IGNoYXIgKnZhbCk7CisKK2V4dGVybiB2b2lkIGlndF9wbGFuZV9z ZXRfcHJvcF9lbnVtKGlndF9wbGFuZV90ICpwbGFuZSwKKwkJCQkgICAgZW51bSBpZ3RfYXRvbWlj X3BsYW5lX3Byb3BlcnRpZXMgcHJvcCwKKwkJCQkgICAgY29uc3QgY2hhciAqdmFsKTsKKwogZXh0 ZXJuIHZvaWQgaWd0X3BsYW5lX3JlcGxhY2VfcHJvcF9ibG9iKGlndF9wbGFuZV90ICpwbGFuZSwK IAkJCQkJZW51bSBpZ3RfYXRvbWljX3BsYW5lX3Byb3BlcnRpZXMgcHJvcCwKIAkJCQkJY29uc3Qg dm9pZCAqcHRyLCBzaXplX3QgbGVuZ3RoKTsKQEAgLTYwOSwxMCArNjE3LDE3IEBAIHVpbnQ2NF90 IGlndF9vdXRwdXRfZ2V0X3Byb3AoaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0gaWd0X2F0b21p Y19jb25uZWN0b3JfcHJvCiAJCWlndF9vdXRwdXRfc2V0X3Byb3BfY2hhbmdlZChvdXRwdXQsIHBy b3ApOyBcCiAJfSB3aGlsZSAoMCkKIAorZXh0ZXJuIGJvb2wgaWd0X291dHB1dF90cnlfcHJvcF9l bnVtKGlndF9vdXRwdXRfdCAqb3V0cHV0LAorCQkJCSAgICAgZW51bSBpZ3RfYXRvbWljX2Nvbm5l Y3Rvcl9wcm9wZXJ0aWVzIHByb3AsCisJCQkJICAgICBjb25zdCBjaGFyICp2YWwpOworCitleHRl cm4gdm9pZCBpZ3Rfb3V0cHV0X3NldF9wcm9wX2VudW0oaWd0X291dHB1dF90ICpvdXRwdXQsCisJ CQkJICAgICBlbnVtIGlndF9hdG9taWNfY29ubmVjdG9yX3Byb3BlcnRpZXMgcHJvcCwKKwkJCQkg ICAgIGNvbnN0IGNoYXIgKnZhbCk7CisKIGV4dGVybiB2b2lkIGlndF9vdXRwdXRfcmVwbGFjZV9w cm9wX2Jsb2IoaWd0X291dHB1dF90ICpvdXRwdXQsCiAJCQkJCSBlbnVtIGlndF9hdG9taWNfY29u bmVjdG9yX3Byb3BlcnRpZXMgcHJvcCwKIAkJCQkJIGNvbnN0IHZvaWQgKnB0ciwgc2l6ZV90IGxl bmd0aCk7Ci0KIC8qKgogICogaWd0X3BpcGVfb2JqX2hhc19wcm9wOgogICogQHBpcGU6IFBpcGUg dG8gY2hlY2suCkBAIC02OTMsNiArNzA4LDIwIEBAIGlndF9waXBlX2hhc19wcm9wKGlndF9kaXNw bGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLAogI2RlZmluZSBpZ3RfcGlwZV9zZXRfcHJv cF92YWx1ZShkaXNwbGF5LCBwaXBlLCBwcm9wLCB2YWx1ZSkgXAogCWlndF9waXBlX29ial9zZXRf cHJvcF92YWx1ZSgmKGRpc3BsYXkpLT5waXBlc1socGlwZSldLCBwcm9wLCB2YWx1ZSkKIAorZXh0 ZXJuIGJvb2wgaWd0X3BpcGVfb2JqX3RyeV9wcm9wX2VudW0oaWd0X3BpcGVfdCAqcGlwZSwKKwkJ CQkgICAgICAgZW51bSBpZ3RfYXRvbWljX2NydGNfcHJvcGVydGllcyBwcm9wLAorCQkJCSAgICAg ICBjb25zdCBjaGFyICp2YWwpOworCitleHRlcm4gdm9pZCBpZ3RfcGlwZV9vYmpfc2V0X3Byb3Bf ZW51bShpZ3RfcGlwZV90ICpwaXBlLAorCQkJCSAgICAgICBlbnVtIGlndF9hdG9taWNfY3J0Y19w cm9wZXJ0aWVzIHByb3AsCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKnZhbCk7CisKKyNkZWZpbmUg aWd0X3BpcGVfdHJ5X3Byb3BfZW51bShkaXNwbGF5LCBwaXBlLCBwcm9wLCB2YWwpIFwKKwlpZ3Rf cGlwZV9vYmpfdHJ5X3Byb3BfZW51bSgmKGRpc3BsYXkpLT5waXBlc1socGlwZSldLCBwcm9wLCB2 YWwpCisKKyNkZWZpbmUgaWd0X3BpcGVfc2V0X3Byb3BfZW51bShkaXNwbGF5LCBwaXBlLCBwcm9w LCB2YWwpIFwKKwlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfZW51bSgmKGRpc3BsYXkpLT5waXBlc1so cGlwZSldLCBwcm9wLCB2YWwpCisKIGV4dGVybiB2b2lkIGlndF9waXBlX29ial9yZXBsYWNlX3By b3BfYmxvYihpZ3RfcGlwZV90ICpwaXBlLAogCQkJCQkgICBlbnVtIGlndF9hdG9taWNfY3J0Y19w cm9wZXJ0aWVzIHByb3AsCiAJCQkJCSAgIGNvbnN0IHZvaWQgKnB0ciwgc2l6ZV90IGxlbmd0aCk7 Ci0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=