From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 01/42] drm/atomic: Allow drivers to subclass drm_atomic_state Date: Mon, 11 May 2015 16:24:37 +0200 Message-ID: <1431354318-11995-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1431354318-11995-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: <1431354318-11995-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: Ander Conselvan de Oliveira , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RHJpdmVycyBtYXkgbmVlZCB0byBzdG9yZSB0aGUgc3RhdGUgb2Ygc2hhcmVkIHJlc291cmNlcywg c3VjaCBhcyBQTExzCm9yIEZJRk8gc3BhY2UsIGludG8gdGhlIGF0b21pYyBzdGF0ZS4gQWxsb3cg dGhpcyBieSBtYWtpbmcgaXQgcG9zc2libGUKdG8gc3ViY2xhc3MgZHJtX2F0b21pY19zdGF0ZS4K CkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCkFja2VkLWJ5OiBBbmRlciBDb25z ZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+ ClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyB8IDkxICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2RybS9kcm1f YXRvbWljLmggICAgIHwgIDQgKysKIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgfCAgNCAr KwogMyBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYwppbmRleCA2ZTNiNzhlZTdkMTYuLmYwZjkxNDU5MWYxZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pYy5jCkBAIC0zOCwyNCArMzgsMTkgQEAgc3RhdGljIHZvaWQga2ZyZWVfc3RhdGUoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCWtmcmVlKHN0YXRlLT5jcnRjX3N0YXRlcyk7 CiAJa2ZyZWUoc3RhdGUtPnBsYW5lcyk7CiAJa2ZyZWUoc3RhdGUtPnBsYW5lX3N0YXRlcyk7Ci0J a2ZyZWUoc3RhdGUpOwogfQogCiAvKioKLSAqIGRybV9hdG9taWNfc3RhdGVfYWxsb2MgLSBhbGxv Y2F0ZSBhdG9taWMgc3RhdGUKKyAqIF9fZHJtX2F0b21pY19uZXdfc3RhdGUgLSBpbml0IG5ldyBh dG9taWMgc3RhdGUKICAqIEBkZXY6IERSTSBkZXZpY2UKKyAqIEBzdGF0ZTogYXRvbWljIHN0YXRl CiAgKgotICogVGhpcyBhbGxvY2F0ZXMgYW4gZW1wdHkgYXRvbWljIHN0YXRlIHRvIHRyYWNrIHVw ZGF0ZXMuCisgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciBmaWxsaW5nIGluIGEgbmV3IGF0 b21pYyBzdGF0ZS4KKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBkcml2ZXJzIHRoYXQgc3ViY2xhc3Mg dGhlIGF0b21pYyBzdGF0ZS4KICAqLwotc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKgotZHJtX2F0 b21pY19zdGF0ZV9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoraW50IF9fZHJtX2F0b21p Y19uZXdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgIHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Ci0K LQlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwotCWlmICghc3Rh dGUpCi0JCXJldHVybiBOVUxMOwotCiAJLyogVE9ETyBsZWdhY3kgcGF0aHMgc2hvdWxkIG1heWJl IGRvIGEgYmV0dGVyIGpvYiBhYm91dAogCSAqIHNldHRpbmcgdGhpcyBhcHByb3ByaWF0ZWx5Pwog CSAqLwpAQCAtOTIsMzEgKzg3LDUwIEBAIGRybV9hdG9taWNfc3RhdGVfYWxsb2Moc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIAogCXN0YXRlLT5kZXYgPSBkZXY7CiAKLQlEUk1fREVCVUdfQVRPTUlD KCJBbGxvY2F0ZSBhdG9taWMgc3RhdGUgJXBcbiIsIHN0YXRlKTsKKwlEUk1fREVCVUdfQVRPTUlD KCJBbGxvY2F0ZWQgYXRvbWljIHN0YXRlICVwXG4iLCBzdGF0ZSk7CiAKLQlyZXR1cm4gc3RhdGU7 CisJcmV0dXJuIDA7CiBmYWlsOgogCWtmcmVlX3N0YXRlKHN0YXRlKTsKKwlyZXR1cm4gLUVOT01F TTsKK30KK0VYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX25ld19zdGF0ZSk7CiAKLQlyZXR1cm4g TlVMTDsKKy8qKgorICogZHJtX2F0b21pY19zdGF0ZV9hbGxvYyAtIGFsbG9jYXRlIGF0b21pYyBz dGF0ZQorICogQGRldjogRFJNIGRldmljZQorICoKKyAqIFRoaXMgYWxsb2NhdGVzIGFuIGVtcHR5 IGF0b21pYyBzdGF0ZSB0byB0cmFjayB1cGRhdGVzLgorICovCitzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqCitkcm1fYXRvbWljX3N0YXRlX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7 CisJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7CisJ c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOworCisJaWYgKCFjb25maWctPmZ1bmNzLT5h dG9taWNfbmV3X3N0YXRlKSB7CisJCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQ X0tFUk5FTCk7CisJCWlmICghc3RhdGUpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKF9fZHJtX2F0 b21pY19uZXdfc3RhdGUoZGV2LCBzdGF0ZSkgPCAwKSB7CisJCQlrZnJlZShzdGF0ZSk7CisJCQly ZXR1cm4gTlVMTDsKKwkJfQorCQlyZXR1cm4gc3RhdGU7CisJfQorCisJcmV0dXJuIGNvbmZpZy0+ ZnVuY3MtPmF0b21pY19uZXdfc3RhdGUoZGV2KTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2F0b21p Y19zdGF0ZV9hbGxvYyk7CiAKIC8qKgotICogZHJtX2F0b21pY19zdGF0ZV9jbGVhciAtIGNsZWFy IHN0YXRlIG9iamVjdAorICogX19kcm1fYXRvbWljX2NsZWFyX3N0YXRlIC0gY2xlYXIgYXRvbWlj IHN0YXRlCiAgKiBAc3RhdGU6IGF0b21pYyBzdGF0ZQogICoKLSAqIFdoZW4gdGhlIHcvdyBtdXRl eCBhbGdvcml0aG0gZGV0ZWN0cyBhIGRlYWRsb2NrIHdlIG5lZWQgdG8gYmFjayBvZmYgYW5kIGRy b3AKLSAqIGFsbCBsb2Nrcy4gU28gc29tZW9uZSBlbHNlIGNvdWxkIHNuZWFrIGluIGFuZCBjaGFu Z2UgdGhlIGN1cnJlbnQgbW9kZXNldAotICogY29uZmlndXJhdGlvbi4gV2hpY2ggbWVhbnMgdGhh dCBhbGwgdGhlIHN0YXRlIGFzc2VtYmxlZCBpbiBAc3RhdGUgaXMgbm8KLSAqIGxvbmdlciBhbiBh dG9taWMgdXBkYXRlIHRvIHRoZSBjdXJyZW50IHN0YXRlLCBidXQgdG8gc29tZSBhcmJpdHJhcnkg ZWFybGllcgotICogc3RhdGUuIFdoaWNoIGNvdWxkIGJyZWFrIGFzc3VtcHRpb25zIHRoZSBkcml2 ZXIncyAtPmF0b21pY19jaGVjayBsaWtlbHkKLSAqIHJlbGllcyBvbi4KLSAqCi0gKiBIZW5jZSB3 ZSBtdXN0IGNsZWFyIGFsbCBjYWNoZWQgc3RhdGUgYW5kIGNvbXBsZXRlbHkgc3RhcnQgb3Zlciwg dXNpbmcgdGhpcwotICogZnVuY3Rpb24uCisgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciBj bGVhcmluZyBhdG9taWMgc3RhdGUuCisgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgZHJpdmVycyB0aGF0 IHN1YmNsYXNzIHRoZSBhdG9taWMgc3RhdGUuCiAgKi8KLXZvaWQgZHJtX2F0b21pY19zdGF0ZV9j bGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCit2b2lkIF9fZHJtX2F0b21pY19j bGVhcl9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CiAJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29u ZmlnID0gJmRldi0+bW9kZV9jb25maWc7CkBAIC0xNjIsNiArMTc2LDMyIEBAIHZvaWQgZHJtX2F0 b21pY19zdGF0ZV9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCXN0YXRl LT5wbGFuZV9zdGF0ZXNbaV0gPSBOVUxMOwogCX0KIH0KK0VYUE9SVF9TWU1CT0woX19kcm1fYXRv bWljX2NsZWFyX3N0YXRlKTsKKworLyoqCisgKiBkcm1fYXRvbWljX3N0YXRlX2NsZWFyIC0gY2xl YXIgc3RhdGUgb2JqZWN0CisgKiBAc3RhdGU6IGF0b21pYyBzdGF0ZQorICoKKyAqIFdoZW4gdGhl IHcvdyBtdXRleCBhbGdvcml0aG0gZGV0ZWN0cyBhIGRlYWRsb2NrIHdlIG5lZWQgdG8gYmFjayBv ZmYgYW5kIGRyb3AKKyAqIGFsbCBsb2Nrcy4gU28gc29tZW9uZSBlbHNlIGNvdWxkIHNuZWFrIGlu IGFuZCBjaGFuZ2UgdGhlIGN1cnJlbnQgbW9kZXNldAorICogY29uZmlndXJhdGlvbi4gV2hpY2gg bWVhbnMgdGhhdCBhbGwgdGhlIHN0YXRlIGFzc2VtYmxlZCBpbiBAc3RhdGUgaXMgbm8KKyAqIGxv bmdlciBhbiBhdG9taWMgdXBkYXRlIHRvIHRoZSBjdXJyZW50IHN0YXRlLCBidXQgdG8gc29tZSBh cmJpdHJhcnkgZWFybGllcgorICogc3RhdGUuIFdoaWNoIGNvdWxkIGJyZWFrIGFzc3VtcHRpb25z IHRoZSBkcml2ZXIncyAtPmF0b21pY19jaGVjayBsaWtlbHkKKyAqIHJlbGllcyBvbi4KKyAqCisg KiBIZW5jZSB3ZSBtdXN0IGNsZWFyIGFsbCBjYWNoZWQgc3RhdGUgYW5kIGNvbXBsZXRlbHkgc3Rh cnQgb3ZlciwgdXNpbmcgdGhpcworICogZnVuY3Rpb24uCisgKi8KK3ZvaWQgZHJtX2F0b21pY19z dGF0ZV9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CisJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAqY29u ZmlnID0gJmRldi0+bW9kZV9jb25maWc7CisKKwlpZiAoY29uZmlnLT5mdW5jcy0+YXRvbWljX2Ns ZWFyX3N0YXRlKQorCQljb25maWctPmZ1bmNzLT5hdG9taWNfY2xlYXJfc3RhdGUoc3RhdGUpOwor CWVsc2UKKwkJX19kcm1fYXRvbWljX2NsZWFyX3N0YXRlKHN0YXRlKTsKK30KIEVYUE9SVF9TWU1C T0woZHJtX2F0b21pY19zdGF0ZV9jbGVhcik7CiAKIC8qKgpAQCAtMTgxLDYgKzIyMSw3IEBAIHZv aWQgZHJtX2F0b21pY19zdGF0ZV9mcmVlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK IAlEUk1fREVCVUdfQVRPTUlDKCJGcmVlaW5nIGF0b21pYyBzdGF0ZSAlcFxuIiwgc3RhdGUpOwog CiAJa2ZyZWVfc3RhdGUoc3RhdGUpOworCWtmcmVlKHN0YXRlKTsKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19zdGF0ZV9mcmVlKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0 b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCmluZGV4IGMxNTcxMDM0OTJiMC4uNjEy NWVlYzZhZDc5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKKysrIGIvaW5j bHVkZS9kcm0vZHJtX2F0b21pYy5oCkBAIC0zNSw2ICszNSwxMCBAQCBkcm1fYXRvbWljX3N0YXRl X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBkcm1fYXRvbWljX3N0YXRlX2Ns ZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7CiB2b2lkIGRybV9hdG9taWNfc3Rh dGVfZnJlZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCitpbnQgIF9fbXVzdF9j aGVjaworX19kcm1fYXRvbWljX25ld19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwordm9pZCBfX2RybV9hdG9taWNfY2xlYXJfc3Rh dGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKKwogc3RydWN0IGRybV9jcnRjX3N0 YXRlICogX19tdXN0X2NoZWNrCiBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCSAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmlu ZGV4IDBhNGEwNDBkNmJiNy4uZTViZWEzYTQ1NDg0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9k cm1fY3J0Yy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTk4Myw2ICs5ODMsOCBA QCBzdHJ1Y3QgZHJtX21vZGVfc2V0IHsKICAqIEBhdG9taWNfY2hlY2s6IGNoZWNrIHdoZXRoZXIg YSBnaXZlbiBhdG9taWMgc3RhdGUgdXBkYXRlIGlzIHBvc3NpYmxlCiAgKiBAYXRvbWljX2NvbW1p dDogY29tbWl0IGFuIGF0b21pYyBzdGF0ZSB1cGRhdGUgcHJldmlvdXNseSB2ZXJpZmllZCB3aXRo CiAgKiAJYXRvbWljX2NoZWNrKCkKKyAqIEBhdG9taWNfY2xlYXJfc3RhdGU6IGFsbG9jYXRlIGEg bmV3IGF0b21pYyBzdGF0ZQorICogQGF0b21pY19jbGVhcl9zdGF0ZTogY2xlYXIgdGhlIGF0b21p YyBzdGF0ZQogICoKICAqIFNvbWUgZ2xvYmFsIChpLmUuIG5vdCBwZXItQ1JUQywgY29ubmVjdG9y LCBldGMpIG1vZGUgc2V0dGluZyBmdW5jdGlvbnMgdGhhdAogICogaW52b2x2ZSBkcml2ZXJzLgpA QCAtOTk4LDYgKzEwMDAsOCBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIHsKIAlpbnQg KCphdG9taWNfY29tbWl0KShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAgICBzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqYSwKIAkJCSAgICAgYm9vbCBhc3luYyk7CisJc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKigqYXRvbWljX25ld19zdGF0ZSkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 CisJdm9pZCAoKmF0b21pY19jbGVhcl9zdGF0ZSkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlKTsKIH07CiAKIC8qKgotLSAKMi4xLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==