From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 1/3] drm/atomic: track bitmask of planes attached to crtc Date: Tue, 25 Nov 2014 20:29:45 -0500 Message-ID: <1416965387-7042-2-git-send-email-robdclark@gmail.com> References: <1416965387-7042-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-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) by gabe.freedesktop.org (Postfix) with ESMTP id C55856E1B0 for ; Tue, 25 Nov 2014 17:29:56 -0800 (PST) Received: by mail-qg0-f44.google.com with SMTP id z60so1394219qgd.31 for ; Tue, 25 Nov 2014 17:29:56 -0800 (PST) In-Reply-To: <1416965387-7042-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 Q2hhc2luZyBwbGFuZS0+c3RhdGUtPmNydGMgb2YgcGxhbmVzIHRoYXQgYXJlICpub3QqIHBhcnQg b2YgdGhlIHNhbWUKYXRvbWljIHVwZGF0ZSBpcyByYWN5LCBtYWtpbmcgaXQgaW5jcmVkaWJseSBh d2t3YXJkIChvciBpbXBvc3NpYmxlKSB0bwpkbyBzb21ldGhpbmcgc2ltcGxlIGxpa2UgaXRlcmF0 ZSBvdmVyIGFsbCBwbGFuZXMgYW5kIGZpZ3VyZSBvdXQgd2hpY2gKb25lcyBhcmUgYXR0YWNoZWQg dG8gYSBjcnRjLgoKU29sdmUgdGhpcyBieSBhZGRpbmcgYSBiaXRtYXNrIG9mIGN1cnJlbnRseSBh dHRhY2hlZCBwbGFuZXMgaW4gdGhlCmNydGMtc3RhdGUuCgpOb3RlIHRoYXQgdGhlIHRyYW5zaXRp b25hbCBoZWxwZXJzIGRvIG5vdCBtYWludGFpbiB0aGUgcGxhbmVfbWFzay4gIEJ1dAp0aGV5IG9u bHkgc3VwcG9ydCB0aGUgbGVnYWN5IGlvY3Rscywgd2hpY2ggaGF2ZSBzdWZmaWNpZW50IGJydXRl LWZvcmNlCmxvY2tpbmcgYXJvdW5kIHBsYW5lIHVwZGF0ZXMgdGhhdCB0aGV5IGNhbiBjb250aW51 ZSB0byBsb29wIG92ZXIgYWxsCnBsYW5lcyB0byBzZWUgd2hhdCBpcyBhdHRhY2hlZCB0byBhIGNy dGMgdGhlIG9sZCB3YXkuCgpTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BnbWFp bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAyMyArKysr KysrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMg fCAgOCArKysrLS0tLQogaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oICAgICAgICAgICAgfCAgNCAr Ky0tCiBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgICAgICAgICB8IDE0ICsrKysrKysrKysr LS0tCiA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jCmluZGV4IGQzYjQ2NzQuLmNmYzI1MDAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YwpAQCAtMzUwLDcgKzM1MCw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19nZXRfY29ubmVj dG9yX3N0YXRlKTsKIAogLyoqCiAgKiBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZSAtIHNl dCBjcnRjIGZvciBwbGFuZQotICogQHBsYW5lX3N0YXRlOiBhdG9taWMgc3RhdGUgb2JqZWN0IGZv ciB0aGUgcGxhbmUKKyAqIEBzdGF0ZTogdGhlIGluY29taW5nIGF0b21pYyBzdGF0ZQorICogQHBs YW5lOiB0aGUgcGxhbmUgd2hvc2UgaW5jb21pbmcgc3RhdGUgdG8gdXBkYXRlCiAgKiBAY3J0Yzog Y3J0YyB0byB1c2UgZm9yIHRoZSBwbGFuZQogICoKICAqIENoYW5naW5nIHRoZSBhc3NpZ25lZCBj cnRjIGZvciBhIHBsYW5lIHJlcXVpcmVzIHVzIHRvIGdyYWIgdGhlIGxvY2sgYW5kIHN0YXRlCkBA IC0zNjMsMjAgKzM2NCwzMiBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rv cl9zdGF0ZSk7CiAgKiBzZXF1ZW5jZSBtdXN0IGJlIHJlc3RhcnRlZC4gQWxsIG90aGVyIGVycm9y cyBhcmUgZmF0YWwuCiAgKi8KIGludAotZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUoc3Ry dWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUsCi0JCQkgICAgICBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCitkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUsCisJCQkgICAgICBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0 IGRybV9jcnRjICpjcnRjKQogeworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRl ID0KKwkJCWRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7CiAJc3RydWN0 IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwogCisJaWYgKHBsYW5lX3N0YXRlLT5jcnRjKSB7 CisJCWNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHBsYW5lX3N0YXRlLT5z dGF0ZSwKKwkJCQkJCSAgICAgICBwbGFuZV9zdGF0ZS0+Y3J0Yyk7CisJCWlmIChXQVJOX09OKElT X0VSUihjcnRjX3N0YXRlKSkpCisJCQlyZXR1cm4gUFRSX0VSUihjcnRjX3N0YXRlKTsKKworCQlj cnRjX3N0YXRlLT5wbGFuZV9tYXNrICY9IH4oMSA8PCBkcm1fcGxhbmVfaW5kZXgocGxhbmUpKTsK Kwl9CisKKwlwbGFuZV9zdGF0ZS0+Y3J0YyA9IGNydGM7CisKIAlpZiAoY3J0YykgewogCQljcnRj X3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShwbGFuZV9zdGF0ZS0+c3RhdGUsCiAJ CQkJCQkgICAgICAgY3J0Yyk7CiAJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCiAJCQlyZXR1cm4g UFRSX0VSUihjcnRjX3N0YXRlKTsKKwkJY3J0Y19zdGF0ZS0+cGxhbmVfbWFzayB8PSAoMSA8PCBk cm1fcGxhbmVfaW5kZXgocGxhbmUpKTsKIAl9CiAKLQlwbGFuZV9zdGF0ZS0+Y3J0YyA9IGNydGM7 Ci0KIAlpZiAoY3J0YykKIAkJRFJNX0RFQlVHX0tNUygiTGluayBwbGFuZSBzdGF0ZSAlcCB0byBb Q1JUQzolZF1cbiIsCiAJCQkgICAgICBwbGFuZV9zdGF0ZSwgY3J0Yy0+YmFzZS5pZCk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmluZGV4IGExN2I4ZTkuLmQ3NjVkMzcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCkBAIC0xMTg3LDcgKzExODcsNyBAQCByZXRyeToKIAkJ Z290byBmYWlsOwogCX0KIAotCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHBs YW5lX3N0YXRlLCBjcnRjKTsKKwlyZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShz dGF0ZSwgcGxhbmUsIGNydGMpOwogCWlmIChyZXQgIT0gMCkKIAkJZ290byBmYWlsOwogCWRybV9h dG9taWNfc2V0X2ZiX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgZmIpOwpAQCAtMTI1NSw3ICsxMjU1 LDcgQEAgcmV0cnk6CiAJCWdvdG8gZmFpbDsKIAl9CiAKLQlyZXQgPSBkcm1fYXRvbWljX3NldF9j cnRjX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgTlVMTCk7CisJcmV0ID0gZHJtX2F0b21pY19zZXRf Y3J0Y19mb3JfcGxhbmUoc3RhdGUsIHBsYW5lLCBOVUxMKTsKIAlpZiAocmV0ICE9IDApCiAJCWdv dG8gZmFpbDsKIAlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5VTEwp OwpAQCAtMTQyNiw3ICsxNDI2LDcgQEAgcmV0cnk6CiAJCWdvdG8gZmFpbDsKIAl9CiAKLQlyZXQg PSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShwcmltYXJ5X3N0YXRlLCBjcnRjKTsKKwly ZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdGF0ZSwgY3J0Yy0+cHJpbWFyeSwg Y3J0Yyk7CiAJaWYgKHJldCAhPSAwKQogCQlnb3RvIGZhaWw7CiAJZHJtX2F0b21pY19zZXRfZmJf Zm9yX3BsYW5lKHByaW1hcnlfc3RhdGUsIHNldC0+ZmIpOwpAQCAtMTY5OCw3ICsxNjk4LDcgQEAg cmV0cnk6CiAJCWdvdG8gZmFpbDsKIAl9CiAKLQlyZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zv cl9wbGFuZShwbGFuZV9zdGF0ZSwgY3J0Yyk7CisJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19m b3JfcGxhbmUoc3RhdGUsIHBsYW5lLCBjcnRjKTsKIAlpZiAocmV0ICE9IDApCiAJCWdvdG8gZmFp bDsKIAlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUsIGZiKTsKZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMu aAppbmRleCA5ZDkxOTE2Li42ZmY4Nzc1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRv bWljLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCkBAIC00NCw4ICs0NCw4IEBAIGRy bV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUsCiAJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiAKIGludCBf X211c3RfY2hlY2sKLWRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlLAotCQkJICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsK K2RybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwogdm9pZCBkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUoc3RydWN0IGRybV9wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUsCiAJCQkJIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKTsK IGludCBfX211c3RfY2hlY2sKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9p bmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4IGI0NTllOGYuLjRjZjY5MDUgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAt MjMxLDYgKzIzMSw3IEBAIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlOwogICogc3RydWN0IGRybV9j cnRjX3N0YXRlIC0gbXV0YWJsZSBDUlRDIHN0YXRlCiAgKiBAZW5hYmxlOiB3aGV0aGVyIHRoZSBD UlRDIHNob3VsZCBiZSBlbmFibGVkLCBnYXRlcyBhbGwgb3RoZXIgc3RhdGUKICAqIEBtb2RlX2No YW5nZWQ6IGZvciB1c2UgYnkgaGVscGVycyBhbmQgZHJpdmVycyB3aGVuIGNvbXB1dGluZyBzdGF0 ZSB1cGRhdGVzCisgKiBAcGxhbmVfbWFzazogYml0bWFzayBvZiAoMSA8PCBkcm1fcGxhbmVfaW5k ZXgocGxhbmUpKSBvZiBhdHRhY2hlZCBwbGFuZXMKICAqIEBsYXN0X3ZibGFua19jb3VudDogZm9y IGhlbHBlcnMgYW5kIGRyaXZlcnMgdG8gY2FwdHVyZSB0aGUgdmJsYW5rIG9mIHRoZQogICogCXVw ZGF0ZSB0byBlbnN1cmUgZnJhbWVidWZmZXIgY2xlYW51cCBpc24ndCBkb25lIHRvbyBlYXJseQog ICogQHBsYW5lc19jaGFuZ2VkOiBmb3IgdXNlIGJ5IGhlbHBlcnMgYW5kIGRyaXZlcnMgd2hlbiBj b21wdXRpbmcgc3RhdGUgdXBkYXRlcwpAQCAtMjQ3LDYgKzI0OCwxMyBAQCBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgewogCWJvb2wgcGxhbmVzX2NoYW5nZWQgOiAxOwogCWJvb2wgbW9kZV9jaGFuZ2Vk IDogMTsKIAorCS8qIGF0dGFjaGVkIHBsYW5lcyBiaXRtYXNrOgorCSAqIFdBUk5JTkc6IHRyYW5z aXRpb25hbCBoZWxwZXJzIGRvIG5vdCBtYWludGFpbiBwbGFuZV9tYXNrIHNvCisJICogZHJpdmVy cyBub3QgY29udmVydGVkIG92ZXIgdG8gYXRvbWljIGhlbHBlcnMgc2hvdWxkIG5vdCByZWx5CisJ ICogb24gcGxhbmVfbWFzayBiZWluZyBhY2N1cmF0ZSEKKwkgKi8KKwl1MzIgcGxhbmVfbWFzazsK KwogCS8qIGxhc3RfdmJsYW5rX2NvdW50OiBmb3IgdmJsYW5rIHdhaXRzIGJlZm9yZSBjbGVhbnVw ICovCiAJdTMyIGxhc3RfdmJsYW5rX2NvdW50OwogCkBAIC00MzgsNyArNDQ2LDcgQEAgc3RydWN0 IGRybV9jcnRjIHsKICAqIEBzdGF0ZTogYmFja3BvaW50ZXIgdG8gZ2xvYmFsIGRybV9hdG9taWNf c3RhdGUKICAqLwogc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewotCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7ICAvKiBkbyBub3Qgd3JpdGUgZGlyZWN0 bHksIHVzZSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3IoKSAqLwogCiAJc3RydWN0 IGRybV9lbmNvZGVyICpiZXN0X2VuY29kZXI7CiAKQEAgLTY3Myw4ICs2ODEsOCBAQCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciB7CiAgKiBAc3RhdGU6IGJhY2twb2ludGVyIHRvIGdsb2JhbCBkcm1fYXRv bWljX3N0YXRlCiAgKi8KIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewotCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YzsKLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKKwlzdHJ1Y3QgZHJtX2NydGMg KmNydGM7ICAgLyogZG8gbm90IHdyaXRlIGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19zZXRfY3J0 Y19mb3JfcGxhbmUoKSAqLworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOyAgLyogZG8gbm90 IHdyaXRlIGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKCkgKi8KIAlz dHJ1Y3QgZmVuY2UgKmZlbmNlOwogCiAJLyogU2lnbmVkIGRlc3QgbG9jYXRpb24gYWxsb3dzIGl0 IHRvIGJlIHBhcnRpYWxseSBvZmYgc2NyZWVuICovCi0tIAoxLjkuMwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK