From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 1/2] drm/atomic: track bitmask of planes attached to crtc Date: Fri, 21 Nov 2014 15:28:31 -0500 Message-ID: <1416601712-25036-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-f182.google.com (mail-qc0-f182.google.com [209.85.216.182]) by gabe.freedesktop.org (Postfix) with ESMTP id CB5EC6F4E4 for ; Fri, 21 Nov 2014 12:28:36 -0800 (PST) Received: by mail-qc0-f182.google.com with SMTP id r5so4392481qcx.13 for ; Fri, 21 Nov 2014 12:28:36 -0800 (PST) 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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCAyNSArKysr KysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIu YyB8ICA4ICsrKystLS0tCiBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8ICA0 ICsrLS0KIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgIHwgMTQgKysrKysrKysr KystLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKaW5kZXggZDNiNDY3NC4uOGVmZmJiYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCkBAIC0zNTAsNyArMzUwLDggQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2dldF9jb25u ZWN0b3Jfc3RhdGUpOwogCiAvKioKICAqIGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lIC0g c2V0IGNydGMgZm9yIHBsYW5lCi0gKiBAcGxhbmVfc3RhdGU6IGF0b21pYyBzdGF0ZSBvYmplY3Qg Zm9yIHRoZSBwbGFuZQorICogQHN0YXRlOiB0aGUgaW5jb21pbmcgYXRvbWljIHN0YXRlCisgKiBA cGxhbmU6IHRoZSBwbGFuZSB3aG9zZSBpbmNvbWluZyBzdGF0ZSB0byB1cGRhdGUKICAqIEBjcnRj OiBjcnRjIHRvIHVzZSBmb3IgdGhlIHBsYW5lCiAgKgogICogQ2hhbmdpbmcgdGhlIGFzc2lnbmVk IGNydGMgZm9yIGEgcGxhbmUgcmVxdWlyZXMgdXMgdG8gZ3JhYiB0aGUgbG9jayBhbmQgc3RhdGUK QEAgLTM2MywyMCArMzY0LDM0IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19nZXRfY29ubmVj dG9yX3N0YXRlKTsKICAqIHNlcXVlbmNlIG11c3QgYmUgcmVzdGFydGVkLiBBbGwgb3RoZXIgZXJy b3JzIGFyZSBmYXRhbC4KICAqLwogaW50Ci1kcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKLQkJCSAgICAgIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKK2RybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiB7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUgPQorCQkJZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsKIAlzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAKLQlpZiAoY3J0YykgeworCS8qIGFjcXVp cmUgb3V0Z29pbmcgY3J0YyBsb2NrLCBhbmQgY2xlYXIgYml0IGluIG91dGdvaW5nIGNydGMgbWFz azogKi8KKwlpZiAocGxhbmVfc3RhdGUtPmNydGMpIHsKIAkJY3J0Y19zdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X2NydGNfc3RhdGUocGxhbmVfc3RhdGUtPnN0YXRlLAotCQkJCQkJICAgICAgIGNydGMp OworCQkJCQkJICAgICAgIHBsYW5lX3N0YXRlLT5jcnRjKTsKIAkJaWYgKElTX0VSUihjcnRjX3N0 YXRlKSkKIAkJCXJldHVybiBQVFJfRVJSKGNydGNfc3RhdGUpOworCisJCWNydGNfc3RhdGUtPnBs YW5lX21hc2sgJj0gfigxIDw8IGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwogCX0KIAogCXBsYW5l X3N0YXRlLT5jcnRjID0gY3J0YzsKIAorCS8qIGFjcXVpcmUgaW5jb21pbmcgY3J0YyBsb2NrLCBh bmQgc2V0IGJpdCBpbiBpbmNvbWluZyBjcnRjIG1hc2s6ICovCisJaWYgKGNydGMpIHsKKwkJY3J0 Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUocGxhbmVfc3RhdGUtPnN0YXRlLAor CQkJCQkJICAgICAgIGNydGMpOworCQlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKQorCQkJcmV0dXJu IFBUUl9FUlIoY3J0Y19zdGF0ZSk7CisJCWNydGNfc3RhdGUtPnBsYW5lX21hc2sgfD0gKDEgPDwg ZHJtX3BsYW5lX2luZGV4KHBsYW5lKSk7CisJfQorCiAJaWYgKGNydGMpCiAJCURSTV9ERUJVR19L TVMoIkxpbmsgcGxhbmUgc3RhdGUgJXAgdG8gW0NSVEM6JWRdXG4iLAogCQkJICAgICAgcGxhbmVf c3RhdGUsIGNydGMtPmJhc2UuaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRl eCBhMTdiOGU5Li5kNzY1ZDM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpAQCAt MTE4Nyw3ICsxMTg3LDcgQEAgcmV0cnk6CiAJCWdvdG8gZmFpbDsKIAl9CiAKLQlyZXQgPSBkcm1f YXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShwbGFuZV9zdGF0ZSwgY3J0Yyk7CisJcmV0ID0gZHJt X2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUoc3RhdGUsIHBsYW5lLCBjcnRjKTsKIAlpZiAocmV0 ICE9IDApCiAJCWdvdG8gZmFpbDsKIAlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVf c3RhdGUsIGZiKTsKQEAgLTEyNTUsNyArMTI1NSw3IEBAIHJldHJ5OgogCQlnb3RvIGZhaWw7CiAJ fQogCi0JcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocGxhbmVfc3RhdGUsIE5V TEwpOworCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0YXRlLCBwbGFuZSwg TlVMTCk7CiAJaWYgKHJldCAhPSAwKQogCQlnb3RvIGZhaWw7CiAJZHJtX2F0b21pY19zZXRfZmJf Zm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBOVUxMKTsKQEAgLTE0MjYsNyArMTQyNiw3IEBAIHJldHJ5 OgogCQlnb3RvIGZhaWw7CiAJfQogCi0JcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxh bmUocHJpbWFyeV9zdGF0ZSwgY3J0Yyk7CisJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3Jf cGxhbmUoc3RhdGUsIGNydGMtPnByaW1hcnksIGNydGMpOwogCWlmIChyZXQgIT0gMCkKIAkJZ290 byBmYWlsOwogCWRybV9hdG9taWNfc2V0X2ZiX2Zvcl9wbGFuZShwcmltYXJ5X3N0YXRlLCBzZXQt PmZiKTsKQEAgLTE2OTgsNyArMTY5OCw3IEBAIHJldHJ5OgogCQlnb3RvIGZhaWw7CiAJfQogCi0J cmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocGxhbmVfc3RhdGUsIGNydGMpOwor CXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0YXRlLCBwbGFuZSwgY3J0Yyk7 CiAJaWYgKHJldCAhPSAwKQogCQlnb3RvIGZhaWw7CiAJZHJtX2F0b21pY19zZXRfZmJfZm9yX3Bs YW5lKHBsYW5lX3N0YXRlLCBmYik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWlj LmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKaW5kZXggOWQ5MTkxNi4uNmZmODc3NSAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9h dG9taWMuaApAQCAtNDQsOCArNDQsOCBAQCBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJICAgICAgIHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpOwogCiBpbnQgX19tdXN0X2NoZWNrCi1kcm1fYXRvbWljX3NldF9j cnRjX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKLQkJCSAg ICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Citkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFu ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkgICAgICBzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIHZvaWQgZHJtX2F0b21pY19zZXRf ZmJfZm9yX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAogCQkJCSBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7CiBpbnQgX19tdXN0X2NoZWNrCmRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAppbmRleCBi NDU5ZThmLi40Y2Y2OTA1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCisrKyBi L2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTIzMSw2ICsyMzEsNyBAQCBzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZTsKICAqIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAtIG11dGFibGUgQ1JUQyBzdGF0 ZQogICogQGVuYWJsZTogd2hldGhlciB0aGUgQ1JUQyBzaG91bGQgYmUgZW5hYmxlZCwgZ2F0ZXMg YWxsIG90aGVyIHN0YXRlCiAgKiBAbW9kZV9jaGFuZ2VkOiBmb3IgdXNlIGJ5IGhlbHBlcnMgYW5k IGRyaXZlcnMgd2hlbiBjb21wdXRpbmcgc3RhdGUgdXBkYXRlcworICogQHBsYW5lX21hc2s6IGJp dG1hc2sgb2YgKDEgPDwgZHJtX3BsYW5lX2luZGV4KHBsYW5lKSkgb2YgYXR0YWNoZWQgcGxhbmVz CiAgKiBAbGFzdF92YmxhbmtfY291bnQ6IGZvciBoZWxwZXJzIGFuZCBkcml2ZXJzIHRvIGNhcHR1 cmUgdGhlIHZibGFuayBvZiB0aGUKICAqIAl1cGRhdGUgdG8gZW5zdXJlIGZyYW1lYnVmZmVyIGNs ZWFudXAgaXNuJ3QgZG9uZSB0b28gZWFybHkKICAqIEBwbGFuZXNfY2hhbmdlZDogZm9yIHVzZSBi eSBoZWxwZXJzIGFuZCBkcml2ZXJzIHdoZW4gY29tcHV0aW5nIHN0YXRlIHVwZGF0ZXMKQEAgLTI0 Nyw2ICsyNDgsMTMgQEAgc3RydWN0IGRybV9jcnRjX3N0YXRlIHsKIAlib29sIHBsYW5lc19jaGFu Z2VkIDogMTsKIAlib29sIG1vZGVfY2hhbmdlZCA6IDE7CiAKKwkvKiBhdHRhY2hlZCBwbGFuZXMg Yml0bWFzazoKKwkgKiBXQVJOSU5HOiB0cmFuc2l0aW9uYWwgaGVscGVycyBkbyBub3QgbWFpbnRh aW4gcGxhbmVfbWFzayBzbworCSAqIGRyaXZlcnMgbm90IGNvbnZlcnRlZCBvdmVyIHRvIGF0b21p YyBoZWxwZXJzIHNob3VsZCBub3QgcmVseQorCSAqIG9uIHBsYW5lX21hc2sgYmVpbmcgYWNjdXJh dGUhCisJICovCisJdTMyIHBsYW5lX21hc2s7CisKIAkvKiBsYXN0X3ZibGFua19jb3VudDogZm9y IHZibGFuayB3YWl0cyBiZWZvcmUgY2xlYW51cCAqLwogCXUzMiBsYXN0X3ZibGFua19jb3VudDsK IApAQCAtNDM4LDcgKzQ0Niw3IEBAIHN0cnVjdCBkcm1fY3J0YyB7CiAgKiBAc3RhdGU6IGJhY2tw b2ludGVyIHRvIGdsb2JhbCBkcm1fYXRvbWljX3N0YXRlCiAgKi8KIHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlIHsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJc3RydWN0IGRybV9jcnRjICpj cnRjOyAgLyogZG8gbm90IHdyaXRlIGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19zZXRfY3J0Y19m b3JfY29ubmVjdG9yKCkgKi8KIAogCXN0cnVjdCBkcm1fZW5jb2RlciAqYmVzdF9lbmNvZGVyOwog CkBAIC02NzMsOCArNjgxLDggQEAgc3RydWN0IGRybV9jb25uZWN0b3IgewogICogQHN0YXRlOiBi YWNrcG9pbnRlciB0byBnbG9iYWwgZHJtX2F0b21pY19zdGF0ZQogICovCiBzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlIHsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmI7CisJc3RydWN0IGRybV9jcnRjICpjcnRjOyAgIC8qIGRvIG5vdCB3cml0ZSBkaXJl Y3RseSwgdXNlIGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKCkgKi8KKwlzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYjsgIC8qIGRvIG5vdCB3cml0ZSBkaXJlY3RseSwgdXNlIGRybV9hdG9t aWNfc2V0X2ZiX2Zvcl9wbGFuZSgpICovCiAJc3RydWN0IGZlbmNlICpmZW5jZTsKIAogCS8qIFNp Z25lZCBkZXN0IGxvY2F0aW9uIGFsbG93cyBpdCB0byBiZSBwYXJ0aWFsbHkgb2ZmIHNjcmVlbiAq LwotLSAKMS45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==