From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] drm: Move property validation to a helper. Date: Wed, 7 Sep 2016 10:58:17 +0200 Message-ID: <0ebc25a7-3441-c4ff-49b6-ffed95244bdd@linux.intel.com> References: <1473062773-5045-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Intel Graphics Development , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org UHJvcGVydHkgbGlmZXRpbWVzIGFyZSBlcXVhbCB0byB0aGUgZGV2aWNlIGxpZmV0aW1lLCBzbyB0 aGUgc2VwYXJhdGUKZHJtX3Byb3BlcnR5X2ZpbmQgaXMgbm90IG5lZWRlZC4gVGhlIHBvaW50ZXIg Y2FuIGJlIHJldHJpZXZlZCBmcm9tCnRoZSBwcm9wZXJ0aWVzIG1lbWJlciwgd2hpY2ggc2F2ZXMg dXMgc29tZSBsb2NraW5nIGFuZCBhIGV4dHJhIGxvb2t1cC4KClRoZSBsaWZldGltZSBmb3IgcHJv cGVydGllcyBpcyB1bnRpbCB0aGUgZGV2aWNlIGlzIGRlc3Ryb3llZCwgd2hpY2gKaGFwcGVucyBs YXRlIGluIHRoZSBkZXZpY2UgdW5sb2FkIHBhdGguCgpUZXN0Y2FzZToga21zX3Byb3BlcnRpZXMK U3VnZ2VzdGVkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAg IHwgMTYgKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFs LmggfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5jICAgfCAzMSArKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlv bnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IGZhYzE1NmM0MzUw Ni4uOGJlYzg0NjY3ODFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTE2MDksNyArMTYwOSw3IEBA IGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAJdW5zaWduZWQgcGxhbmVfbWFzazsKIAlp bnQgcmV0ID0gMDsKLQl1bnNpZ25lZCBpbnQgaSwgaiwgazsKKwl1bnNpZ25lZCBpbnQgaSwgajsK IAogCS8qIGRpc2FsbG93IGZvciBkcml2ZXJzIG5vdCBzdXBwb3J0aW5nIGF0b21pYzogKi8KIAlp ZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkKQEAgLTE2OTEs MTkgKzE2OTEsMTEgQEAgcmV0cnk6CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCWZvciAoayA9 IDA7IGsgPCBvYmotPnByb3BlcnRpZXMtPmNvdW50OyBrKyspCi0JCQkJaWYgKG9iai0+cHJvcGVy dGllcy0+cHJvcGVydGllc1trXS0+YmFzZS5pZCA9PSBwcm9wX2lkKQotCQkJCQlicmVhazsKLQot CQkJaWYgKGsgPT0gb2JqLT5wcm9wZXJ0aWVzLT5jb3VudCkgewotCQkJCXJldCA9IC1FSU5WQUw7 Ci0JCQkJZ290byBvdXQ7Ci0JCQl9Ci0KLQkJCXByb3AgPSBkcm1fcHJvcGVydHlfZmluZChkZXYs IHByb3BfaWQpOworCQkJcHJvcCA9IGRybV9tb2RlX29ial9maW5kX3Byb3BfaWQob2JqLCBwcm9w X2lkKTsKIAkJCWlmICghcHJvcCkgewogCQkJCWRybV9tb2RlX29iamVjdF91bnJlZmVyZW5jZShv YmopOwotCQkJCXJldCA9IC1FTk9FTlQ7CisJCQkJRFJNX0RFQlVHX0FUT01JQygiY2Fubm90IGZp bmQgcHJvcGVydHkgJXUgZm9yIG9iaiAldVxuIiwgcHJvcF9pZCwgb2JqX2lkKTsKKwkJCQlyZXQg PSAtRUlOVkFMOwogCQkJCWdvdG8gb3V0OwogCQkJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRl cm5hbC5oCmluZGV4IGEzNjIyNjQ0YmNjZi4uNDQ0ZTYwOTA3OGNjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2NydGNfaW50ZXJuYWwuaApAQCAtMTE1LDYgKzExNSw4IEBAIGludCBkcm1fbW9kZV9vYmplY3Rf Z2V0X3Byb3BlcnRpZXMoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLCBib29sIGF0b21pYywK IAkJCQkgICB1aW50MzJfdCBfX3VzZXIgKnByb3BfcHRyLAogCQkJCSAgIHVpbnQ2NF90IF9fdXNl ciAqcHJvcF92YWx1ZXMsCiAJCQkJICAgdWludDMyX3QgKmFyZ19jb3VudF9wcm9wcyk7CitzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpkcm1fbW9kZV9vYmpfZmluZF9wcm9wX2lkKHN0cnVjdCBkcm1fbW9k ZV9vYmplY3QgKm9iaiwKKwkJCQkJICAgICAgIHVpbnQzMl90IHByb3BfaWQpOwogCiAvKiBJT0NU TCAqLwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfb2JqZWN0LmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfb2JqZWN0LmMKaW5kZXggNmVkZGE4MzgyYTRjLi45ZjE3 MDg1YjFmZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9vYmplY3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVfb2JqZWN0LmMKQEAgLTM3MiwxNCArMzcyLDI1 IEBAIG91dDoKIAlyZXR1cm4gcmV0OwogfQogCitzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1fbW9k ZV9vYmpfZmluZF9wcm9wX2lkKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKKwkJCQkJICAg ICAgIHVpbnQzMl90IHByb3BfaWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgb2Jq LT5wcm9wZXJ0aWVzLT5jb3VudDsgaSsrKQorCQlpZiAob2JqLT5wcm9wZXJ0aWVzLT5wcm9wZXJ0 aWVzW2ldLT5iYXNlLmlkID09IHByb3BfaWQpCisJCQlyZXR1cm4gb2JqLT5wcm9wZXJ0aWVzLT5w cm9wZXJ0aWVzW2ldOworCisJcmV0dXJuIE5VTEw7Cit9CisKIGludCBkcm1fbW9kZV9vYmpfc2V0 X3Byb3BlcnR5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJ ICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQogewogCXN0cnVjdCBkcm1fbW9kZV9vYmpf c2V0X3Byb3BlcnR5ICphcmcgPSBkYXRhOwogCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKmFyZ19v Ymo7Ci0Jc3RydWN0IGRybV9tb2RlX29iamVjdCAqcHJvcF9vYmo7CiAJc3RydWN0IGRybV9wcm9w ZXJ0eSAqcHJvcGVydHk7Ci0JaW50IGksIHJldCA9IC1FSU5WQUw7CisJaW50IHJldCA9IC1FSU5W QUw7CiAJc3RydWN0IGRybV9tb2RlX29iamVjdCAqcmVmOwogCiAJaWYgKCFkcm1fY29yZV9jaGVj a19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQpAQCAtMzkyLDIzICs0MDMsMTMgQEAgaW50 IGRybV9tb2RlX29ial9zZXRfcHJvcGVydHlfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKIAkJcmV0ID0gLUVOT0VOVDsKIAkJZ290byBvdXQ7CiAJfQotCWlmICghYXJn X29iai0+cHJvcGVydGllcykKLQkJZ290byBvdXRfdW5yZWY7Ci0KLQlmb3IgKGkgPSAwOyBpIDwg YXJnX29iai0+cHJvcGVydGllcy0+Y291bnQ7IGkrKykKLQkJaWYgKGFyZ19vYmotPnByb3BlcnRp ZXMtPnByb3BlcnRpZXNbaV0tPmJhc2UuaWQgPT0gYXJnLT5wcm9wX2lkKQotCQkJYnJlYWs7CiAK LQlpZiAoaSA9PSBhcmdfb2JqLT5wcm9wZXJ0aWVzLT5jb3VudCkKKwlpZiAoIWFyZ19vYmotPnBy b3BlcnRpZXMpCiAJCWdvdG8gb3V0X3VucmVmOwogCi0JcHJvcF9vYmogPSBkcm1fbW9kZV9vYmpl Y3RfZmluZChkZXYsIGFyZy0+cHJvcF9pZCwKLQkJCQkJRFJNX01PREVfT0JKRUNUX1BST1BFUlRZ KTsKLQlpZiAoIXByb3Bfb2JqKSB7Ci0JCXJldCA9IC1FTk9FTlQ7CisJcHJvcGVydHkgPSBkcm1f bW9kZV9vYmpfZmluZF9wcm9wX2lkKGFyZ19vYmosIGFyZy0+cHJvcF9pZCk7CisJaWYgKCFwcm9w ZXJ0eSkKIAkJZ290byBvdXRfdW5yZWY7Ci0JfQotCXByb3BlcnR5ID0gb2JqX3RvX3Byb3BlcnR5 KHByb3Bfb2JqKTsKIAogCWlmICghZHJtX3Byb3BlcnR5X2NoYW5nZV92YWxpZF9nZXQocHJvcGVy dHksIGFyZy0+dmFsdWUsICZyZWYpKQogCQlnb3RvIG91dF91bnJlZjsKLS0gCjIuNy40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==