From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 01/13] drm: allow property validation for refcnted props Date: Wed, 17 Dec 2014 13:31:28 +0100 Message-ID: <20141217123128.GE2711@phenom.ffwll.local> References: <1418771141-16954-1-git-send-email-robdclark@gmail.com> <1418771141-16954-2-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f49.google.com (mail-wg0-f49.google.com [74.125.82.49]) by gabe.freedesktop.org (Postfix) with ESMTP id E6C606E76D for ; Wed, 17 Dec 2014 04:30:53 -0800 (PST) Received: by mail-wg0-f49.google.com with SMTP id n12so20047131wgh.22 for ; Wed, 17 Dec 2014 04:30:52 -0800 (PST) Content-Disposition: inline In-Reply-To: <1418771141-16954-2-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBEZWMgMTYsIDIwMTQgYXQgMDY6MDU6MjlQTSAtMDUwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IFdlIGNhbiBhbHJlYWR5IGhhdmUgb2JqZWN0IHByb3BlcnRpZXMsIHdoaWNoIHRlY2huaWNh bGx5IGNhbiBiZSBmYidzLgo+IFN3aXRjaCB0aGUgcHJvcGVydHkgdmFsaWRhdGlvbiBsb2dpYyBv dmVyIHRvIGEgZ2V0L3B1dCBzdHlsZSBpbnRlcmZhY2UKPiBzbyBpdCBjYW4gdGFrZSBhIHJlZiB0 byByZWZjbnQnZCBvYmplY3RzLCBhbmQgdGhlbiBkcm9wIHRoYXQgcmVmIGFmdGVyCj4gdGhlIGRy aXZlciBoYXMgYSBjaGFuY2UgdG8gdGFrZSBpdCdzIG93biByZWYuCj4gCj4gU2lnbmVkLW9mZi1i eTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgoKWWVhaCBJIHRoaW5rIG9mIGFsbCB0 aGUgb3B0aW9ucyB3ZSd2ZSBsb29rZWQgYXQgdGhpcyBpcyB0aGUgYmVzdCB3cnQgdG8KaW50ZXJm YWNlIHNhZmV0eS4KClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZm d2xsLmNoPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgfCA1OCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2Vk LCA0MyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IGlu ZGV4IDUyMTNkYTQuLjVlZTRiODggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IEBAIC00MTkzLDEyICs0 MTkzLDIyIEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX2Nvbm5lY3Rvcl91cGRhdGVfZWRpZF9wcm9wZXJ0eSk7Cj4gIAo+IC1zdGF0aWMgYm9vbCBk cm1fcHJvcGVydHlfY2hhbmdlX2lzX3ZhbGlkKHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5 LAo+IC0JCQkJCSB1aW50NjRfdCB2YWx1ZSkKPiArLyogU29tZSBwcm9wZXJ0aWVzIGNvdWxkIHJl ZmVyIHRvIGR5bmFtaWMgcmVmY250J2Qgb2JqZWN0cywgb3IgdGhpbmdzIHRoYXQKPiArICogbmVl ZCBzcGVjaWFsIGxvY2tpbmcgdG8gaGFuZGxlIGxpZmV0aW1lIGlzc3VlcyAoaWUuIHRvIGVuc3Vy ZSB0aGUgcHJvcAo+ICsgKiB2YWx1ZSBkb2Vzbid0IGJlY29tZSBpbnZhbGlkIHBhcnQgd2F5IHRo cm91Z2ggdGhlIHByb3BlcnR5IHVwZGF0ZSBkdWUgdG8KPiArICogcmFjZSkuICBUaGUgdmFsdWUg cmV0dXJuZWQgYnkgcmVmZXJlbmNlIHZpYSAnb2JqJyBzaG91bGQgYmUgcGFzc2VkIGJhY2sKPiAr ICogdG8gZHJtX3Byb3BlcnR5X2NoYW5nZV92YWxpZF9wdXQoKSBhZnRlciB0aGUgcHJvcGVydHkg aXMgc2V0IChhbmQgdGhlCj4gKyAqIG9iamVjdCB0byB3aGljaCB0aGUgcHJvcGVydHkgaXMgYXR0 YWNoZWQgaGFzIGEgY2hhbmNlIHRvIHRha2UgaXQncyBvd24KPiArICogcmVmZXJlbmNlKS4KPiAr ICovCj4gK3N0YXRpYyBib29sIGRybV9wcm9wZXJ0eV9jaGFuZ2VfdmFsaWRfZ2V0KHN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCQkJCSB1aW50NjRfdCB2YWx1ZSwgc3RydWN0IGRy bV9tb2RlX29iamVjdCAqKnJlZikKPiAgewo+ICAJaWYgKHByb3BlcnR5LT5mbGFncyAmIERSTV9N T0RFX1BST1BfSU1NVVRBQkxFKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gKwkqcmVmID0gTlVM TDsKPiArCj4gIAlpZiAoZHJtX3Byb3BlcnR5X3R5cGVfaXMocHJvcGVydHksIERSTV9NT0RFX1BS T1BfUkFOR0UpKSB7Cj4gIAkJaWYgKHZhbHVlIDwgcHJvcGVydHktPnZhbHVlc1swXSB8fCB2YWx1 ZSA+IHByb3BlcnR5LT52YWx1ZXNbMV0pCj4gIAkJCXJldHVybiBmYWxzZTsKPiBAQCAtNDIxOSwx OSArNDIyOSwyMyBAQCBzdGF0aWMgYm9vbCBkcm1fcHJvcGVydHlfY2hhbmdlX2lzX3ZhbGlkKHN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICAJCS8qIE9ubHkgdGhlIGRyaXZlciBrbm93 cyAqLwo+ICAJCXJldHVybiB0cnVlOwo+ICAJfSBlbHNlIGlmIChkcm1fcHJvcGVydHlfdHlwZV9p cyhwcm9wZXJ0eSwgRFJNX01PREVfUFJPUF9PQkpFQ1QpKSB7Cj4gLQkJc3RydWN0IGRybV9tb2Rl X29iamVjdCAqb2JqOwo+ICAJCS8qIGEgemVybyB2YWx1ZSBmb3IgYW4gb2JqZWN0IHByb3BlcnR5 IHRyYW5zbGF0ZXMgdG8gbnVsbDogKi8KPiAgCQlpZiAodmFsdWUgPT0gMCkKPiAgCQkJcmV0dXJu IHRydWU7Cj4gLQkJLyoKPiAtCQkgKiBOT1RFOiB1c2UgX29iamVjdF9maW5kKCkgZGlyZWN0bHkg dG8gYnlwYXNzIHJlc3RyaWN0aW9uIG9uCj4gLQkJICogbG9va2luZyB1cCByZWZjbnQnZCBvYmpl Y3RzIChpZS4gZmIncykuICBGb3IgYSByZWZjbnQnZAo+IC0JCSAqIG9iamVjdCB0aGlzIGNvdWxk IHJhY2UgYWdhaW5zdCBvYmplY3QgZmluYWxpemF0aW9uLCBzbyBpdAo+IC0JCSAqIHNpbXBseSB0 ZWxscyB1cyB0aGF0IHRoZSBvYmplY3QgKndhcyogdmFsaWQuICBXaGljaCBpcyBnb29kCj4gLQkJ ICogZW5vdWdoLgo+IC0JCSAqLwo+IC0JCW9iaiA9IF9vYmplY3RfZmluZChwcm9wZXJ0eS0+ZGV2 LCB2YWx1ZSwgcHJvcGVydHktPnZhbHVlc1swXSk7Cj4gLQkJcmV0dXJuIG9iaiAhPSBOVUxMOwo+ ICsKPiArCQkvKiBoYW5kbGUgcmVmY250J2Qgb2JqZWN0cyBzcGVjaWFsbHk6ICovCj4gKwkJaWYg KHByb3BlcnR5LT52YWx1ZXNbMF0gPT0gRFJNX01PREVfT0JKRUNUX0ZCKSB7Cj4gKwkJCXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+ICsJCQlmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAo cHJvcGVydHktPmRldiwgdmFsdWUpOwo+ICsJCQlpZiAoZmIpIHsKPiArCQkJCSpyZWYgPSAmZmIt PmJhc2U7Cj4gKwkJCQlyZXR1cm4gdHJ1ZTsKPiArCQkJfSBlbHNlIHsKPiArCQkJCXJldHVybiBm YWxzZTsKPiArCQkJfQo+ICsJCX0gZWxzZSB7Cj4gKwkJCXJldHVybiBfb2JqZWN0X2ZpbmQocHJv cGVydHktPmRldiwgdmFsdWUsIHByb3BlcnR5LT52YWx1ZXNbMF0pICE9IE5VTEw7Cj4gKwkJfQo+ ICAJfSBlbHNlIHsKPiAgCQlpbnQgaTsKPiAgCQlmb3IgKGkgPSAwOyBpIDwgcHJvcGVydHktPm51 bV92YWx1ZXM7IGkrKykKPiBAQCAtNDI0MSw2ICs0MjU1LDE4IEBAIHN0YXRpYyBib29sIGRybV9w cm9wZXJ0eV9jaGFuZ2VfaXNfdmFsaWQoc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4g IAl9Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGRybV9wcm9wZXJ0eV9jaGFuZ2VfdmFsaWRfcHV0 KHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCXN0cnVjdCBkcm1fbW9kZV9vYmpl Y3QgKnJlZikKPiArewo+ICsJaWYgKCFyZWYpCj4gKwkJcmV0dXJuOwo+ICsKPiArCWlmIChkcm1f cHJvcGVydHlfdHlwZV9pcyhwcm9wZXJ0eSwgRFJNX01PREVfUFJPUF9PQkpFQ1QpKSB7Cj4gKwkJ aWYgKHByb3BlcnR5LT52YWx1ZXNbMF0gPT0gRFJNX01PREVfT0JKRUNUX0ZCKQo+ICsJCQlkcm1f ZnJhbWVidWZmZXJfdW5yZWZlcmVuY2Uob2JqX3RvX2ZiKHJlZikpOwo+ICsJfQo+ICt9Cj4gKwo+ ICAvKioKPiAgICogZHJtX21vZGVfY29ubmVjdG9yX3Byb3BlcnR5X3NldF9pb2N0bCAtIHNldCB0 aGUgY3VycmVudCB2YWx1ZSBvZiBhIGNvbm5lY3RvciBwcm9wZXJ0eQo+ICAgKiBAZGV2OiBEUk0g ZGV2aWNlCj4gQEAgLTQ0MjksOCArNDQ1NSw4IEBAIGludCBkcm1fbW9kZV9vYmpfc2V0X3Byb3Bl cnR5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAlzdHJ1Y3Qg ZHJtX21vZGVfb2JqZWN0ICphcmdfb2JqOwo+ICAJc3RydWN0IGRybV9tb2RlX29iamVjdCAqcHJv cF9vYmo7Cj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eTsKPiAtCWludCByZXQgPSAt RUlOVkFMOwo+IC0JaW50IGk7Cj4gKwlpbnQgaSwgcmV0ID0gLUVJTlZBTDsKPiArCXN0cnVjdCBk cm1fbW9kZV9vYmplY3QgKnJlZjsKPiAgCj4gIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gQEAgLTQ0NjAsNyAr NDQ4Niw3IEBAIGludCBkcm1fbW9kZV9vYmpfc2V0X3Byb3BlcnR5X2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAl9Cj4gIAlwcm9wZXJ0eSA9IG9ial90b19wcm9w ZXJ0eShwcm9wX29iaik7Cj4gIAo+IC0JaWYgKCFkcm1fcHJvcGVydHlfY2hhbmdlX2lzX3ZhbGlk KHByb3BlcnR5LCBhcmctPnZhbHVlKSkKPiArCWlmICghZHJtX3Byb3BlcnR5X2NoYW5nZV92YWxp ZF9nZXQocHJvcGVydHksIGFyZy0+dmFsdWUsICZyZWYpKQo+ICAJCWdvdG8gb3V0Owo+ICAKPiAg CXN3aXRjaCAoYXJnX29iai0+dHlwZSkgewo+IEBAIC00NDc3LDYgKzQ1MDMsOCBAQCBpbnQgZHJt X21vZGVfb2JqX3NldF9wcm9wZXJ0eV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiArCWRybV9wcm9wZXJ0eV9jaGFuZ2VfdmFs aWRfcHV0KHByb3BlcnR5LCByZWYpOwo+ICsKPiAgb3V0Ogo+ICAJZHJtX21vZGVzZXRfdW5sb2Nr X2FsbChkZXYpOwo+ICAJcmV0dXJuIHJldDsKPiAtLSAKPiAyLjEuMAo+IAoKLS0gCkRhbmllbCBW ZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCis0MSAoMCkgNzkgMzY1 IDU3IDQ4IC0gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK