From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH i-g-t 1/2] lib/igt_kms: Add set_prop_enum for mode objects Date: Mon, 4 Jun 2018 15:49:50 +0200 Message-ID: <20180604134951.14079-1-maarten.lankhorst@linux.intel.com> References: <1527856871-3007-2-git-send-email-lowry.li@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1527856871-3007-2-git-send-email-lowry.li@arm.com> 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 , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4 LmludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2ttcy5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvaWd0X2ttcy5oIHwgMTYgKysrKysr KysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMuYwppbmRleCBjYjM4 MmM4OTNjNmMuLjlhYzdjZTczNTQyYSAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuYworKysgYi9s aWIvaWd0X2ttcy5jCkBAIC0yODkzLDYgKzI4OTMsMzcgQEAgdWludDY0X3QgaWd0X3BsYW5lX2dl dF9wcm9wKGlndF9wbGFuZV90ICpwbGFuZSwgZW51bSBpZ3RfYXRvbWljX3BsYW5lX3Byb3BlcnRp ZXMKIAkJCQkJcGxhbmUtPmRybV9wbGFuZS0+cGxhbmVfaWQsIHBsYW5lLT5wcm9wc1twcm9wXSk7 CiB9CiAKK3N0YXRpYyB1aW50NjRfdCBpZ3RfbW9kZV9vYmplY3RfZ2V0X3Byb3BfZW51bV92YWx1 ZShpbnQgZHJtX2ZkLCB1aW50MzJfdCBpZCwgY29uc3QgY2hhciAqc3RyKQoreworCWRybU1vZGVQ cm9wZXJ0eVB0ciBwcm9wID0gZHJtTW9kZUdldFByb3BlcnR5KGRybV9mZCwgaWQpOworCWludCBp OworCisJaWd0X2Fzc2VydChpZCk7CisJaWd0X2Fzc2VydChwcm9wKTsKKworCWZvciAoaSA9IDA7 IGkgPCBwcm9wLT5jb3VudF9lbnVtczsgaSsrKQorCQlpZiAoIXN0cmNtcChzdHIsIHByb3AtPmVu dW1zW2ldLm5hbWUpKSB7CisJCQl1aW50NjRfdCByZXQgPSBwcm9wLT5lbnVtc1tpXS52YWx1ZTsK KwkJCWRybU1vZGVGcmVlUHJvcGVydHkocHJvcCk7CisJCQlyZXR1cm4gcmV0OworCQl9CisKKwlp Z3RfYXNzZXJ0X2YoMCwgIkNvdWxkIG5vdCBmaW5kIHByb3BlcnR5IHZhbHVlIGZvciAlc1xuIiwg c3RyKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBpZ3RfcGxhbmVfc2V0X3Byb3BfZW51bShpZ3Rf cGxhbmVfdCAqcGxhbmUsCisJCQkgICAgIGVudW0gaWd0X2F0b21pY19wbGFuZV9wcm9wZXJ0aWVz IHByb3AsCisJCQkgICAgIGNvbnN0IGNoYXIgKnZhbCkKK3sKKwlpZ3RfZGlzcGxheV90ICpkaXNw bGF5ID0gcGxhbmUtPmRpc3BsYXk7CisJdWludDY0X3QgdXZhbCA9CisJCWlndF9tb2RlX29iamVj dF9nZXRfcHJvcF9lbnVtX3ZhbHVlKGRpc3BsYXktPmRybV9mZCwKKwkJCQkJCSAgICBwbGFuZS0+ cHJvcHNbcHJvcF0sIHZhbCk7CisKKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxhbmUsIHBy b3AsIHV2YWwpOworfQorCiAvKioKICAqIGlndF9wbGFuZV9yZXBsYWNlX3Byb3BfYmxvYjoKICAq IEBwbGFuZTogcGxhbmUgdG8gc2V0IHByb3BlcnR5IG9uLgpAQCAtMjk0NCw2ICsyOTc1LDE4IEBA IHVpbnQ2NF90IGlndF9vdXRwdXRfZ2V0X3Byb3AoaWd0X291dHB1dF90ICpvdXRwdXQsIGVudW0g aWd0X2F0b21pY19jb25uZWN0b3JfcHJvCiAJCQkJCW91dHB1dC0+aWQsIG91dHB1dC0+cHJvcHNb cHJvcF0pOwogfQogCit2b2lkIGlndF9vdXRwdXRfc2V0X3Byb3BfZW51bShpZ3Rfb3V0cHV0X3Qg Km91dHB1dCwKKwkJCSAgICAgIGVudW0gaWd0X2F0b21pY19jb25uZWN0b3JfcHJvcGVydGllcyBw cm9wLAorCQkJICAgICAgY29uc3QgY2hhciAqdmFsKQoreworCWlndF9kaXNwbGF5X3QgKmRpc3Bs YXkgPSBvdXRwdXQtPmRpc3BsYXk7CisJdWludDY0X3QgdXZhbCA9CisJCWlndF9tb2RlX29iamVj dF9nZXRfcHJvcF9lbnVtX3ZhbHVlKGRpc3BsYXktPmRybV9mZCwKKwkJCQkJCSAgICBvdXRwdXQt PnByb3BzW3Byb3BdLCB2YWwpOworCisJaWd0X291dHB1dF9zZXRfcHJvcF92YWx1ZShvdXRwdXQs IHByb3AsIHV2YWwpOworfQorCiAvKioKICAqIGlndF9vdXRwdXRfcmVwbGFjZV9wcm9wX2Jsb2I6 CiAgKiBAb3V0cHV0OiBvdXRwdXQgdG8gc2V0IHByb3BlcnR5IG9uLgpAQCAtMjk5NSw2ICszMDM4 LDE5IEBAIHVpbnQ2NF90IGlndF9waXBlX29ial9nZXRfcHJvcChpZ3RfcGlwZV90ICpwaXBlLCBl bnVtIGlndF9hdG9taWNfY3J0Y19wcm9wZXJ0aWVzCiAJCQkJCXBpcGUtPmNydGNfaWQsIHBpcGUt PnByb3BzW3Byb3BdKTsKIH0KIAordm9pZCBpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfZW51bShpZ3Rf cGlwZV90ICpwaXBlX29iaiwKKwkJCQllbnVtIGlndF9hdG9taWNfY3J0Y19wcm9wZXJ0aWVzIHBy b3AsCisJCQkJY29uc3QgY2hhciAqdmFsKQoreworCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSBw aXBlX29iai0+ZGlzcGxheTsKKwl1aW50NjRfdCB1dmFsID0KKwkJaWd0X21vZGVfb2JqZWN0X2dl dF9wcm9wX2VudW1fdmFsdWUoZGlzcGxheS0+ZHJtX2ZkLAorCQkJCQkJICAgIHBpcGVfb2JqLT5w cm9wc1twcm9wXSwgdmFsKTsKKworCWlndF9waXBlX29ial9zZXRfcHJvcF92YWx1ZShwaXBlX29i aiwgcHJvcCwgdXZhbCk7Cit9CisKKwogLyoqCiAgKiBpZ3RfcGlwZV9vYmpfcmVwbGFjZV9wcm9w X2Jsb2I6CiAgKiBAcGlwZTogcGlwZSB0byBzZXQgcHJvcGVydHkgb24uCmRpZmYgLS1naXQgYS9s aWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCA4OTkwYTZmZDZkMTIuLmI1NTg4MTg4 NWIxMSAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBAIC01 NjksNiArNTY5LDEwIEBAIHVpbnQ2NF90IGlndF9wbGFuZV9nZXRfcHJvcChpZ3RfcGxhbmVfdCAq cGxhbmUsIGVudW0gaWd0X2F0b21pY19wbGFuZV9wcm9wZXJ0aWVzCiAJCWlndF9wbGFuZV9zZXRf cHJvcF9jaGFuZ2VkKHBsYW5lLCBwcm9wKTsgXAogCX0gd2hpbGUgKDApCiAKK2V4dGVybiB2b2lk IGlndF9wbGFuZV9zZXRfcHJvcF9lbnVtKGlndF9wbGFuZV90ICpwbGFuZSwKKwkJCQkgICAgZW51 bSBpZ3RfYXRvbWljX3BsYW5lX3Byb3BlcnRpZXMgcHJvcCwKKwkJCQkgICAgY29uc3QgY2hhciAq dmFsKTsKKwogZXh0ZXJuIHZvaWQgaWd0X3BsYW5lX3JlcGxhY2VfcHJvcF9ibG9iKGlndF9wbGFu ZV90ICpwbGFuZSwKIAkJCQkJZW51bSBpZ3RfYXRvbWljX3BsYW5lX3Byb3BlcnRpZXMgcHJvcCwK IAkJCQkJY29uc3Qgdm9pZCAqcHRyLCBzaXplX3QgbGVuZ3RoKTsKQEAgLTYwNCwxMCArNjA4LDEz IEBAIHVpbnQ2NF90IGlndF9vdXRwdXRfZ2V0X3Byb3AoaWd0X291dHB1dF90ICpvdXRwdXQsIGVu dW0gaWd0X2F0b21pY19jb25uZWN0b3JfcHJvCiAJCWlndF9vdXRwdXRfc2V0X3Byb3BfY2hhbmdl ZChvdXRwdXQsIHByb3ApOyBcCiAJfSB3aGlsZSAoMCkKIAorZXh0ZXJuIHZvaWQgaWd0X291dHB1 dF9zZXRfcHJvcF9lbnVtKGlndF9vdXRwdXRfdCAqb3V0cHV0LAorCQkJCSAgICAgZW51bSBpZ3Rf YXRvbWljX2Nvbm5lY3Rvcl9wcm9wZXJ0aWVzIHByb3AsCisJCQkJICAgICBjb25zdCBjaGFyICp2 YWwpOworCiBleHRlcm4gdm9pZCBpZ3Rfb3V0cHV0X3JlcGxhY2VfcHJvcF9ibG9iKGlndF9vdXRw dXRfdCAqb3V0cHV0LAogCQkJCQkgZW51bSBpZ3RfYXRvbWljX2Nvbm5lY3Rvcl9wcm9wZXJ0aWVz IHByb3AsCiAJCQkJCSBjb25zdCB2b2lkICpwdHIsIHNpemVfdCBsZW5ndGgpOwotCiAvKioKICAq IGlndF9waXBlX29ial9oYXNfcHJvcDoKICAqIEBwaXBlOiBQaXBlIHRvIGNoZWNrLgpAQCAtNjg4 LDYgKzY5NSwxMyBAQCBpZ3RfcGlwZV9oYXNfcHJvcChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBl bnVtIHBpcGUgcGlwZSwKICNkZWZpbmUgaWd0X3BpcGVfc2V0X3Byb3BfdmFsdWUoZGlzcGxheSwg cGlwZSwgcHJvcCwgdmFsdWUpIFwKIAlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfdmFsdWUoJihkaXNw bGF5KS0+cGlwZXNbKHBpcGUpXSwgcHJvcCwgdmFsdWUpCiAKK2V4dGVybiB2b2lkIGlndF9waXBl X29ial9zZXRfcHJvcF9lbnVtKGlndF9waXBlX3QgKnBpcGUsCisJCQkJICAgICAgIGVudW0gaWd0 X2F0b21pY19jcnRjX3Byb3BlcnRpZXMgcHJvcCwKKwkJCQkgICAgICAgY29uc3QgY2hhciAqdmFs KTsKKworI2RlZmluZSBpZ3RfcGlwZV9zZXRfcHJvcF9lbnVtKGRpc3BsYXksIHBpcGUsIHByb3As IHZhbCkgXAorCWlndF9waXBlX29ial9zZXRfcHJvcF9lbnVtKCYoZGlzcGxheSktPnBpcGVzWyhw aXBlKV0sIHByb3AsIHZhbCkKKwogZXh0ZXJuIHZvaWQgaWd0X3BpcGVfb2JqX3JlcGxhY2VfcHJv cF9ibG9iKGlndF9waXBlX3QgKnBpcGUsCiAJCQkJCSAgIGVudW0gaWd0X2F0b21pY19jcnRjX3By b3BlcnRpZXMgcHJvcCwKIAkJCQkJICAgY29uc3Qgdm9pZCAqcHRyLCBzaXplX3QgbGVuZ3RoKTsK LS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==