From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 06/13] drm: add atomic hook to read property plus helper Date: Tue, 16 Dec 2014 18:05:34 -0500 Message-ID: <1418771141-16954-7-git-send-email-robdclark@gmail.com> References: <1418771141-16954-1-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-qc0-f176.google.com (mail-qc0-f176.google.com [209.85.216.176]) by gabe.freedesktop.org (Postfix) with ESMTP id B4CA36E4E0 for ; Tue, 16 Dec 2014 15:06:01 -0800 (PST) Received: by mail-qc0-f176.google.com with SMTP id i17so11201379qcy.21 for ; Tue, 16 Dec 2014 15:06:01 -0800 (PST) In-Reply-To: <1418771141-16954-1-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: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T25jZSBhIGRyaXZlciBpcyB1c2luZyBhdG9taWMgaGVscGVycyBmb3IgbW9kZXNldCwgdGhlIG5l eHQgc3RlcCBpcyB0bwpzd2l0Y2ggb3ZlciB0byBhdG9taWMgcHJvcGVydGllcy4gIFRvIGRvIHRo aXMsIHBsdWcgaW4gdGhlIGhlbHBlcgpmdW5jdGlvbiB0byB5b3VyIG1vZGVjb25maWcgZnVuY3Mg YW5kIGJlIHN1cmUgdG8gaW1wbGVtZW50IHRoZSBwbGFuZS8KY3J0Yy9jb25uZWN0b3IgYXRvbWlj X3tnZXQsc2V0fV9wcm9wZXJ0eSB2ZnVuY3MgZm9yIGFueSBvZiB5b3VyIG1vZGUtCm9iamVjdHMg d2hpY2ggaGF2ZSBkcml2ZXIgY3VzdG9tIHByb3BlcnRpZXMuCgpTaWduZWQtb2ZmLWJ5OiBSb2Ig Q2xhcmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWNfaGVscGVyLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICB8ICA5ICsrKysrKysrCiBpbmNsdWRl L2RybS9kcm1fYXRvbWljX2hlbHBlci5oICAgICB8ICAyICsrCiBpbmNsdWRlL2RybS9kcm1fY3J0 Yy5oICAgICAgICAgICAgICB8ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRleCBkNDJmZGIxLi4xYTFhYjM0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMTcwMyw2ICsxNzAzLDUyIEBA IGJhY2tvZmY6CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9zZXRf cHJvcGVydHkpOwogCiAvKioKKyAqIGRybV9hdG9taWNfaGVscGVyX2dldF9wcm9wZXJ0eSAtIGhl bHBlciB0byByZWFkIGF0b21pYyBwcm9wZXJ0eQorICogQG9iajogZHJtIG1vZGUgb2JqZWN0IHdo b3NlIHByb3BlcnR5IHRvIHJlYWQKKyAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIHJlYWQK KyAqIEB2YWw6IHRoZSByZWFkIHZhbHVlLCByZXR1cm5lZCBieSByZWZlcmVuY2UKKyAqCisgKiBS RVRVUk5TOgorICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKKyAqLwor aW50IGRybV9hdG9taWNfaGVscGVyX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0 ICpvYmosCisJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKQor eworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwcm9wZXJ0eS0+ZGV2OworCWludCByZXQ7CisK Kwlzd2l0Y2ggKG9iai0+dHlwZSkgeworCWNhc2UgRFJNX01PREVfT0JKRUNUX0NPTk5FQ1RPUjog eworCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gb2JqX3RvX2Nvbm5lY3Rvcihv YmopOworCQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmRldi0+bW9kZV9jb25maWcu Y29ubmVjdGlvbl9tdXRleCkpOworCQlyZXQgPSBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0 X3Byb3BlcnR5KGNvbm5lY3RvciwKKwkJCQljb25uZWN0b3ItPnN0YXRlLCBwcm9wZXJ0eSwgdmFs KTsKKwkJYnJlYWs7CisJfQorCWNhc2UgRFJNX01PREVfT0JKRUNUX0NSVEM6IHsKKwkJc3RydWN0 IGRybV9jcnRjICpjcnRjID0gb2JqX3RvX2NydGMob2JqKTsKKwkJV0FSTl9PTighZHJtX21vZGVz ZXRfaXNfbG9ja2VkKCZjcnRjLT5tdXRleCkpOworCQlyZXQgPSBjcnRjLT5mdW5jcy0+YXRvbWlj X2dldF9wcm9wZXJ0eShjcnRjLAorCQkJCWNydGMtPnN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKKwkJ YnJlYWs7CisJfQorCWNhc2UgRFJNX01PREVfT0JKRUNUX1BMQU5FOiB7CisJCXN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lID0gb2JqX3RvX3BsYW5lKG9iaik7CisJCVdBUk5fT04oIWRybV9tb2Rlc2V0 X2lzX2xvY2tlZCgmcGxhbmUtPm11dGV4KSk7CisJCXJldCA9IHBsYW5lLT5mdW5jcy0+YXRvbWlj X2dldF9wcm9wZXJ0eShwbGFuZSwKKwkJCQlwbGFuZS0+c3RhdGUsIHByb3BlcnR5LCB2YWwpOwor CQlicmVhazsKKwl9CisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQor CisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfZ2V0X3By b3BlcnR5KTsKKworLyoqCiAgKiBkcm1fYXRvbWljX2hlbHBlcl9wYWdlX2ZsaXAgLSBleGVjdXRl IGEgbGVnYWN5IHBhZ2UgZmxpcAogICogQGNydGM6IERSTSBjcnRjCiAgKiBAZmI6IERSTSBmcmFt ZWJ1ZmZlcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2NydGMuYwppbmRleCA0ODFiYjI1Li41N2NkOTUwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu YwpAQCAtMzg3OCw4ICszODc4LDE3IEBAIEVYUE9SVF9TWU1CT0woZHJtX29iamVjdF9wcm9wZXJ0 eV9zZXRfdmFsdWUpOwogaW50IGRybV9vYmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlKHN0cnVjdCBk cm1fbW9kZV9vYmplY3QgKm9iaiwKIAkJCQkgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5 LCB1aW50NjRfdCAqdmFsKQogeworCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZw cm9wZXJ0eS0+ZGV2LT5tb2RlX2NvbmZpZzsKIAlpbnQgaTsKIAorCS8qIHJlYWQtb25seSBwcm9w ZXJ0aWVzIGJ5cGFzcyBhdG9taWMgbWVjaGFuaXNtIGFuZCBzdGlsbCBzdG9yZQorCSAqIHRoZWly IHZhbHVlIGluIG9iai0+cHJvcGVydGllcy0+dmFsdWVzW10uLiBtb3N0bHkgdG8gYXZvaWQKKwkg KiBoYXZpbmcgdG8gZGVhbCB3LyBFRElEIGFuZCBzaW1pbGFyIHByb3BzIGluIGF0b21pYyBwYXRo czoKKwkgKi8KKwlpZiAoY29uZmlnLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSAmJgorCQkJ IShwcm9wZXJ0eS0+ZmxhZ3MgJiBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSkpCisJCXJldHVybiBj b25maWctPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KG9iaiwgcHJvcGVydHksIHZhbCk7CisK IAlmb3IgKGkgPSAwOyBpIDwgb2JqLT5wcm9wZXJ0aWVzLT5jb3VudDsgaSsrKSB7CiAJCWlmIChv YmotPnByb3BlcnRpZXMtPnByb3BlcnRpZXNbaV0gPT0gcHJvcGVydHkpIHsKIAkJCSp2YWwgPSBv YmotPnByb3BlcnRpZXMtPnZhbHVlc1tpXTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9h dG9taWNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hlbHBlci5oCmluZGV4IGY5 NTZiNDEuLjVlNzJiODIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVy LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaApAQCAtNzQsNiArNzQsOCBA QCBpbnQgZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAogaW50IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHko c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkJc3RydWN0IGRybV9wcm9wZXJ0 eSAqcHJvcGVydHksCiAJCQkJCXVpbnQ2NF90IHZhbCk7CitpbnQgZHJtX2F0b21pY19oZWxwZXJf Z2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKKwkJCSAgIHN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKTsKIGludCBkcm1fYXRvbWljX2hl bHBlcl9wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCXN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLAogCQkJCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50 LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9j cnRjLmgKaW5kZXggZTZjZmRhZi4uY2E4YmE3MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2NydGMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCkBAIC05NDEsNiArOTQxLDcgQEAg c3RydWN0IGRybV9tb2RlX3NldCB7CiAgKiBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIC0g YmFzaWMgZHJpdmVyIHByb3ZpZGVkIG1vZGUgc2V0dGluZyBmdW5jdGlvbnMKICAqIEBmYl9jcmVh dGU6IGNyZWF0ZSBhIG5ldyBmcmFtZWJ1ZmZlciBvYmplY3QKICAqIEBvdXRwdXRfcG9sbF9jaGFu Z2VkOiBmdW5jdGlvbiB0byBoYW5kbGUgb3V0cHV0IGNvbmZpZ3VyYXRpb24gY2hhbmdlcworICog QGF0b21pY19nZXRfcHJvcGVydHk6IGF0b21pYyB3YXkgdG8gcmVhZCBwcm9wZXJ0eSB2YWx1ZQog ICogQGF0b21pY19jaGVjazogY2hlY2sgd2hldGhlciBhIGdpdmUgYXRvbWljIHN0YXRlIHVwZGF0 ZSBpcyBwb3NzaWJsZQogICogQGF0b21pY19jb21taXQ6IGNvbW1pdCBhbiBhdG9taWMgc3RhdGUg dXBkYXRlIHByZXZpb3VzbHkgdmVyaWZpZWQgd2l0aAogICogCWF0b21pY19jaGVjaygpCkBAIC05 NTQsNiArOTU1LDggQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyB7CiAJCQkJCSAgICAg c3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKTsKIAl2b2lkICgqb3V0cHV0X3BvbGxf Y2hhbmdlZCkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKKwlpbnQgKCphdG9taWNfZ2V0X3By b3BlcnR5KShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCisJCQkJc3RydWN0IGRybV9wcm9w ZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpOwogCWludCAoKmF0b21pY19jaGVjaykoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqYSk7 CiAJaW50ICgqYXRvbWljX2NvbW1pdCkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLS0gCjIuMS4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=